스니핑

From CS Wiki
네트워크상에 흘러다니는 트래픽을 훔쳐보는 행위. 주로 자신에게 와야할 정보가 아닌 정보를 자신이 받도록 조작하는 행위를 말한다.

원리[edit | edit source]

허브 환경[edit | edit source]

  • 정보가 브로드캐스팅 되고 있는 환경이라면 단순히 브로드캐스트된 정보를 받아들이는 것만으로 스니핑 가능
  • 원래는 데이터가 브로드캐스트 되더라도 자신이 목적지가 아닌 정보는 버리게 되어있다.
  • NIC의 설정 변경을 통해 Promiscuous Mode(무차별 모드)를 활성화 하면 목적지에 관계 없이 도달하는 패킷을 모두 받아들인다.

스위치 환경[edit | edit source]

  • 스위치 환경에선 정보가 브로드캐스팅 되지 않고 목적지를 특정하여 보내진다.
  • 허브 환경처럼 단순히 모두 받아들이는 것 만으로는 스니핑이 불가능하다.
  • 자신을 목적지로 속여 목적지 주소를 조작하는 방식, 스위치를 공격하여 정보를 브로드캐스팅 하도록 만드는 방법이 있다.

스니핑 기법[edit | edit source]

탐지 방법[edit | edit source]

허브 환경[edit | edit source]

  • 허브 환경에서는 스니핑도 쉬운만큼 스니핑 탐지도 쉽다.
  • Promiscuous Mode인 호스트를 찾으면 된다.
  • 가짜 MAC 주소로 설정한 ping을 보낸다. 정상적인 호스트는 받지 못할테니 응답이 없고 Promiscuous Mode인 경우만 응답한다.

스위치 환경[edit | edit source]

  • 주로 ARP Cache Table을 조작하는 방법을 쓴다.
  • ARP Cache Table에 같은 맥주소가 여러 IP에 할당되어 있거나, 게이트웨이의 맥주소가 변경되어 있는 경우 그 맥주소를 사용하는 호스트가 공격자이다.

대응[edit | edit source]

무차별 모드 해제[edit | edit source]

  • 의심되는 내부 망 호스트를 점검하였을 때 Promiscuous Mode가 확인되면 해당 모드를 해제한다.
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:3E:B6:A2  
          inet addr:11.11.11.11  Bcast:11.11.11.255  Mask:255.255.255.0
          inet6 addr: fe80::fe80:fe80:fe80:fe80/64 Scope:Link
          UP BROADCAST RUNNING PROMISC MULTICAST  MTU:1500  Metric:1
          RX packets:11182843 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8329369 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:139980359 (115.5 MiB)  TX bytes:11259325956 (10.4 GiB)

# ifconfig eth0 -promisc
# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:3E:B6:A2  
          inet addr:11.11.11.11  Bcast:11.11.11.255  Mask:255.255.255.0
          inet6 addr: fe80::fe80:fe80:fe80:fe80/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11182843 errors:0 dropped:0 overruns:0 frame:0
          TX packets:8329369 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:139980359 (115.5 MiB)  TX bytes:11259325956 (10.4 GiB)

ARP 테이블 변경[edit | edit source]

  • 스위치 환경에서의 스니핑은 대부분 ARP 스푸핑을 통해 발생한다.
  • 조작된 ARP 테이블을 복구하기 위해선 ARP 스푸핑 문서 참조

기타 대응 방안[edit | edit source]

  • 메시지 암호화
    • 스니핑 되더라도 정보가 노출되지 않는다.
  • Switch에서 Port Security, ARP Inspection 기능을 사용한다.
  • Anti-sniff, ARP Watch와 같은 탐지 도구를 사용한다.
  • 조직 환경에 맞게 작은 단위로 VLAN을 구성한다.
    • 브로드캐스트되는 범위를 줄임으로써 공격을 약화시킨다.