중간자 공격(MITM)이란?

내가 서버와 직접 대화한다고 믿는 사이, 누군가 몰래 끼어들 수 있습니다.

🕵️

중간자 공격(MITM)이란

통신하는 두 사람이 서로 직접 대화한다고 믿는 사이, 공격자가 몰래 그 사이에 끼어들어 내용을 엿보거나 조작하는 공격 방식입니다.

MITM(Man-in-the-Middle) 공격은 클라이언트와 서버 사이의 통신 경로 어딘가에 공격자가 자리를 잡고, 양쪽 모두는 상대방과 직접 통신하고 있다고 착각하게 만드는 방식입니다. 공격자는 오가는 데이터를 그대로 엿볼 수도 있고, 원한다면 내용을 슬쩍 바꿔서 전달할 수도 있어 도청과 위·변조가 동시에 가능한 위험한 공격 형태로 꼽힙니다.

🔀

ARP 스푸핑

같은 내부 네트워크 안에서 공격자가 자신의 MAC 주소를 게이트웨이나 다른 기기의 것인 양 속여, 트래픽이 자신을 거쳐 가도록 유도하는 방식입니다.

ARP(주소 결정 프로토콜)는 원래 IP 주소를 MAC 주소로 바꿔주는 역할을 하는데, 별다른 인증 절차 없이 응답을 그대로 신뢰하는 특성이 있습니다. 공격자는 이 점을 악용해 위조된 ARP 응답을 뿌려 자신을 게이트웨이인 것처럼 속이고, 다른 기기들이 인터넷으로 나가는 트래픽을 자신을 거쳐 흐르게 만들 수 있습니다. 자세한 원리는 별도의 ARP 프로토콜 가이드에서 다루고 있습니다.

📶

가짜 와이파이(로그 AP·에빌 트윈)

카페나 공항의 정상 와이파이 이름과 똑같거나 비슷한 가짜 무선 공유기를 만들어두고, 여기에 접속한 사용자의 트래픽을 공격자가 직접 들여다보는 방식입니다.

공격자가 "Airport_Free_WiFi" 같은 익숙한 이름의 개방형 와이파이를 자신의 장비로 직접 만들어두면, 사람들은 진짜 공식 와이파이인 줄 알고 별다른 의심 없이 접속하게 됩니다. 일단 접속하고 나면 그 순간부터 오가는 모든 트래픽이 공격자의 장비를 거쳐가게 되므로, 암호화되지 않은 통신은 그대로 노출될 위험이 큽니다.

🧭

DNS 스푸핑

도메인 이름을 실제와 다른 IP 주소로 응답하도록 속여, 사용자가 정상 주소를 입력했는데도 공격자가 만든 가짜 사이트로 연결되게 만드는 방식입니다.

사용자가 브라우저에 정확한 사이트 주소를 입력하더라도, 그 주소를 IP로 바꿔주는 DNS 응답 자체가 위조되어 있다면 전혀 다른(공격자가 준비한) 서버로 연결될 수 있습니다. 이렇게 연결된 가짜 사이트가 로그인 화면 등을 진짜처럼 흉내 내고 있으면 사용자는 눈치채지 못한 채 계정 정보를 그대로 입력하게 될 위험이 있습니다.

📉

SSL 스트리핑

원래는 HTTPS로 연결되어야 할 통신을 공격자가 중간에서 암호화되지 않은 HTTP로 몰래 바꿔치기해, 사용자 모르게 평문 통신을 하게 만드는 방식입니다.

많은 웹사이트가 처음에는 HTTP로 접속을 시작한 뒤 HTTPS로 자동 전환되는 흐름을 갖고 있는데, 공격자는 이 전환 순간을 노려 사용자에게는 계속 HTTP로만 응답하고 자신은 실제 서버와 HTTPS로 통신하는 식으로 중간에서 암호화를 벗겨낼 수 있습니다. 이런 공격을 막기 위해 만들어진 것이 브라우저에게 "이 사이트는 항상 HTTPS로만 접속하라"고 미리 알려주는 HSTS(HTTP 엄격 전송 보안) 정책입니다.

🛡️

중간자 공격 방어 방법

브라우저의 인증서 경고를 절대 무시하지 않고, 공용 와이파이에서는 VPN을 사용하며, 공유기 암호화를 최신 방식(WPA2·WPA3)으로 유지하는 것이 기본적인 방어책입니다.

주소창의 자물쇠 표시나 인증서 오류 경고는 연결 대상이 맞는지를 알려주는 중요한 신호이므로 절대 그냥 넘기지 않는 습관이 중요합니다. 신뢰할 수 없는 공용 와이파이를 이용할 때는 VPN으로 트래픽 전체를 암호화하는 것이 안전하고, 집이나 회사 공유기는 오래된 암호화 방식 대신 WPA2 이상, 가능하다면 WPA3를 사용하는 것이 좋습니다. 계정에 2단계 인증까지 함께 설정해두면 설령 로그인 정보가 노출되더라도 피해를 한 단계 더 막을 수 있습니다.

공용 와이파이가 특히 위험한 이유

카페나 공항 같은 공용 와이파이에서 주의해야 할 점을 더 자세히 알고 싶다면 공용 와이파이 안전하게 이용하는 방법도 확인해보세요.

ARP 스푸핑의 원리가 궁금하다면

내부 네트워크에서 벌어지는 ARP 스푸핑의 동작 원리를 더 자세히 알고 싶다면 ARP(주소 결정 프로토콜)란?도 참고해보세요.

자주 묻는 질문

HTTPS로 접속하면 무조건 안전한가요?

HTTPS는 브라우저와 실제로 접속한 서버 사이의 통신 구간을 암호화해줍니다. 다만 사용자가 피싱 등으로 공격자가 준비한 가짜 사이트에 접속하게 된 경우라면, 그 가짜 사이트 자체가 정상적인 인증서를 갖추고 있을 수도 있으므로 HTTPS 여부와 별개로 주소창의 도메인 이름을 꼼꼼히 확인하는 습관도 함께 필요합니다.

공용 와이파이에서 중간자 공격 위험이 왜 더 큰가요?

불특정 다수가 같은 개방형 네트워크를 공유하기 때문에, 같은 네트워크 안의 누군가가 트래픽을 가로채거나 가짜 접속점을 만들어 끼어들기가 상대적으로 더 쉬운 환경이기 때문입니다.