
1. 스니핑 공격
1.1 스니핑에 대한 이해
- 스니핑
- Sniff의 사전적 의미 : 코를 킁킁거리다
- 수동적 공격 : 공격할 때 아무것도 하지 않아도 충분하기 때문
- 스니핑의 개념
- 도청(Eavesdropping)과 엿듣기가 스니핑
- 전화선이나 UTP에 탭팽(Tapping)해서 전기 신호를 분석하여 정보를 찾아냄
- 전기 신호(Emanation)을 템페스트(Tempest)장비를 이용해 분석하는 일
- 프러미스큐어스 모드(Promiscuous Mode)
- MAC주소와 IP주소에 관계없이 모든 패킷을 스니퍼에게 넘겨주는 것
- 리눅스나 유닉스 등의 운영체제에서는 랜 카드에 대한 모드 설정이 가능
- 윈도우에서는 스니핑을 위한 드라이버를 따로 설치
- 스니핑을 하려면 좋은 랜 카드가 필요
- 바이패스 모드(Bypass Mode)
- 패킷에 대한 분석까지 하드웨어로 구현되어 있는 랜 카드
- 기가바이트(GByte)단위의 백본 망에서 스니핑을 하기 위한 고가의 장비
2. 스니핑 공격 툴
2.1 TCP Dump
- TCP Dump
- 리눅스에서 가장 기본이 되는 강력한 스니핑 툴
- 처음에는 네트워크 관리를 위해 개발되었기 때문에 관리자 느낌이 강함
- TCP Dump로 획득한 증거 자료는 법적 효력이 있음
2.2 Fragrouter
- Fragrouter(프래그라우터)
- 스니핑을 보조해주는 툴, 받은 패킷을 전달하는 역할
- 스니핑을 하거나 세션을 가로챘을 때 공격자에게 온 패킷을 정상적으로 전달하려면 패킷 릴레이가 반드시 필요함
2.3 DSniff
- DSniff(디스니프)
- 스니핑을 이한 다양한 툴이 패키지처럼 만들어진 것
- 한국계 미국인으로 해커이자 정보보호기술 전문가인 미국 미시거 대학교의 송덕준 교수가 개발
- 알트보어와 함께 대표적인 스니핑 툴로 알려져 있음
- 암호화된 계정과 패스워드까지 읽어낼 수 있음
- Dsniff가 읽어낼 수 있는 패킷 : ftp, telnet, http, pop, nntp, imap, snmp, ldap, rlogin, rip, ospf, pptp, ms-chap, nfs, yp/nis+, socks, x11, cvs, IRC, ATM, ICQ, PostageSQL, Citrix ICA, Symantec pcAnywhere, MS SQL, auth, info
3. 스위칭 환경과 스니핑
3.1 스위칭 환경과 스니핑
- 스위칭 환경과 스니핑
- 스위치는 각 장비의 MAC주소를 확인하여 포트에 할당
- 자신에게 향하지 않은 패킷 외에는 받아볼 수 없어 스니핑을 막게 됨 → 스위치가 스니핑을 막기 위해 만들어진 장비는 아니지만 결과적으로는 저지하는 치명적인 장비가 됨
3.2 ARP리다이렉트와 ARP스푸핑
- ARP 리다이렉트
- 공격자가 자신을 라우터라고 속이는 것
- 기본적으로 2계층 공격으로, 랜에서 공격
- 공격자 자신은 원래 라우터의 MAC주소를 알고 있어야 하며, 받은 모든 패킷은 다시 라우터로 릴레이해줘야 함
- ARP 스푸핑은 호스트 대 호스트 공격, ARP리다이렉트는 랜의 모든 호스트 대 라우터라는 점 외에는 큰 차이가 없음
3.3 ICMP 리다이렉트
- ICMP 리다이렉트
- ARP스푸핑과 비슷하지만 연결을 선택할 수 있고, 더 섬세한 공격이 가능하다는 특징이 있음/ 로우 밸런싱을 하는 방법 중 하나임
- 라우터 A가 호스트 A의 기본 라우터로 설정되어 있기 때문에, 호스트 A가 원격 호스트 B로 데이터를 보내면 패킷을 라우터 A로 보낸다.
- 라우터 A는 호스트 B로 보내는 패킷을 수신하고 라우팅 테이블을 검색하여 자신보다 라우터 B를 이용하는 것이 더 효율적이라고 판단하여 해당 패킷을 라우터 B로 보낸다.
- 라우터 A는 호스트 B로 향하는 패킷을 호스트 A가 자신에게 다시 전달하지 않도록, 호스트 A에게 ICMP리다이렉트 패킷을 보내어 호스트 A가 호스트 B로 보내는 패킷이 라우터 B로 바로 향하도록 한다.
- 호스트 A는 라우팅 테이블에 호스트 B에 대한 값을 추가하고, 호스트 B로 보내는 패킷을 라우터 B로 전달한다.
3.4 스위치 재밍
- 스위치 재밍(Switch Jamming)
- 스위치를 직접 공격
- MAC테이블을 위한 캐시 공간에 버퍼 오버플로우 공격을 실시
- 일부 고가의 스위치는 MAC테이블의 캐시와 연산 장치가 사용하는 캐시가 독립적으로 나뉘어 있어 스위치 재밍 공격이 통하지 않음
3.5 SPAN포트 태핑
- SPAN(Switch Port Analyzer)
- 각 포트에 전송되는 데이터를 미러링하는 포트에도 똑같이 보내주는 포트 미러링( Port Mirroring)을 이용한 것
- 주로 IDS를 설치할 때 많이 사용
- SPAN은 주로 시스코에서 사용하는 용어이며, 다른 벤더에서는 ‘Port Roving’이라 부르기도 함
- 태핑
- SPAN은 상당히 많은 문제점을 가져서 효과적인 모니터링을 하는데 어려움이 있는데, 이를 해결할 수 있음
- 허브와 같이 포트를 모니터링하기 위한 장비
- Splitter(스플리터)라고 부르기도 함
4. 스니핑 공격의 대응책
4.1 스니핑 대응책
- 능동적인 대응책 – 스니퍼 탐지
- Ping을 이용한 탐지
- 의심이 가는 호스트에 ping을 보낼 때 네트워크에 존재하지 않는 MAC주소를 위장하여 보냄
- 만약 ICMP Echo Reply를 받으면 해당 호스트가 스니핑을 하고 있는 것
- ARP를 이용한 탐지
- 위조된 ARP request를 스니퍼임을 확인하고자 하는 시스템을 보냄
- 대상 시스템이 응답으로 ARP Response를 보내면 이를 통해 프러미스큐어스 모드로 동작 중인 스니퍼임을 확인
- DNS를 이용한 탐지
- 테스트 대상 네트워크로 ping Sweep을 보내고 들어오는 inverse-DNS lookup 감시
- 유인을 이용한 탐지
- 가짜 계정과 패스워드를 뿌려 공격자가 이 가짜 정보로 접속을 시도하면, 접속을 시도하는 시스템을 탐지
- ARP watch를 이용한 탐지
- 초기에 MAC주소와 IP주소의 매칭 값을 저장하고 ARP트래픽을 모니터링하여 이를 변하게 하는 패킷이 탐지되면 관리자에게 메일로 알려줌
- 수동적인 대응책 – 암호화
- 암호화된 웹 서핑을 가능하게 함
- 40비트와 128비트 암호화키가 존재(현재 우리나라 금융 거래 사이트의 대부분은 40비트 암호화 방법을 사용)
- PGP, PEM, S/MIME 모두 이메일을 전송할 때 사용하는 암호화 방법
- PGP : 내용을 암호화하는 데에 IDEA, IDEA키와 전자 서명을 암호화하는 데에 RSA(Rivest, Sharmir, Addleman (알고리즘 사용/기본적으로 ‘Web of Trust’개념 사용)
- PEM : 공개키 암호화 표준을 따르고, CA에서 키를 관리 데이터 암호화에는 DES-EDE, 키를 위한 암호화 알고리즘에는 RSA, 전자 인증을 위한 해시 함수에는 MD2, MD5 사용
- S/MIME : 이메일 표준인 MIME 형식에 암호화 서비스만을 추가한 것 PKCS를 기반으로 만들어져 있으며, 디지털 인증에 X.509를 사용
- 텔넷과 같은 서비스 암호화를 위해 사용하는 것
- OpenSSL 라이브러리가 SSH를 지원
- SSH를 이용한 암호화 프로토콜은 계속 발전하고 있으며 텔넷보다는 훨씬 더 안전함
- 한 회선을 여러 회사가 공유하여 비용을 절감하려는 목적으로 개발
- VPN을 제공하는 시스템이 해킹을 당할 경우 암호화되기 이전에 데이터가 스니핑이 될 수 있음