logo

English

스니핑 개념, 공격기법, 방어법, 참고할만한 오픈소스 라이브러리 및 툴

by digipine posted Nov 03, 2017
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print
?

Shortcut

PrevPrev Article

NextNext Article

Larger Font Smaller Font Up Down Go comment Print

1. 스니핑이란

• 사전적인 의미는 ‘코를 킁킁거리다’. 실제로는 네트워크 상에서 자신이 아닌 다른 상대방의 패킷 교환을 엿듣는 것을 의미. 이러한 스니핑을 가능하게 해주는 도구들을 스니퍼 Sniffer 라고 함.

• TCP/IP 프로토콜은 학술적인 용도로 인터넷 초창기 이전부터 설계된 프로토콜이기 때문에 보안은 크게 고려하지 않고 시작되었음. 스니핑은 이러한 보안의 기본 요소 중 기밀성을 해치는 공격 기법


2. 대표적인 스니핑 시나리오

• 다양한 공격기법을 통해 실제 공격대상 시스템에 관리자 권한을 얻어낸 후 스니핑 도구를 설치하여 스니핑

• 공격 대상 기업의 다른 호스트에 대한 접근 권한을 얻어내서 그 호스트를 이용하여 스니핑

• ISP 장비에 대한 시스템 권한을 얻어내어 스니핑 도구를 설치하여 스니핑

 

3. 일반적인 스니핑 단계

• 패킷 가로채기

• 가로챈 패킷 디코딩하여 주요 정보 획득

⇨ 패킷을 가로채는 시도는 차단하기 어려우므로 디코딩 어렵게 하기 위해 SSL, SSH, VPN, PGP 등의 기법 활용될 수 있음.

 

4. 스니핑의 기타 용도

⇨ 네트워크 트래팩 분석, 트러블슈팅(장애 발생시 원인 규명하고 복구하는 작업)

 

5. 실질적인 스니핑 공격의 예

• 허브 환경에서의 스니핑

o 허브는 기본적으로 들어온 패키셍 대해 패킷이 들어온 포트를 제외한 모든 포트에 대해 패킷을 보내는 Repeater 장비. 물론 네트워크 드라이브, OS커널 등의 레벨에서 MAC 주소를 확인해 자신이 아닌 다른 이들의 패킷은 버려짐. 하지만 시스템의 NIC를 promiscuous 모드로 동작하게 하면 다른 이들의 패킷 또한 버리지 않고 받아볼 수 있음. 스니핑 도구를 통해 해당 패킷을 저장하고 분석하기만 하면 됨.

• 스위치 환경에서의 스니핑

o 스위치는 기본적으로 Layer 2 헤더 정보인 MAC 주소 정보를 이용해 패킷의 목적지를 결정. 따라서 허브 환경에서와 달리 패킷은 실제 수신대상에게만 패킷이 보내지며 공격대상이 아무리 인터페이스를 promiscuous 모드로 세팅해도 그 내용을 훔쳐볼 수가 없음

o 하지만 스위치를 사용하는 환경에서도 스니핑이 가능한 기법 존재

- Switch Jamming

․ 엉뚱한 MAC 주소를 가진 패킷을 계속 보내 스위치가 허브처럼 동작하게 만들 수 있음. 많은 종류의 스위치가 주소 테이블이 가득 찼을때 패킷을 모든 포트로 브로드캐스팅하는 성질 가지고 있음

․ MAC 테이블을 위한 캐시 공간에 버퍼 오버플로우 공격을 하는 것과 같음

․ 일부 고가 스위치는 MAC 테이블의 캐시와 연산장치가 쓰는 캐시가 독립적으로 나뉘어 있어 Switch Jamming 공격이 통하지 않음.

- ARP Redirect

․ 대표적인 툴로 Dsniff.

․ 네트워크상에서 패킷 보내질 때 목적지의 IP주소를 가지고 해당 목적지의 어떤 MAC주소를 사용하는지 요청하는데 이를 ARP request라고 함. ARP request 패킷은 네트워크상에 브로드캐스팅되어 모든 호스트가 그 패킷을 받게 되고 해당 IP를 가진 호스트가 ARP reply를 주게됨.

․ 이때 공격자는 arpspoof 등의 툴을 이용해 거짓된 ARP reply 계속하여 전송

․ 만약 ARP request가 오기 전에 ARP reply를 보내게 되면 공격 대상 시스템의 ARP cache에 해당 내용이 저장이 되어 동일 정보에 대해 ARP request를 하지 않는다.

․ 공격자의 MAC주소로 패킷이 온 후에 원래 정상적인 MAC주소로 다시 포워딩하면 해당 시스템에서는 정상적으로 통신하므로 스니핑 사실을 탐지하기 힘듦.

- ICMP Redirect

․ ICMP 프로토콜은 네트워크 상의 오류메시지 전송, 트러블 슈팅 등을 위해 사용되는데 그중 ICMP Redirect 메시지를 이용한 스니핑 방법. 라우터에 대해 악용된 ICMP Redirect 메시지를 보내 패킷이 자신쪽으로 오도록 함

- ICMP Router Advertisement

․ ICMP Redirect와 비슷한 방법이나 ICMP Router Advertisement 메시지는 특정 호스트가 자신이 라우터라고 다른 호스트에 대해 알리는 메시지. 이를 악용해 다른 호스트들이 자신을 라우터라고 생각하게 하여 패킷이 자신으로 보내지도록 한다.

- MAC 스푸핑

․ 스위치에서 특정 MAC주소를 통해 패킷 전송 과정은 다음과 같음

① 해당 MAC 주소가 자신의 MAC 주소 테이블에 존재하는지 확인

② 존재하면 테이블에 등록된 포트로 패킷 전송

③ 존재하지 않는다면 패킷이 유입된 VLAN과 동일한 모든 VLAN으로 일단 패킷 보냄

․ MAC주소 갱신은 패킷 유입시에 해당 패킷의 출발지 MAC 주소를 참고하여 해당 패킷이 들어오케 된 포트와 MAC 주소 정보를 테이블에 등록하는 방법.

․ 따라서 공격대상 시스템의 MAC 주소를 가지는 패킷을 출발지 MAC주소로 하는 패킷을 계속 보내면 스위치는 MAC 주소 테이블에 그러한 내용 등록해 해당 패킷을 공격자에게 보내게 됨.

- 스위치에서의 SPAN/Monitor port 설정

․ 대다수의 스위치는 port monitoring 기능 가지고 있음 (특정 포트들로 주고 받아지는 패킷을 또 다른 모니터 포트로 전송하는 옵션)

․ 공격자가 스위치에 대한 접근 권한 얻어내어 이러한 설정을 적용함으로써 공격자 시스템에 연결된 포트로 보낼 수 있음

 

6. 스니핑의 방어

• SSL 적용

o HTTP, IMAP, POP, SMTP, Telnet 등은 SSL을 적용하여 HTTPS, IMAPS, POPS, SMTPS, Telnets 등으로 사용 가능.

o 사용자 이름, 패스워드 및 전자 상거래 결재 정보 등 웹 서핑의 내용을 암호화 할 수 있음

• PGP, S/MIME

o SMTP 상으로 보내지는 메일은 기본적으로 암호화되지 않기 때문에 스니핑하여 그 내용 쉽게 얻어낼 수 있음.

o PGP, S/MIME 등을 이용해 메일에 대한 암호화 기능 제공

• SSH

o 암호화 통신 제공해 Telnet, FTP, RCP, Rlogin 등을 대치 가능

• 사설망 혹은 가상사설망 VPN

o 스니핑이 우려되는 네트워크 상의 전용선으로 직접 연결해 중간에 도청되는 것을 막는 사설망. 하지만 거리가 멀어질수록 비용 높아짐

o 일반 인터넷 회선 이용해 사설망의 효과 내는 것이 VPN.

 

7. 실습 관련

• libpcap

o 패킷 캡쳐를 위한 Portable한 API

o tcpdump를 비롯한 다양한 툴들이 libpcap 기반으로 작성됨

o 사용법 참고 : http://wiki.kldp.org/wiki.php/DocbookSgml/Libpcap-KLDP
http://www.joinc.co.kr/modules/moniwiki/wiki.php/Site/Network_Programing/AdvancedComm/pcap_intro

• tcpdump

o libpcap 기반 command-line 형태로 주어진 조건식을 만족하는 네트워크 인터페이스를 거치는 패킷들의 헤더를 출력해주는 프로그램

o 주용도는 지정된 상대방 호스트로부터 들어오는 패킷들을 체크

o 참고 : http://kotda.tistory.com/183

처음부터 tcpdump 소스를 분석하는 것보다 libpcat 예제를 통해 간단한 스니핑툴을 만든후에 tcpdump를 분석하는 것이 더 효율적일듯.

• jpcap

o 자바 기반의 네트워크 패킷 캡쳐 라이브러리

o 참고 : http://jpcap.sourceforge.net/

• Ettercap

o GUI 지원하는 오픈소스 소프트웨어

o 기본적인 스니핑 기능 가지며 ARP poisoning, icmp Redirect, Port Stealing, DHCP Spoofing 등의 기능도 포함

o 플러그인 통한 DNS Spoofing, Dos Attack 등 지원, 역으로 이런 공격 찾는 search ARP Poisoner, Search Pomisc 등의 기능도 포함.

o 참고 : http://blog.naver.com/PostView.nhn?blogId=kimhmin85&logNo=90053914044

TAG •
?

List of Articles
No. Subject Author Date Views
29 모바일 전용 CPU ARM이 노트북과 AI로 진화 한다 file digipine 2017.11.03 3
28 임베디드 Linux 시스템 부팅 시 프로그램 자동 실행 digipine 2017.11.03 2
27 Wandboard Yocto XBMC 올리기 digipine 2017.11.03 2
26 Wandboard Yocto XBMC 올리기 digipine 2017.11.03 2
25 안드로이드 의 써드파티 어플의 SD RW 권한 부여 digipine 2017.11.03 2
» 스니핑 개념, 공격기법, 방어법, 참고할만한 오픈소스 라이브러리 및 툴 digipine 2017.11.03 2
23 GA-P55A-UD3R rev 2.0 / GT 240 OSX 스노우 레파드 해킨가이드 digipine 2017.11.03 2
22 HIGH QUALITY MOBILE EXPERIENCE (HQME) digipine 2017.11.03 2
21 해킨토시 설치법 GA-P55A-UD3R rev 2.0 / intel Core i5 760 / NVIDIA GeForce GT 240 digipine 2017.11.03 2
20 CISCO Router 설정 팁 - QOS 1 digipine 2017.11.03 2
19 UC 환경을 위한 종합 네트워크 FMC digipine 2017.11.03 3
18 네트웍 용어중 bps, cps, BPS, pps 의 차이점 digipine 2017.11.03 1
17 L4 장비의 핵심 로드 밸런싱(Load Balancing) digipine 2017.11.03 1
16 DaVinci 에 대한 소개글 digipine 2017.11.03 1
15 RFID와 USN 에 대해서 digipine 2017.11.03 2
14 SECS 프로토콜 개요 digipine 2017.11.03 1
13 반도체 전공정 후공정 설명 digipine 2017.11.02 43
12 반도체 장비/공정 기술 용어집 digipine 2017.11.02 4
11 차세대 비휘발성 메모리 기술동향 file digipine 2017.11.02 1
10 서보모터의 기초와 제어 file digipine 2017.11.02 1
Board Pagination Prev 1 2 Next
/ 2