본문 바로가기
보안/네트워크 보안

스니핑(Sniffing)

by yeni03o_o 2020. 12. 14.

스니핑

: 악의적인 사용자가 전송자와 수신자 사이의 통신 패킷 도청. 수동적(Passive) 공격

 

 

스니핑의 개념

- 네트워크 트래픽을 도청(엿듣기)

- 전화선이나 UTP에 Tapping 해서 전기신호를 분석하여 정보를 찾아냄

- 전기 신호를 템페스트(Tempest) 장비를 이용해 분석

- 스니퍼(sniffer): 네트워크 스니핑을 할 수 있는 도구

 

 

스니핑 방법

- LAN(Local Area Network) 환경에서 가능: LAN 카드, 허브, 스위치

- LAN카드(PC 장착) or 허브 환경: 프러미스큐어스 모드로 조작하여 패킷 수신

- L2 스위치 환경: ARP Redirect 조작하여 공격자를 라우터로 속이고 패킷 수신

 

 

LAN 스니핑

LAN 카드(NIC): IP주소 값과 고유한 MAC 주소 값 보유

   - 네트워크 상 컴퓨터는 동일한 전송매체를 공유하고, 패킷을 전송

   - LAN 카드는 패킷의 MAC주소와 IP주소를 참고하여 필터링

   - LAN 카드 모드 변경( ∵ 스니핑): Normal 모드 → 프러미스큐어스 모드

 

프리미스큐어스 모드(Promiscuous Mode): SW적으로 스니핑

   - 2계층과 3계층 필터링을 해제시켜 LAN 카드(NIC)에 들어오는 모든 트래픽을 수신

   - 즉, MAC 주소와 IP주소에 관계없이 모든 패킷을 스니퍼에게 넘겨줌

   - LAN 카드 모드 설정(리눅스, 유닉스): ifconfig eth0 promisc

   - 윈도우: 스니핑을 위한 드라이버 설치

 

바이패스 모드(Bypass Mode): HW적으로 스니핑

   - 패킷에 대한 분석까지 하드웨어로 구현되어 있는 LAN 카드

   - 스니핑을 하기 위한 장비

 

 

스위칭 환경 스니핑

※ 스위칭 환경(L2 프레인 통신을 위한 교환 장비)

   - 스위치는 MAC Adress Table(각 호스트의 MAC 주소를 확인하여 포트 할당)을 보유

   - (허브 대비)목적지가 자신인 패킷 외에는 받아볼 수 없으므로(프러미스큐어스 불가) 스니핑 방어 장비로 활용 가능

 

 

스위칭 환경 스니핑 공격

스위치 재밍(Switch Jamming): 스위치를 직접 공격(MAC Flooding 공격)

   - MAC 주소 테이블 오버플로우: 공격자는 다량의 위조된 ARP Reply(위조 MAC 주소)를 지속적으로 전송

   - 스위치의 MAC 주소 테이블이 가득차게 만들어 허브처럼 브로드캐스팅 동작시켜(Fail Open) 패킷 스니핑 가능한 환경을 만듦

 

ARP Redirect: 공격자가 자신이 라우터인 것처럼 MAC 주소 위조

   - 공격자가 피해자 PC의 ARP cache table 조작(Cache poisoning)하는 2계층 공격(ARP 프로토콜의 평문으로 주고받는 구조적 취약점을 이용)

   - (cf. ARP Spoofing: 호스트 대 호스트 공격 / ARP redirect: 모든 호스트 대 라우터)

   - 라우터와 피해대상 사이에서 속이는 공격(Spoofing 일환)

      ① 공격자는 자신의 MAC주소를 라우터의 MAC주소라고 속이고, 위조된 ARP 정보를 Broadcasting 형태로 네트워크로 연결된 모든 호스트에 전송 (ARP reply)

      ② 호스트는 공격자가 라우터인줄 알고 패킷을 보냄

      ③ 공격자는 수신한 모든 패킷을 다시 라우터로 릴레이(중계)

ART redirect 공격

 

ICMP Redirect: 네트워크에 라우터(or 게이트웨이) 2개 이상 운영

   - ICMP Redirect 메시지: 송신자로부터 패킷을 수신받은 라우터가, 특정 목적지로 가는 더 짧은 경로를 갖는 다른 라우터가 있음을 알릴 때 사용되는 메시지(ICMP Type 5)

   - ICMP Redirect 메시지를 수신받은 호스트는 자신의 라우팅 테이블에 특정 목적지로 가는 게이트웨이 주소를 변경

   - 공격 대상에 위조된 ICMP Redirect 패킷 보낸 후 공격자 호스트가 라우터라고 인지하도록 하여 공격자를 거쳐 라우터에 relay(중계)

   - 3계층 공격. 피해자의 라우팅 테이블 변조

 

 

스니핑 공격 대응책

능동적 대응책

    ① ping을 이용한 탐지

        : 의심이 가는 호스트에 네트워크에 존재하지 않는 MAC 주소를 위장하여 ping 보냄.

          만약 ICMP Echo Reply를 받으면 해당 호스트의 스니핑 탐지(∵존재하지 않는 MAC주소라면 ping은 유실)

    ② ARP를 이용한 탐지

        : 위조된 ARP Request를 스니퍼임을 확인하고자 하는 시스템에 보냄

          대상 시스템이 ARP Response 응답을 보내면, 프러미스큐어스 모드 동작중인 스니퍼임을 확인

    ③ DNS를 이용한 탐지

        : 테스트 대상 네트워크로 Ping Sweep을 보내고, 들어오는 Inverse-DNS lookup 감시

    ④ Decoy(유인)를 이용한 탐지(허니팟)

        : 가짜 정보(계정, 패스워드)를 뿌려 공격자가 가짜 정보로 접속을 시도하면, 접속을 시도하는 시스템 탐지

    ⑤ ARP Watch를 이용한 탐지

 

수동적(예방적) 대응책(통신 암호화)

    ① SSL(Secure Socket Layer): 암호화된 웹 통신 (현재 TLS)

    ② PGP, PEM, S/MIME: 암호화된 이메일 전송

    ③ SSH(Secure Shell): 서비스 암호화(telnet)

    ④ VPN(Virtual Private Network): 암호화된 트래픽. L2(PPTP), L3(IPSec)

 

 

 

 

공부하면서 학습 목적으로 작성한 포스팅이므로 내용이 완전하지 않습니다ㅠ 
계속해서 학습 후 지식이 좀 더 쌓이면 수시로 수정해나갈 예정입니다! 
틀린 내용은 둥글게 댓글 달아주시면 빠른 확인 후 수정하겠습니다. :)


참고

* m.blog.naver.com/PostView.nhn?blogId=jsmb&logNo=221095308249&proxyReferer=https:%2F%2Fwww.google.com%2F

 

댓글