스니핑 공격 기법 (Sniffing)
스니핑 공격 기법에 대해 정리해보려 합니다.
스니핑 공격은 공격대상에게 직접적으로 공격을 하지 않고 데이터만 몰래 들여다 보는 수동적 공격기법입니다. 간단히 스니핑 공격의 원리를 설명드리면 네트워크에서 송수신 되는 많은 데이터 중 본인에게 맞는 데이터만 보기 위해서 데이터 링크와 네트워크 레이어에서 필터링을 하고 있습니다. MAC 주소와 IP 주소를 확인해서 내 호스트와 맞지 않는 정보는 위 레이어까지 전달하지 않고 아래에서 필터링하게 되는거죠. 이 필터링을 만약 해제하게 된다면 필터링 되지 않고 위 레이어까지 모든 정보들이 전달되고 확인이 가능 할 것 같습니다. 랜 카드에는 프로미스큐어스(Promiscuous) 모드란 녀석을 지원합니다. 이 모드를 이용해서 필터링을 해제 할 수 있습니다.
스니핑 공격에도 여러 종류가 있는데요, 각 공격방법에 대해 정리해보겠습니다.
스위치 재밍 공격
스위치가 MAC 주소 테이블을 기반으로 포트에 패킷을 스위칭할 때 정상적인 스위칭을 하지 못하도록 하는 공격입니다. MACOF 공격이라고도 불립니다. 정상적으로 스위칭 하지 못하도록 하는 방법은 스위치의 특징을 이용하는 것인데요, 만약 스위치가 관리하는 MAC 주소 테이블에 정보가 모두 입력되서 테이블이 가득차면 허브처럼 패킷을 브로드캐스트하게 됩니다. 공격자는 위조된 MAC 주소를 계속해서 스위치로 보내고, 스위치는 위조된 MAC 주소로 테이블을 채우게 됩니다. 그렇게 MAC 테이블을 오버플로우 시키게되면 브로드캐스트로 인해 모든 패킷을 공격자가 받을 수 있습니다. 이 때 네트워크 속도가 현저히 저하되서 공격자에게도 영향이 있습니다. 요즘 고가의 스위치는 MAC 테이블의 캐시와 연산자가 쓰는 캐시가 독립적으로 구성되어 있어 스위치 재밍 공격을 통하지 않습니다.
ARP Redirect
공격자는 자기가 라우터인 것처럼 속여 공격하는 기법입니다. 위조된 ARP reply를 주기적으로 브로드캐스트함으로서 주변 기기들이 공격자를 라우터로 인식하도록 만들고 외부로 전달되는 모든 패킷을 공격자에게 전달되도록 합니다. 자신이 공격자라는 걸 숨기기 위해 주변 기기들은 정상 응답을 받아야하므로 공격자는 스니핑 이후 패킷을 IP Forwarding으로 게이트웨이로 전달해줘야 합니다.
SPAN 포트 태핑(Port mirroring)
스위치의 포트 미러링(Port mirroring) 기능을 이용한 공격방법입니다. 포트 미러링이란 각 포트에 전송되는 데이터를 미러링하는 포트에도 동일하게 전달하는 것으로 침입 탐지 시스템, 네트워크 모니터링, 로그시스템 등에 많이 사용됩니다. 이 포트를 이용해 모든 정보를 볼 수 있습니다. 스니핑 공격에 악용될 수 있죠.
ICMP Redirect
ICMP Redirect는 ARP Redirect와 동일하게 공격자가 라우터로 인식되도록 하는 공격방법입니다. 여러 라우터가 존재하는 네트워크 시스템에서 최적의 데이터 전송 경로를 찾기위해 네트워크 들은 여러 알고리즘으로 동작하게 되는데 공격자는 공격대상에게 자신이 라우터이고 최적의 경로라고 수정된 ICMP Redirect를 보내 데이터를 전달받습니다. ARP Redirect와 동일하게 게이트웨이로 다시 전달해줘야합니다.
4가지 정도의 공격방법에 대해 알아봤는데요, 그럼 스니핑 공격을 당하고 있는지 탐지하는 방법도 정리해보겠습니다.
Ping을 이용한 스니퍼 탐지
ping은 Transport 레이어에서 처리됩니다. 공격자로 의심이 되는 호스트에 네트워크에 존재하지 않는 MAC 주소로 위조된 ping을 보내면 Transport 레이어에서 다시 reply를 보내게 됩니다. 만약 공격자가 아니라면 ping 요청을 볼 수 없기에 reply가 있을 수 없습니다. 이 방법으로 공격자를 탐지할 수 있습니다.
ARP를 이용한 탐지
위조된 ARP request를 보냈을 때 ARP Response가 오면 프로미스큐어스(Promiscuous) 모드로 설정된 것입니다. ARP는 정적으로 구성하는 게 좋습니다.
DNS를 이용한 탐지
일반적인 스니퍼는 스니핑한 시스템의 IP 주소에 DNS의 Reverse-DNS lookup(IP를 이용하여 Domain Name을 찾는 것) 과정을 수행하게됩니다. 대상 네트워크로 ping sweep을 보내고 들어오는 Reverse-DNS lookup을 감시하면 스니퍼를 탐지할 수 있습니다.
유인을 이용한 스니퍼 탐지
공격자를 유인하는 방법입니다. ID, PW같은 정보를 스니핑하게 된 공격자들은 로그인을 시도하게 될텐데요, 유인을 위해 가짜 ID와 PW 정보를 네트워크 상에 계속 전송하고 이를 이용해 접속을 시도하면 스니퍼가 있다고 탐지할 수 있습니다.
ARP watch를 이용한 탐지
ARP watch는 MAC주소와 IP 주소의 매칭 값을 초기에 저장하고 ARP 트래픽을 모니터링하여 위조한 패킷이 탐지되면 알려주는 툴입니다. 위조된 ARP를 사용하는 공격은 쉽게 탐지할 수 있습니다.
이상으로 스니핑에 대해 정리해보았습니다. 감사합니다.
'ETC > Security' 카테고리의 다른 글
[정보보호개론] Session Hijacking 공격 (0) | 2018.12.04 |
---|---|
[정보보호개론] 스푸핑 공격 (Spoofing) (0) | 2018.11.07 |
[정보보호개론] SSL / TLS (1) | 2018.11.04 |
[정보보호개론] 인증 (Authentication) (0) | 2018.11.04 |
[정보보호개론] Dos와 DDos (서비스 거부 공격) (0) | 2018.11.04 |