본문 바로가기
IT 이론/정보보호

스니퍼 대응책(스니핑 탐지법)

by 아이들링 2016. 10. 12.

여러 보안 책자에 그대로 있는 내용이고 인터넷에도 많은 내용이지만 기반 지식 없이 보면 이해가 잘 되지 않고 단순 암기에 지날 수 밖에 없는 간략화된 내용들이라 좀더 살을 붙여서 포스팅 하겠다.

① Ping 을 이용한 방법
대부분의 스니퍼는 일반 TCP/IP에서 동작한다. 이를 이용하여 의심이 가는 호스트에 ping 을 보내는데 존재하지 않는 MAC 주소로 위장해서 보낸다. ping은 ICMP프로토콜에서 해당 호스트까지 reachable한지를 검사하는 신호로, 정상적인 경우라면 MAC 주소가 유효하지 않으므로 응답이 오지 않는 것이 맞다. 하지만 스니핑용 호스트라면 MAC 주소와 무관하게 모든 정보를 다 수신받으므로 ICMP에서 정상적으로 reach 했다는 뜻의 Echo reply 를 보내게 된다.

② ARP를 이용하는 방법
위와 마찬가지 방법이다. 기본적으로 TCP/IP에선 자신을 거쳐 가더라도 목적지가 자신이 아니라면 수신하지 않는 것이 일반적인데 랜카드를 조작하여 목적지가 어디든 그냥 무조건 수신 하도록 옵션을 줄 수도 있다. 이 옵션을 ​프러미스큐어스 모드 라고 한다. 이런 랜카드를 사용하는 호스트를 찾기 위해 그 어느 호스트도 목적지가 아닌 조작된 ARP request를 보냈는데 응답이 온다면 ​​프러미스큐어스 모드를 사용하고 있는 것이다.

③ DNS 방법
보통 DNS서버에는 도메인 이름을 이용해서 호스트의 lP를 얻기 위한 DNS lookup 요청이 많다. 반대로 호스트의 IP 를 이용해서 도메인은 알고자 하는 ​DNS inverse lookup 요청은 많지는 않는데 스니핑 프로그램에선 사용자의 편의를 위해 inverse lookup을 요청하는 경우가 많다. 로그 등에 도메인명을 출력해줘야 보기가 편하기 때문이다. inverse lookup을 한다고 다 악성 프로그램은 아니나 이를 통해 용의선상을 줄일 수 있다. 테스트 대상 네트워크로 ping sweep을 보내고 inverse lookup을 감시하여 스니퍼를 탐지한다.

④ 유인(Decoy)
스니핑 공격자의 주요 목적은 계정과 패스워드 획득에 있다. 이를 이용해 가짜 계정과 패스워드를 네트워크에 뿌린 후 이 계정과 패스워드를 이용해 접속을 시도하는 호스트를 탐지한다.

⑤ ARP watch
스니퍼는 정보가 자신에게 수신되거나 거쳐가도록 조작하기 위해 ARP테이블을 변경하려 할 수 있다. ARP 업데이트가 항상 비정상적인 행위는 아니지만 초기 MAC주소와 IP 주소의 대칭 값은 저장한 후 ARP 트래픽을 모니터링 하여 이를 변하게 하는 이상 패킷이 발견되면 관리자에게 알려줌으로써 스니핑을 미연에 감지할 수 있다.

댓글0