이 문서의 과거 버전 (r1)을 보고 있습니다. 수정일: 2026.02.14 23:11
MITM은 중간자 공격이라고도 불리는 네트워크 공격 기법이다. 이 공격은 두 당사자 간의 통신을 공격자가 중간에서 가로채거나 조작하는 것을 의미한다. 공격자는 자신이 합법적인 통신 상대인 것처럼 위장하여 양측의 모든 데이터 흐름을 관찰하거나 변조할 수 있다. 이 공격의 핵심 목표는 기밀성, 무결성, 가용성이라는 정보 보안의 기본 요소를 침해하는 것이다.
이 공격은 암호화되지 않은 통신이나 암호화가 제대로 적용되지 않은 통신에서 특히 효과적이다. 공격자는 패킷 스니핑 도구를 사용하여 네트워크 트래픽을 수동적으로 감청하는 패시브 스니핑과 달리, 능동적으로 통신 경로에 개입한다. 이를 통해 사용자의 로그인 자격 증명, 금융 정보, 개인 메시지 등 민감한 데이터를 탈취할 수 있다.
이 공격은 공용 Wi-Fi 네트워크, 보안이 취약한 기업 내부망, 또는 악성 소프트웨어가 설치된 개인 장치 등 다양한 환경에서 발생할 수 있다. 따라서 엔드투엔드 암호화와 같은 강력한 보안 프로토콜의 사용이 방어의 핵심이 된다.
ARP 스푸핑은 로컬 영역 네트워크에서 가장 흔한 MITM 공격 기법 중 하나이다. 이 공격은 공격자가 네트워크 상의 다른 장치에게 거짓된 ARP 응답 패킷을 지속적으로 전송하여, 특정 IP 주소에 대한 MAC 주소가 공격자의 장치라고 속이는 방식으로 이루어진다. 결과적으로 공격 대상 장치(예: 사용자 컴퓨터)는 게이트웨이(예: 라우터)로 가야 할 트래픽을 공격자에게 보내게 되고, 공격자는 이 트래픽을 훔쳐본 후 다시 게이트웨이로 전달한다. 이 과정에서 사용자는 자신의 통신이 중간에서 가로채어지고 있음을 인지하지 못한다.
DNS 스푸핑은 사용자가 웹사이트에 접속하려 할 때, 정상적인 도메인 이름 시스템 응답 대신 공격자가 조작한 응답을 보내는 공격이다. 공격자는 피해자가 요청한 도메인 이름(예: www.example.com)에 대한 IP 주소를 공격자가 통제하는 서버의 주소로 바꿔쳐 응답한다. 사용자의 브라우저는 조작된 응답을 신뢰하고, 의도한 사이트 대신 공격자의 가짜 사이트로 연결된다. 이 가짜 사이트는 원본과 똑같이 보이도록 만들어져 사용자의 로그인 정보나 개인 데이터를 입력하도록 유도한다.
SSL/TLS 스트립핑은 하이퍼텍스트 전송 프로토콜 보안 연결을 의도적으로 비보안 연결로 강등시키는 공격이다. 공격자는 사용자와 서버 사이에 위치하여, 사용자가 https://로 시작하는 보안 사이트에 접속하려 할 때, 서버와는 정상적인 TLS 연결을 수립한 반면 사용자에게는 http:// 연결을 제공한다. 이렇게 되면 사용자와 공격자 사이의 통신은 암호화되지 않아 공격자가 모든 데이터를 평문으로 읽을 수 있게 된다. 사용자의 브라우저 주소창에는 보안 접속 표시(자물쇠 아이콘)가 나타나지 않지만, 많은 사용자가 이를 주의 깊게 확인하지 않아 공격에 노출된다.
이 세 가지 주요 유형 외에도, 공공 Wi-Fi 핫스팟을 사칭하거나, 라우터의 펌웨어를 변조하는 등 다양한 변형된 MITM 공격 기법이 존재한다. 모든 기법의 공통된 목표는 통신 경로 상에 침투하여 트래픽을 가로채거나 조작하는 것이다.
ARP 스푸핑은 MITM 공격을 수행하기 위해 가장 일반적으로 사용되는 기법 중 하나이다. 이 공격은 ARP 프로토콜의 신뢰 기반 구조적 취약점을 악용하여, 공격자가 자신의 MAC 주소를 피해자나 게이트웨이의 IP 주소에 연결된 것처럼 속이는 과정을 포함한다.
공격 과정은 일반적으로 두 단계로 이루어진다. 먼저, 공격자는 네트워크 내에서 정상적인 ARP 요청과 ARP 응답 패킷을 모니터링한다. 그 후, 공격자는 피해자 호스트에게는 게이트웨이의 IP 주소에 해당하는 MAC 주소가 자신의 주소라고 속이는 위조된 ARP 응답 패킷을 지속적으로 전송한다. 동시에 게이트웨이에게는 피해자 호스트의 IP 주소에 해당하는 MAC 주소 역시 자신의 주소라고 알린다. 이로 인해 네트워크 장비의 ARP 캐시 테이블이 악의적으로 갱신되고, 피해자와 게이트웨이 사이의 모든 트래픽이 공격자의 시스템을 통과하게 된다.
단계 | 설명 | 결과 |
|---|---|---|
1. 탐지 | 공격 대상 정보 수집 | |
2. 스푸핑 | 피해자에게는 게이트웨이의 MAC 주소를, 게이트웨이에게는 피해자의 MAC 주소를 공격자의 주소로 속이는 위조 ARP 응답을 전송한다. | ARP 캐시 테이블 오염 |
3. 릴레이 | 오염된 ARP 캐시로 인해 피해자의 트래픽이 공격자를 경유하여 게이트웨이로 향한다. 공격자는 트래픽을 스니핑하거나 변조한 후 목적지로 전달한다. | MITM 공격 성립 |
이 공격의 성공 여부는 네트워크가 스위치로 구성된 환경에서 특히 중요하다. 허브 기반 네트워크에서는 모든 트래픽이 브로드캐스트되지만, 스위치는 MAC 주소 기반으로 트래픽을 포워딩하기 때문에 ARP 스푸핑 없이는 특정 호스트 간 트래픽을 가로채기 어렵다. 따라서 이 공격은 스위치 환경에서 패시브 스니핑을 가능하게 하는 핵심 메커니즘이 된다.
DNS 스푸핑은 MITM 공격의 한 유형으로, 공격자가 DNS 질의에 대한 응답을 위조하여 사용자를 악의적인 웹사이트로 유도하는 기법이다. 이 공격은 사용자가 정상적인 도메인 이름을 입력했음에도 불구하고, 공격자가 조작한 IP 주소로 연결되게 만든다. 결과적으로 사용자는 자신이 접속하려던 합법적인 사이트 대신, 공격자가 운영하는 가짜 사이트에 접속하게 된다. 이 가짜 사이트는 외관상 원본과 매우 유사하게 제작되어 사용자로부터 로그인 정보, 금융 정보 등 민감한 데이터를 탈취하는 데 사용된다.
공격 원리는 일반적으로 두 가지 방식으로 이루어진다. 첫째는 공격자가 DNS 서버 자체를 해킹하거나 조작하여 해당 서버의 캐시에 위조된 레코드를 주입하는 DNS 캐시 포이즈닝이다. 이 경우 해당 서버를 사용하는 모든 사용자가 영향을 받는다. 둘째는 공격자가 사용자의 컴퓨터와 DNS 서버 사이의 네트워크 트래픽을 감청하고, 사용자가 보낸 DNS 질의 패킷에 가장 먼저 위조된 응답 패킷을 보내는 방식이다. 이 방법은 ARP 스푸핑과 같은 기법을 통해 로컬 네트워크에서의 트래픽을 조작한 상태에서 실행되는 경우가 많다.
공격 유형 | 설명 | 주요 영향 범위 |
|---|---|---|
DNS 서버의 캐시를 오염시켜 위조 정보를 저장 | 해당 서버를 사용하는 모든 클라이언트 | |
로컬 네트워크 기반 스푸핑 | 사용자와 서버 간 DNS 질의/응답 패킷을 가로채 위조 응답 전송 | 공격자가 접근 가능한 로컬 네트워크 내 클라이언트 |
이러한 공격을 방어하기 위한 주요 기법으로는 DNSSEC이 있다. DNSSEC은 DNS 응답에 디지털 서명을 추가하여 응답의 진위와 무결성을 검증할 수 있게 한다. 또한, 사용자 측에서는 신뢰할 수 없는 공용 Wi-Fi 네트워크 사용을 자제하고, 중요한 서비스 접속 시 VPN을 활용하여 모든 트래픽을 암호화하는 것이 효과적이다. 웹사이트 운영자 측면에서는 HSTS 정책을 적용하여 브라우저가 항상 HTTPS 연결을 강제하도록 유도함으로써 SSL/TLS 스트립핑과 결합된 DNS 스푸핑 공격의 위험을 줄일 수 있다.
SSL/TLS 스트립핑은 MITM 공격자가 암호화된 HTTPS 연결을 비암호화 HTTP 연결로 다운그레이드하여 사용자와 서버 간 통신을 가로채는 기법이다. 이 공격은 사용자가 암호화된 채널을 통해 안전하게 통신한다고 믿게 만들지만, 실제로는 모든 데이터가 공격자를 통해 평문으로 전송된다.
공격 과정은 일반적으로 다음과 같다. 공격자는 먼저 ARP 스푸핑이나 DNS 스푸핑과 같은 방법으로 자신을 게이트웨이로 위장하여 트래픽을 중간에 가로챈다. 이후 사용자가 HTTPS를 사용하는 웹사이트(예: https://example.com)에 접속하려고 하면, 공격자는 서버와는 정상적인 SSL/TLS 연결을 수립한 반면, 사용자에게는 같은 사이트의 HTTP 버전(http://example.com)으로 연결을 유도한다. 이 과정에서 브라우저 주소창의 자물쇠 아이콘이 사라지거나 보안 경고가 나타날 수 있으나, 사용자가 이를 무시하고 진행하면 모든 통신이 공격자에게 노출된다.
단계 | 사용자 측 | 공격자(중간자) 측 | 서버 측 |
|---|---|---|---|
1 |
| 요청 가로챔 | - |
2 |
| 서버와 정상 | 공격자와 |
3 | 평문(HTTP)으로 데이터 전송 | 평문 데이터 확인 및 저장 후, 서버로는 암호화하여 전송 | 암호화된 데이터 수신 |
이 공격을 방어하기 위한 주요 방법은 HSTS를 사용하는 것이다. HSTS는 웹사이트가 브라우저에게 일정 기간 동안 반드시 HTTPS를 통해만 접속해야 함을 알리는 보안 정책이다. 이 정책이 활성화된 사이트에서는 브라우저가 자동으로 모든 HTTP 연결을 HTTPS로 강제 업그레이드하며, 인증서 오류 시에는 접속을 차단하므로 스트립핑 공격을 효과적으로 차단할 수 있다. 또한 사용자는 브라우저의 주소창을 확인하여 항상 자물쇠 아이콘과 https://가 표시되는지 확인해야 한다.
MITM 공격을 수행하기 위해 사용되는 주요 도구와 방법은 공격자가 네트워크 트래픽을 가로채고 조작하는 방식에 따라 다양하다. 일반적으로 패킷 스니핑 도구와 세션 하이재킹 기술이 핵심을 이룬다.
패킷 스니핑 도구는 네트워크를 흐르는 데이터 패킷을 수동적으로 감청하거나 능동적으로 변조하는 데 사용된다. 대표적인 도구로는 Wireshark, tcpdump, Ettercap, Cain & Abel 등이 있다. Wireshark는 그래픽 사용자 인터페이스를 제공하는 강력한 프로토콜 분석기로, 필터링 기능을 통해 특정 트래픽을 캡처하고 검사할 수 있다. Ettercap은 ARP 스푸핑을 자동화하고, DNS 스푸핑 및 SSL/TLS 스트립핑과 같은 고급 MITM 기능을 통합한 다목적 도구이다. 이러한 도구들은 공격자가 평문 통신(예: HTTP, FTP)의 자격 증명이나 중요한 정보를 쉽게 획득할 수 있게 한다.
주요 도구 | 주요 기능 | 공격 유형 연관성 |
|---|---|---|
패킷 캡처 및 프로토콜 분석 | 패시브 스니핑, 트래픽 분석 | |
ARP/DNS 스푸핑, SSL 스트립핑 자동화 | ||
암호 해독, ARP 포이즈닝, VoIP 기록 | ARP 스푸핑, 자격 증명 캡처 |
세션 하이재킹은 공격자가 이미 인증된 사용자와 서버 간의 활성 세션을 탈취하여 자신이 합법적인 사용자인 것처럼 위장하는 방법이다. 이는 주로 TCP/IP 프로토콜의 취약점을 이용한다. 공격자는 먼저 패킷 스니핑을 통해 시퀀스 번호를 예측하거나 훔친 후, 피해자의 연결을 끊고 그 시퀀스 번호로 서버에 패킷을 위조하여 접속을 유지한다. 이 방법을 통해 공격자는 피해자의 권한으로 서버에 접근하여 데이터를 조회하거나 변경할 수 있다. 세션 하이재킹은 웹 애플리케이션의 세션 쿠키를 탈취하는 형태로도 자주 발생한다[1].
패킷 스니핑 도구는 네트워크를 흐르는 데이터 패킷을 캡처하고 분석하는 소프트웨어 또는 하드웨어 장비를 가리킨다. 이 도구들은 네트워크 관리 및 문제 해결을 위한 합법적인 목적으로 개발되었으나, MITM 공격자가 통신 내용을 엿보거나 민감한 정보를 수집하는 데 악용되기도 한다. 공격자는 이러한 도구를 이용해 암호화되지 않은 평문 데이터에서 사용자 ID와 비밀번호, 쿠키, 세션 토큰 등을 추출할 수 있다.
주요 패킷 스니핑 도구로는 Wireshark, tcpdump, Cain & Abel 등이 널리 알려져 있다. Wireshark는 그래픽 사용자 인터페이스를 제공하는 강력한 오픈 소스 분석 도구이며, tcpdump는 주로 명령줄 환경에서 사용되는 기본적인 캡처 도구이다. 이들 도구는 네트워크 인터페이스를 프로미스큐어스 모드로 설정하여 해당 네트워크 세그먼트의 모든 트래픽을 수신할 수 있다.
도구명 | 주요 특징 | 운영 체제 |
|---|---|---|
그래픽 인터페이스, 강력한 필터링 및 프로토콜 분석 기능 | Windows, Linux, macOS 등 | |
명령줄 기반, 경량화, 스크립트와의 연동 용이 | 주로 Unix/Linux 계열 | |
Windows |
이러한 도구의 악용을 방지하기 위해서는 네트워크 트래픽을 전반적으로 암호화하는 것이 필수적이다. HTTP 대신 HTTPS를 사용하고, VPN이나 SSH 터널링을 활용하면 패킷 스니핑을 통한 정보 유출 위험을 크게 낮출 수 있다. 또한, 네트워크 관리자는 정기적인 모니터링을 통해 비정상적인 패킷 캡처 활동을 탐지해야 한다.
세션 하이재킹은 MITM 공격의 한 유형으로, 사용자와 서버 간에 이미 수립된 인증된 세션을 공격자가 탈취하여 자신이 합법적인 사용자인 것처럼 위장하는 공격 기법이다. 이 공격은 주로 TCP 또는 애플리케이션 레벨에서 이루어진다. 공격자는 먼저 패킷 스니핑 등을 통해 네트워크 상의 패킷을 관찰하여, 사용자의 세션 ID나 시퀀스 번호와 같은 세션 식별 정보를 획득한다.
공격 원리는 크게 두 가지로 나뉜다. 첫째는 TCP 세션 하이재킹으로, 공격자가 예측하거나 스니핑을 통해 얻은 TCP 패킷의 시퀀스 및 확인 응답 번호를 위조하여, 합법적인 클라이언트의 연결을 끊고 자신의 연결로 대체하는 방식이다. 둘째는 애플리케이션 레벨 세션 하이재킹으로, 쿠키나 세션 토큰을 탈취하여 웹 애플리케이션에서 사용자의 인증 상태를 가로채는 방식이다. 이는 XSS나 패킷 스니핑을 통해 수행될 수 있다.
주요 공격 도구 및 방법은 다음과 같다.
공격 도구/기법 | 대상 프로토콜/계층 | 주요 특징 |
|---|---|---|
TCP | 활성 TCP 연결을 모니터링하고 하이재킹하는 도구 | |
다중 계층 | ARP 스푸핑을 통한 세션 하이재킹 기능 포함 | |
Firesheep (확장 프로그램) | 애플리케이션 (HTTP) | 무선 네트워크에서 암호화되지 않은 세션 쿠키를 탈취 |
쿠키 재전송 공격 | 애플리케이션 | 탈취한 세션 쿠키를 공격자의 브라우저에 넣어 인증 우회 |
성공적인 세션 하이재킹은 공격자에게 피해자의 권한을 그대로 부여하게 되어, 개인 정보 유출, 불법 금융 거래, 데이터 변조 등 심각한 결과를 초래한다. 특히 세션이 장시간 유지되거나 중요한 작업을 수행하는 환경에서 위험성이 크다. 방어를 위해서는 모든 통신에 SSL/TLS와 같은 강력한 엔드투엔드 암호화를 적용하여 패킷 스니핑을 통한 정보 유출을 방지하고, 세션 타임아웃을 짧게 설정하며, 중요한 세션에는 추가적인 이중 인증을 도입하는 것이 효과적이다.
MITM 공격을 탐지하고 방어하기 위해서는 네트워크 트래픽을 지속적으로 모니터링하고, 통신 채널의 보안을 강화하는 다층적인 접근이 필요하다.
네트워크 모니터링은 이상 징후를 조기에 발견하는 핵심 수단이다. ARP 테이블의 비정상적인 변화나 예상치 못한 게이트웨이 주소를 감시하는 도구를 활용할 수 있다. 또한 네트워크 트래픽을 분석하여 동일한 출발지에서 과도한 ARP 응답이 발생하거나, DNS 응답의 일관성이 깨지는 패턴을 찾아낸다. 일부 보안 솔루션은 통신 지연이나 예상치 못한 인증서 경고를 기반으로 공격 가능성을 탐지하기도 한다.
가장 효과적인 방어 기법은 강력한 암호화를 적용하여 도청 자체를 무력화하는 것이다. HTTPS, SSH, VPN과 같은 프로토콜을 사용하여 엔드투엔드 암호화를 구현하면, 중간에서 패킷을 가로채더라도 내용을 해독할 수 없다. 특히 SSL/TLS 스트립핑 공격을 방지하려면 HSTS를 웹사이트에 적용하여 브라우저가 항상 암호화된 연결을 강제하도록 해야 한다. 사용자 교육도 중요하여, 브라우저의 인증서 경고를 무시하지 말고, 신뢰할 수 없는 네트워크에서는 특히 주의하도록 해야 한다.
공인 인증서의 사용과 검증은 또 다른 중요한 방어층이다. 웹사이트는 신뢰할 수 있는 인증 기관으로부터 발급받은 공인 인증서를 사용해야 한다. 사용자 또는 클라이언트 소프트웨어는 서버로부터 받은 인증서가 유효하고 신뢰할 수 있는 인증 기관에 의해 서명되었는지, 그리고 접속하려는 도메인 이름과 일치하는지 반드시 검증해야 한다. 공개 키 고정 기술을 사용하면, 특정 서버에 대해 미리 알려진 공개 키만을 신뢰하도록 함으로써 위조된 인증서를 통한 공격을 차단할 수 있다.
방어 기법 카테고리 | 주요 방법 | 설명 |
|---|---|---|
모니터링 및 탐지 | ARP 테이블 감시, 트래픽 분석 | |
암호화 강화 | 엔드투엔드 암호화를 통해 도청 가능성을 근본적으로 차단 | |
인증서 관리 | 공인 인증서 사용, 인증서 검증, 공개 키 고정 | 서버 신원을 확인하고 위조 인증서 사용을 방지 |
네트워크 모니터링은 MITM 공격을 탐지하는 핵심적인 수동적 방어 기법이다. 이 기법은 네트워크 트래픽을 지속적으로 관찰하고 분석하여 비정상적인 패턴이나 알려진 공격 시그니처를 찾아내는 것을 목표로 한다. 일반적으로 네트워크 관리 시스템이나 IDS, IPS와 같은 도구를 활용하여 구현된다. 이러한 시스템은 네트워크 상에서 발생하는 ARP 요청 및 응답의 빈도, 예상치 못한 게이트웨이 주소의 출현, 또는 동일한 MAC 주소가 여러 IP 주소와 연관되는 현상 등을 감시한다.
탐지를 위한 주요 지표는 다음과 같다.
탐지 지표 | 설명 |
|---|---|
ARP 캐시 중복 | 동일한 IP 주소에 대해 서로 다른 MAC 주소를 가진 ARP 응답이 네트워크에 존재하는 경우[2] |
비정상적인 트래픽 증가 | 특정 호스트(공격자)를 통과하는 트래픽량이 갑자기 증가하거나 예상 경로를 벗어나는 경우 |
인증서 경고 | |
DNS 응답 불일치 | DNS 쿼리에 대한 응답 IP가 신뢰할 수 있는 DNS 서버의 응답과 다른 경우 |
효과적인 모니터링을 위해서는 네트워크의 정상적인 베이스라인 상태를 먼저 파악하는 것이 중요하다. 이를 통해 미세한 이상 징후도 비교적 쉽게 식별할 수 있다. 또한, 트래픽 암호화가 보편화됨에 따라 암호화되지 않은 메타데이터(예: 패킷 헤더, 통신 상대방, 패킷 크기 및 타이밍)를 분석하는 트래픽 분석 기법의 중요성이 커지고 있다. 네트워크 모니터링은 공격을 실시간으로 차단하기보다는 조기에 발견하여 대응 시간을 확보하고, 사후 조사를 위한 증거를 수집하는 데 주로 기여한다.
암호화 통신을 강화하는 것은 MITM 공격을 방어하는 핵심적인 방법이다. 이는 공격자가 중간에서 데이터를 엿보거나 변조하는 것을 근본적으로 차단하기 위함이다. 가장 효과적인 접근법은 엔드투엔드 암호화를 구현하는 것으로, 통신의 시작점과 끝점에서만 데이터를 암호화하고 복호화하여 중간 노드에서는 내용을 확인할 수 없게 만든다.
HTTPS 프로토콜의 사용은 기본적인 강화 수단이다. 이를 위해서는 서버에 신뢰할 수 있는 공인 인증서를 설치하고, 모든 웹 페이지 리소스가 암호화된 채널을 통해 로드되도록 해야 한다. 또한, HSTS 정책을 설정하여 브라우저가 강제적으로 HTTPS 연결을 사용하도록 유도할 수 있다. 애플리케이션 수준에서는 TLS 1.2 이상의 최신 버전을 사용하고, 안전하지 않은 암호화 알고리즘과 프로토콜은 비활성화하는 것이 중요하다.
강화 기법 | 설명 | 주요 목적 |
|---|---|---|
엔드투엔드 암호화 (E2EE) | 송신자와 수신자만 메시지 내용을 알 수 있도록 암호화[3] | 데이터 기밀성 및 무결성 보장 |
HTTPS 강제 | HTTP 요청을 HTTPS로 자동 전환, HSTS 헤더 사용 | 평문 통신 차단 및 세션 하이재킹 방지 |
특정 서버의 예상되는 인증서 정보를 클라이언트에 미리 저장 | 위조된 인증서를 이용한 MITM 공격 탐지 | |
클라이언트도 서버에 자신의 인증서를 제출하여 신원 확인 | 서버뿐만 아니라 클라이언트 신원도 검증 |
이러한 조치 외에도, VPN이나 IPsec과 같은 네트워크 계층 암호화 기술을 사용하면 공용 네트워크에서의 통신을 보호할 수 있다. 중요한 것은 암호화의 강도뿐만 아니라, 암호화 키의 안전한 관리와 인증 과정의 신뢰성을 함께 확보하는 것이다.
공인 인증서 사용은 MITM 공격을 방어하는 핵심적인 방법 중 하나이다. 이 기법은 통신 상대방의 신원을 신뢰할 수 있는 제3의 기관이 보증함으로써, 공격자가 중간에서 위조된 인증서를 사용하는 것을 방지한다.
웹사이트나 서버가 공인 인증 기관으로부터 발급받은 SSL/TLS 인증서를 사용하면, 사용자의 브라우저나 클라이언트 소프트웨어는 해당 인증서의 유효성을 자동으로 검증한다. 검증 과정에는 인증서의 서명 체인이 신뢰할 수 있는 루트 인증 기관까지 연결되는지, 인증서의 도메인 이름이 접속하려는 사이트와 일치하는지, 그리고 인증서가 유효 기간 내에 있는지 확인하는 것이 포함된다. 만약 검증에 실패하면 브라우저는 사용자에게 보안 경고를 표시한다.
인증서 유형 | 발급 주체 | 주요 특징 | MITM 공격 대응력 |
|---|---|---|---|
공인 인증서 | 제3의 신뢰 기관이 검증 및 서명. 대부분의 클라이언트에 신뢰 루트로 등록됨. | 높음. 공격자가 동일한 기관의 유효한 인증서를 위조하기 매우 어려움. | |
자체 서명 인증서 | 서버 자체 | 서버 관리자가 직접 생성하고 서명. 외부 기관의 검증 없음. | 낮음. 사용자에게 보안 경고가 발생하며, 공격자가 비슷한 자체 서명 인증서로 쉽게 대체 가능. |
따라서 모든 공개 서비스, 특히 로그인이나 결제가 이루어지는 웹사이트는 반드시 공인 인증서를 사용해야 한다. 또한, HSTS 같은 보안 정책을 적용하면 브라우저가 암호화되지 않은 연결을 강제로 차단하거나 공인 인증서 검증을 우회할 수 없도록 만들어, SSL/TLS 스트립핑 공격을 추가로 방어할 수 있다.
MITM 공격은 오랜 역사를 가진 네트워크 공격 기법으로, 금융 거래, 기업 기밀, 개인 정보 등 다양한 분야에서 실제 피해 사례가 보고되었다. 초기에는 유선 LAN 환경에서 ARP 스푸핑을 통한 내부 네트워크 감청이 흔했으며, 이후 공공 Wi-Fi 핫스팟을 악용한 공격이 빈번해졌다. 한 유명한 사례로, 2011년 DigiNotar라는 네덜란드 인증 기관에 대한 해킹으로 인해, Google, Facebook, Skype 등 주요 사이트를 대상으로 한 대규모 SSL/TLS 스트립핑 공격이 발생했다[4]. 이 사건은 공인 인증서 체계의 취약점을 드러내며 전 세계적인 보안 경각심을 불러일으켰다.
금융 분야에서는 온라인 뱅킹을 노린 MITM 공격이 지속적으로 발견된다. 공격자는 가짜 은행 웹사이트를 구성하거나, 합법적인 뱅킹 앱과 유사한 멀웨어를 배포하여 사용자의 로그인 자격 증명과 OTP를 훔치는 방식을 사용한다. 모바일 환경에서는 앱과 서버 간의 통신을 가로채는 공격도 발생한다. 이러한 공격의 직접적인 영향은 금전적 손실이지만, 더 큰 문제는 피해 기관에 대한 신뢰도 하락과 브랜드 이미지 훼손으로 이어진다는 점이다.
연도 | 주요 사례/도구 | 영향 및 특징 |
|---|---|---|
1990년대 후반 | 내부 네트워크에서의 패킷 가로채기와 세션 하이재킹이 실증적으로 보여짐. | |
2011 | DigiNotar 인증서 해킹 | 수백 개의 위조 SSL 인증서 발급, 주요 웹사이트 신뢰도 위기 초래. |
2010년대 중반 | 공공 Wi-Fi를 이용한 SSL 스트립핑 | 카페, 공항 등에서 사용자의 HTTPS 연결을 HTTP로 강제 다운그레이드. |
2017 | KRACK (Key Reinstallation Attack) | WPA2 프로토콜 취약점을 이용한 Wi-Fi 통신 탈취 가능성 증명. |
최근에는 IoT 기기와 스마트 홈 장치가 새로운 표적이 되고 있다. 보안이 취약한 장치들은 제조업체의 업데이트 서버와의 통신 경로에서 MITM 공격에 노출되어, 악성 펌웨어로 교체되거나 제어권을 상실할 위험이 있다. 이러한 공격의 영향은 단순한 정보 유출을 넘어, 물리적 안전을 위협할 수 있는 수준까지 확대되었다. 실제 사례들은 기술적 취약점뿐만 아니라, 사용자의 보안 인식 부재와 같은 인간적 요소가 결합될 때 피해 규모가 커진다는 점을 반복적으로 입증해왔다.
대부분의 국가에서 MITM 공격은 허가 없이 타인의 통신을 가로채거나 변조하는 행위로, 사생활 침해, 전기통신사업법 위반, 컴퓨터사기 등 여러 법률에 저촉될 수 있다. 특히 금융 정보나 개인 건강 정보와 같은 민감한 데이터를 대상으로 할 경우 처벌이 가중된다. 합법적인 네트워크 보안 평가나 침투 테스트를 위해서는 사전에 명시적인 서면 동의를 얻는 것이 필수적이다.
윤리적 측면에서 MITM은 사용자에 대한 신뢰를 근본적으로 훼손한다. 공격자는 피해자와의 통신 채널을 가장하여 정보를 빼내거나 악성 코드를 유포할 수 있다. 이는 단순한 기술적 침해를 넘어 사기 행위에 해당한다. 보안 연구 목적이라도 공개되지 않은 취약점을 악용하거나, 테스트 범위를 넘어선 정보를 수집하는 것은 책임 있는 공개 원칙에 반한다.
법적 테두리 내에서의 합법적 사용은 주로 기업 내부 보안 감사나 사법 당국의 수사 과정에서 제한적으로 이루어진다. 그러나 이러한 경우에도 적용 대상, 기간, 수집 정보의 범위에 대한 엄격한 규정이 있으며, 남용 시 심각한 법적 책임을 질 수 있다. 따라서 네트워크 보안 전문가는 기술적 실행 가능성보다 법적 허용 범위와 윤리적 책임을 우선적으로 고려해야 한다.
패시브 스니핑은 MITM 공격과 유사하게 네트워크 트래픽을 관찰하는 행위이지만, 본질적인 차이가 존재합니다. 패시브 스니핑은 트래픽을 단순히 도청만 할 뿐, 중간에서 데이터를 가로채거나 변조하지 않습니다. 따라서 공격자가 통신 경로에 자신을 끼워 넣는 능동적인 행위가 없으며, 네트워크 트래픽의 흐름을 변경시키지 않습니다. 이는 네트워크 분석이나 모니터링 목적으로도 사용될 수 있지만, 암호화되지 않은 통신을 도청하는 데 악용될 수 있습니다.
엔드투엔드 암호화는 MITM 공격을 방어하는 가장 핵심적인 기술 중 하나입니다. 이 방식에서는 통신을 시작하는 최종 사용자와 받는 최종 사용자만이 메시지를 암호화하고 복호화할 수 있는 키를 소유합니다. 중간에 위치한 서버나 네트워크 노드조차도 평문 데이터에 접근할 수 없습니다. SSL/TLS와 같은 프로토콜은 엔드투엔드 암호화를 구현하여, 비록 통신 경로상에 공격자가 존재하더라도 가로챈 데이터를 해독할 수 없도록 합니다.
이와 관련된 몇 가지 주요 개념은 다음과 같습니다.
개념 | 설명 | MITM 공격과의 관계 |
|---|---|---|
공격자가 합법적인 데이터 스트림에 악성 패킷을 주입하는 공격 기법입니다. | MITM 공격자가 통신을 변조하는 구체적인 방법 중 하나로 활용될 수 있습니다. | |
디지털 인증서를 발급하고 관리하는 체계입니다. | 웹사이트의 신원을 확인하여 SSL/TLS 스트립핑과 같은 공격을 탐지하는 데 기반이 됩니다. | |
클라이언트가 특정 서버에 대해 예상되는 인증서나 공개 키를 미리 알고 있는 보안 기법입니다. | 합법적인 인증서를 도용한 MITM 공격을 방어할 수 있습니다. | |
두 개 이상의 독립적인 인증 요소를 요구하는 방식입니다. | 세션 하이재킹 성공 후 발생할 수 있는 계정 탈취를 방지하는 데 도움이 됩니다. |
패시브 스니핑은 네트워크 트래픽을 도청하는 행위이지만, 데이터 흐름에 직접적인 간섭이나 변조를 가하지 않는 수동적인 방식의 스니핑을 가리킨다. 공격자는 네트워크 상에서 전송되는 패킷을 단순히 관찰하고 복사하기만 하며, 자신의 존재를 최대한 숨기려고 한다. 이는 능동적으로 트래픽을 가로채거나 조작하는 MITM 공격과는 구분되는 개념이다.
패시브 스니핑은 일반적으로 두 가지 주요 환경에서 수행된다. 첫째는 공유 미디어 환경(예: 오래된 허브 기반 네트워크)으로, 모든 패킷이 네트워크 세그먼트의 모든 호스트에 브로드캐스트되기 때문에 특별한 조치 없이도 트래픽을 수신할 수 있다. 둘째는 스위치 기반 네트워크로, 이 경우에는 ARP 스푸핑이나 포트 미러링 설정과 같은 추가적인 기술을 사용하여 트래픽을 공격자의 시스템으로 유도해야 한다.
특성 | 패시브 스니핑 | 액티브 스니핑 / MITM |
|---|---|---|
개입 수준 | 수동적 관찰 | 능동적 가로채기 및 변조 |
탐지 가능성 | 상대적으로 낮음 | 상대적으로 높음 |
주요 목적 | 정보 수집, 감시 | 세션 하이재킹, 데이터 변조 |
대표 도구 |
이 방식으로 수집된 정보에는 평문으로 전송되는 아이디어와 비밀번호, 쿠키 정보, 이메일 내용 등이 포함될 수 있다. 따라서 패시브 스니핑으로부터 보호하기 위한 가장 효과적인 방법은 엔드투엔드 암호화를 사용하는 것이다. HTTPS, SSH, VPN과 같은 프로토콜은 통신 내용을 암호화하여, 공격자가 패킷을 획득하더라도 내용을 해독할 수 없게 만든다.
엔드투엔드 암호화는 통신의 보안을 보장하기 위한 핵심적인 암호화 방식이다. 이 방식에서는 메시지가 발신자 측에서 암호화되어 수신자 측에서만 복호화된다. 중간에 위치한 서버, 라우터, 게이트웨이와 같은 통신 경로상의 어떤 제3자도 암호화된 메시지의 내용을 읽거나 변조할 수 없다[5]. 이는 MITM 공격을 포함한 다양한 중간자 공격에 대한 강력한 방어 수단으로 작용한다.
엔드투엔드 암호화의 대표적인 구현 예는 시그널 프로토콜을 사용하는 메신저 애플리케이션들이다. 이 프로토콜을 채택한 서비스에서는 메시지가 발신자의 기기에서 암호화되어 수신자의 기기에 도착할 때까지 암호화된 상태를 유지한다. 메시징 서비스 제공업체조차도 통신 내용에 접근할 수 없다. 또한, HTTPS는 웹 브라우저와 웹 서버 간의 통신을 암호화하여, 사용자가 웹사이트와 주고받는 데이터가 중간에서 탈취되거나 조작되는 것을 방지한다.
특성 | 설명 |
|---|---|
암호화/복호화 지점 | 발신자 클라이언트와 수신자 클라이언트 |
중간 노드의 접근 가능성 | 암호화된 데이터만 접근 가능(내용 불가) |
주요 보호 대상 | 데이터의 기밀성, 무결성 |
대표적 적용 예 | 시그널/와이어 등의 메신저, HTTPS, PGP |
이 방식은 전통적인 트랜스포트 레이어 보안만을 사용하는 방식과 구별된다. TLS는 일반적으로 클라이언트와 서버 간의 구간만을 암호화하므로, 서버 운영자는 평문 데이터에 접근할 수 있다. 반면 엔드투엔드 암호화는 서버를 포함한 모든 중간 구간을 보호 범위에 포함시킨다. 따라서 서비스 제공자의 데이터 유출이나 내부자 위협으로부터도 사용자 데이터를 보호하는 데 효과적이다.