[정보보안] 스니핑(Sniffing) 공격을 탐지하는 기술
2024년 1회(25회) 정보보안기사 실기시험에 나온 서술형 문제입니다(ping을 사용해서 스니핑 공격을 탐지하는 방법).
스니퍼 탐지는 기본적으로 스니퍼가 무차별 모드(Promiscuous mode)로 동작한다는 점에서 출발합니다. Sniffing 공격은 네트워크 인터페이스 카드(NIC)의 동작 모드를 무차별 모드로 전환(ifconfig eth0 promisc)하여 같은 네트워크 내에 자신의 MAC 주소와 무관한 모든 트래픽을 도청하는 방식입니다.(“스위치 환경에서 스니핑(sniffing)하는 여섯 가지 방법“을 함께 읽으시면 좋습니다.)
스니퍼 감지 기술
- Ping 방법
- 스니핑이 의심스러운 호스트에 해당 네트워크에 존재하지 않는 MAC주소로 위조한 ping 메시지(ICMP echo request)를 보내 응답 메시지(ICMP echo reply)가 오면 무차별 모드로 스니핑하는 것을 판단할 수 있습니다.
- 응답 메시지가 오지 않는다면, 해당 호스트가 ICMP echo request 메시지를 정상적으로 폐기한 것이므로 스니핑하지 않는 정상적인 호스트입니다.
- 위조된 PING 메시지 생성: 네트워크에 존재하지 않는 MAC 주소를 사용하여 PING 메시지를 생성합니다. 이 MAC 주소는 임의로 선택되며, 네트워크 상의 실제 장치와 일치하지 않아야 합니다.
- PING 메시지 전송: 이 위조된 PING 메시지를 네트워크로 전송합니다.
- 응답 감시: 전송한 PING 메시지에 대한 응답을 감시합니다. 정상적인 네트워크 구성에서는 존재하지 않는 MAC 주소로 전송된 PING 메시지에 대해 응답이 없어야 합니다.
- 응답 분석: 만약 어떤 호스트가 이 위조된 PING 메시지에 응답한다면, 이는 해당 호스트가 혼잡 모드로 네트워크 트래픽을 모니터링하고 있을 가능성이 큽니다. 왜냐하면 정상적인 네트워크 인터페이스는 자신에게 목적지가 아닌 패킷은 무시하기 때문입니다.
- ARP 이용
- 스니핑이 의심스러운 호스트에 해당 네트워크에는 존재하지 않는 MAC 주소로 위조한 ARP 요청 메세지 전송(유니캐스트 전송)
- ARP 응답 메세지가 오면 무차별 모드로 스니핑하는 것으로 판단할 수 있음
- DNS 방식
- 대부분의 스니퍼는 사용자 편의를 위해 IP 주소를 통해 해당 장비를 식별하는 역방향 DNS 조회를 수행합니다.
- 네트워크의 모든 호스트에 ping 수행 후 역방향 DNS 조회 트래픽을 생성하는 머신은 스니퍼일 가능성이 있으므로 감시하여 스니핑을 탐지합니다.
- 무차별 모드 탐지 툴 사용
어떤 머신이 무차별 모드로 실행 중인지 확인합니다. 무차별 모드는 네트워크 장치가 도착하는 각 네트워크 패킷을 전체적으로 가로채서 읽을 수 있도록 합니다.- PromqryUI는 무차별 모드로 실행되는 네트워크 인터페이스를 감지하는 데 사용할 수 있는 Microsoft의 보안 도구입니다.
- nmap의 NSE(nmap script engine) 스크립트를 사용하면 로컬 이더넷의 대상 네트워크 카드가 무차별 모드 인지 확인할 수 있습니다.
nmap -sV --script=sniffer-detect <스니핑_의심_호스트IP 또는 범위>
- MAC주소 변경 탐지 도구 이용
- ARPWatch는 초기 MAC주소와 IP주소의 매칭 값을 저장하고 ARP 트래픽을 모니터링하여 변화가 있는 ARP 패킷을 탐지
- IDS(침입탐지시스템)를 사용해서 라우터 등 특정 머신의 MAC 주소가 변경되었는지 확인합니다
- 대부분의 스니핑 공격기법이 ARP Spoofing을 사용하기 때문에 이를 탐지할 수 있음
- Decoy 이용
- 스니핑 공격의 주요 목적은 계정과 패스워드를 획득하는 것이므로 가짜 계정과 패스워드를 네트워크에 계속 전송하여 유인
- 유인한 계정을 이용해 접속을 시도하는 시스템을 탐지