기사 자격증(알기사, 스니핑)

반응형

스니핑

- N/W상에서 자신이 아닌 다른 상대방의 패킷 교환을 엿듣는 행위

- 쉽게말해 다른 상대방의 통신을 도청하는 행위이다.

- TCP/IP 프로토콜을 이용한 통신에서 통신매체를 통과하는 패킷이 암호화를 되지 않은 상태여서 스니핑을 하여 메시지 내용을 볼수 있다.

 

허브환경에서 스니핑

- 허브는 들어오는 패킷에 대해 들어온 포트를 제외한 모든 포트에 패킷을 보내는 장비이다.

- 물론 들어오는 패킷은 MAC주소 IP주소 필터링을 통해 자신의 패킷이 아닌 모든 패킷은 필터링이 된다.

- 하지만 premiscuous mode(무차별 모드)로 동작하게 되면 다른 패킷 또한 버리지 않고 받아볼수 있게된다.

 → premiscuous mode로 동작시 스니핑이 가능

- 스위치 환경에서 스니핑

 1. 스위치 재밍

 - 스위치의 MAC 주소 버퍼 오버플로우를 일으켜 스위치가 허브처럼 동작하게 만든다.

 - 스위치는 Fail Open을 따른 장치이므로 문제가 생기면 패킷을 연결된 모든 노드에게 전달하게 됨

  ※ Fail Open : Fail safe 정책 따름, 장애발생시 모든 트래픽 허용, 가용성 > 보안성

       Fail Close : Fail Secure 정책 따름, 장애 발생 시 모든 트래픽 차단 보안성 < 가용성

 

 2. ARP 스푸핑

 - 공격자가 서버, 클라이언트 중간에 위치하여 서버에게 자신의 MAC주소를 클라이언트 MAC 주소인거처럼 ARP, 클라이언트에게는 자신의 MAC주소를 서버의 MAC 주소인것처럼 ARP하여 서버와 클라이언트 패킷을 스니핑 후 전달을 한다.

 - ARP 캐시 포이즈닝 : ARP 스푸핑 공격을 위해 ARP 캐시 테이블의 내용을 몰래 변경하는 작업

 - 보안대책

  1. 동일 N/W내의 시스템들에 대한 ARP 캐시테이블은 관리자가 직접 정적으로 작성

  2. 정적 ARP 테이블 대응방법은 소규모 N/W에 적합

  3. 리부팅시 정적 옵션은 사라지므로 계속 사용시 배치파일에 저장

 

 3. ARP 리다이렉트

 

 - 공격자가 자신이 라우터인 것처럼 MAC 주소를 위조하여 ARP Reply 패킷을 브로드캐스팅하여 해당 로컬 N/W의 모든 호스트와 라우터 사이의 트래픽을 스니핑하고 다른 호스트들이 눈치 못 채게 IP Forwad

  ※ ARP 스푸핑과 ARP 리다이렉트의 차이

   - ARP 리다이렉트 : 호스트 - 라우터 공격

   - ARP 스푸핑 : 호스트 - 호스트 공격

 

 4. ICMP 리다이렉트 공격

 - 3계층에서 스니핑 시스템을 N/W에 존재하는 또 다른 라우터라고 알려 패킷의 흐름을 바꾸는 공격

 - N/W에서 하나의 라우터 / 게이트웨이로 감당이 되지 않는 경우 2개이상 운영하는 로드밸런싱을 하는데 이 때 로드 밸런싱 방법 중 하나가 ICMP 리다이렉트 방법이다.

 - 정상적인 리 다이렉트 방법

 

  1. host A가 기본 라우터로 설정된 라우터 A에게 호스트 B에게 보낼 패킷을 전송

  2. 라우터 A는 패킷을 수신하고 라우팅 테이블을 검색하는 방법보다 라우터 B를 이용하는 방법이 더 효율적이라고 판 단 후 라우터 B에게 host A의 패킷을 보낸다.

  3. 라우터 Ahost B로 향하는 패킷을 자신에게 전달하지 않도록 host A에게 ICMP Redirect 패킷을 보내 패킷이 라우터 B로 향하도록 함

  4. host A는 라우팅 테이블에 host B 값 추가 후 host B로 보내는 패킷은 라우터 B로 전달하도록 함

 

 - ICMP 리다이렉트 공격

  1. host A가 기본 라우터로 설정된 라우터 A에게 호스트 B에게 보낼 패킷을 전송

  2. 라우터 A는 패킷을 수신하고 라우팅 테이블을 검색하는 방법보다 라우터 B를 이용하는 방법이 더 효율적이라고 판단 후 라우터 B에게 host A의 패킷을 보낸다.

  3. 이 때 공격자는 라우터 B인것처럼 행동

  4. 라우터 Ahost B로 향하는 패킷을 자신에게 전달하지 않도록 host A에게 ICMP Redirect 패킷을 보내 패킷이 공격자로 향하도록 함

  5. host A는 라우팅 테이블에 host B 값 추가 후 host B로 보내는 패킷은 공격자로 전달하고 공격자는 host A의 패킷을 스니핑함

  ※ ARP 리다이렉트와 ICMP 리다이렉트의 차이

   - ARP 리다이렉트 : 희생자의 ARP cache table을 변조, 2계층 공격

   - ICMP 리다이렉트 : 희생자의 라우팅 테이블을 변조, 3계층 공격

 

 5. 스위치의 SPAN / port Mirroring

 - 스위치의 SPAN / port Mirroring 기능은 스위치를 통과하는 모든 트래픽을 볼 수 있는 기능

 - 특정 포트에 분석장비를 접속하고 다른 포트의 트래픽을 분석장비로 자동 복사해주는 기술

 - 관리목적으로 사용하는 것이지만 공격자가 물리적 접근시 손쉽게 패킷 스니핑 가능

 

스니핑 공격의 보안대책

- 스니핑 공격의 보안대책은 능동적 대응책과 수동적 대응책으로 분류할 수 있다.

 1. 능동적 대응책

 - 스니퍼가 N/W에 존재하는지 알아보는 방법, 즉 스니퍼를 탐지

  ※스니퍼 : 패킷 또는 LAN 세그먼트상을 지나는 트래픽 분석할 수 있는 프로그램 or 장비

 - 내부자가 스니핑도구를 탐지할수도 있고, 무선환경에서는 스니핑 도구 탐지가 어려움

 

 2. 수동적 대응책

 - 스니핑을 당하더라도 해당 내용이 노출되지 않도록 통신 내용을 암호화 하는 방식

 - 근본적인대책

 

능동적 대응책

1. 스니퍼 탐지

- 스니퍼가 무차별모드(promiscuous mode)에서 동작한다는 가정하에 시작

- ping을 이용한 방법, ARP를 이용한 방법, DNS를 이용한 방법, 유인, ARP watch 방법이 있다.

 1. ping을 이용한 방법

 - 대부분 스니퍼는 TCP/IP에서 동작하기 때문에 request를 보내면 response를 전달

 - 이를 이용해 존재하지 않는 MAC 주소로 위장하여 ICMP Echo Request를 보냄

 - 만약 존재하지 않으면 아무런 메시지도 받지 않는다.

 - 하지만 만약 스니퍼가 존재하게 된다면 스니퍼는 ICMP Echo Response를 보내게 되는데 이를 통해 스니퍼를 탐지

 

 2. ARP 이용한 방법

 - ping과 유사한 방법

 - ARP request를 보냈을 때 ARP response가 오면 promiscuous mode로 동작중이라는 것을 알 수 있다.

 

 3. DNS를 이용한 방법

 - 일반적인 스니핑 프로그램은 사용자 편의를 위해 Inverse-DNS lookup(IP주소 DNS 주소로 변환)을 해주는데 ping sweep을 통해 Inverse-DNS lookup을 감시해 스니핑 탐지

 

 4. 유인(Decoy)

 - 스니퍼의 주요 목적은 계정과 패스워드 획득이다.

 - 관리자는 이 점을 이용해 가짜 계정과 패스워드를 N/W에 뿌린다.

 - 관리자는 공격자가 이 가짜 계정 / 패스워드를 이용해 접속을 시도하는 것으로 스니퍼를 탐지

 

 5. ARP watch

 - 초기의 MAC주소와 IP주소와의 매칭값을 저장하고 ARP 트래픽을 모니터링 하여 변하게 하는 패킷 탐지시 관리자에게 메일로 알려주는 툴

 

수동적인 암호대책

1. 암호화

- 패킷을 암호화하는 방식은 서비스에 따라 달라진다.

 1. SSL

 - 암호화된 웹서핑을 가능하게 함

 - 40바이트, 128비트 두가지 암호화가 사용

 2. PGP, PEM, S/MIME

 - 이메일 전송할 때 사용하는 암호화

 3. SSH

 - 텔넷과 같은 원격서비스 암호화

 4. VPN

 - 공용 회선을 이용한 암호화

 

반응형