비밀번호 암호화를 공부하면서 암호화 알고리즘을 공부하게 되고,, 점점 파다가 알아본 해킹 방식들에 대해 정리하고자 한다.
Brute-force 공격이란?
Brute-force 뜻 = 무작정 "힘으로 밀어붙이는 방식"
모든 가능한 비밀번호 조합을 하나하나 대입해서 맞힐 때까지 시도하는 공격을 의미한다.
→ BCrypt는 해당 공격에 강하다. 왜냐하면 암호화 속도가 느리게 설계되었기 때문이다.
Brute-force 공격은 모든 조합을 하나하나 대입해서 맞힐 때까지 시도해야 하기 때문에 빠르게 여러 값을 대입하여 해킹을 시도한다. 그러나 BCrypt의 암호화 속도가 느리기 때문에 해커가 수천 번 시도하는 것이 시간/비용 증가로 인해 현실적으로 힘들다.
즉, 연산을 일부러 느리게 만들어 공격 비용을 현실적으로 어렵게 만드는 것이다.
그 외 알아본 해킹 방식
1. 피싱 (Phishing)
: 가짜 페이지나 가짜 이메일/메시지를 통해 사용자의 개인정보(아이디, 비밀번호)를 속여서 탈취하는 공격방식을 뜻함.
예를 들면, "비밀번호 재설정이 필요합니다"와 같이 링크를 클릭하게끔 유도하여 가짜 로그인 페이지로 이동을 시킨 후 사용자가 입력을 하면 그 값을 탈취하는 방식이다.
방지하기 위해서는 공식 도메인을 반드시 확인하고, 알 수 없는 링크를 클릭하는 일을 자제하고, 2차 인증을 사용하는 것이 좋다.
2. 스니핑 (Sniffing) 공격
: 네트워크 상의 데이터 패킷을 가로채서 로그인 정보, 카드 정보 등을 훔쳐보는 행위이다. 즉, 도청 행위라고 할 수 있다.
예를 들어, 공공 와이파이를 사용하면서 로그인을 했을 때, ID/ PW 정보가 암호화되지 않고 전송되면 해커가 중간에서 도청하여 정보를 훔쳐볼 수 있다.
방지하기 위해서는 VPN 사용, 공공 와이파이 사용 자제 등이 있다.
3. IP Snoofing
: 자신의 IP 주소를 신뢰받는 사용자처럼 위조해서 시스템에 접근하거나 공격하는 방식. 즉, 출처를 속인다.
예를 들어, 방화벽이나 서버가 특정 IP만 허용한다고하면, 허용된 IP마냥 위조해서 접근을 시도한다.
방지하기 위해서는 IP 기반 인증에만 의존하지 않고, 방화벽에 비정상적인 트래픽 탐지 로직을 추가하도록 한다.
4. CSRF (Cross-Site Request Forgery)
: 로그인된 사용자의 브라우저를 이용하여 사용자 몰래 악의적인 요청을 보내는 공격
예를 들어, 사용자가 은행에 로그인 되어있는 상태인데, 해당 상태에서 악성 페이지를 접속한 후, 실제로 이체를 진행하는 경우다. 즉, 사용자의 인증을 몰래 사용하는 행위를 뜻함.
방지하기 위해서는 CSRF 토큰을 사용하는 방식이 있다.
(스프링 시큐리티에 CSRF 뭐 설정이 있었던 거 같은데 기억이 잘 나지 않는다..)
'IT > CS' 카테고리의 다른 글
[CS지식] 인터넷과 네트워크 (0) | 2025.05.21 |
---|---|
[CS지식] OS(운영체제) (0) | 2025.05.20 |