스니핑(Sniffing)


스니핑 공격을 수동적 공격이라고도 말하는데, 그 이유는 공격할 때 아무 것도 하지 않고 조용히 있는 것만으로도 충분 하기 때문이다.


스니핑의 개념을 찾을 수 있는 곳은 많다.

드라마에서 주인공이 다른 이의 대화를 엿듣는 것도, 도청도 스니핑 공격의 일종이다.


또 전화선이나 UTP(Unshielded Twisted Pair)에 태핑(Tapping)을 해서 전기적 신호를 분석해 정보를 찾아내는 것도 스니핑 공격의 일종이다.

전기적 신호를 템페스트(Tempest) 장비를 이용해 분석하는 것도 스니핑 공격이다.

이러한 다양한 공격 중에서 오늘 관심을 가질 것은 유선 랜을 통한 스니핑 공격이다.





기본적으로 네트워크에 접속하는 모든 시스템은 설정된 IP와 고유한 MAC 주소값을 가지고 있다. 통신을 할 때 네트워크 카드는 이 두가지 정보를 가지고 2,3계층 정보가 자신의 것과 일치하지 않는 패킷을 무시해 버린다.







그러나 스니핑을 수행하는 공격자는 자신이 가지지 말아야 할 정보까지 모두 볼수 있어야 하기 떄문에 2계층과 3계층 정보를 이용한 필터링은 방해만 될뿐이다.

이럴 때 2,3계층 필터링을 해제하고 모든 패킷을 받아드리는 모드를 프러미큐어스(Promicuous) 모드라고 한다.

프로미큐어스 모드는 간단한 설정 사항이나 스니핑을 위한 드라이버 설치를 통해 바꿀 수 있다.




1. ICMP 리다이렉트


보통의 네트워크는 라우터나 게이트웨이가 하나다.

하지만 하나의 라우터로 이를 감당할 수 없을 때는 어덯게 해야 할까? 라투어나 게이트웨이를 두 개 이상 운영해서 로드밸런싱(Load Balancing)을 해야 할 것이다.

로드 밸런싱을 하는 방법은 다양하다. 시스템의 라우팅 테이블에 라우팅 엔트리를 하나 더 넣어 주는 방법도 있으나 ICMP 리다이렉트를 사용하기도 한다.





1. 호스트 A에 라우터 A가 기본 라우터로 설정되어 있기 때문에, 호스트 A가 원격의 호스트 B로 데이터를 보낼 때 패킷을 라우터 A로 보낸다.

 

2. 라우터 A는 호스트B로 보내는 패킷을 수신하고 라우팅 테이블을 검색하여 호스트A에게 자신을 이용하는 것보다 라우터 B를 이용하는 것이 더 효율적이라고 판단하여 해당 패킷을 라우터B로 보낸다.


3. 라우터 A는 호스트 B로 향하는 패킷을 호스트 A가 자신에게 다시 전달하지 않도록, 호스트 A에게 ICMP리다이렉트 패킷을 보내서 호스트A가 호스트 B로 패킷을 보낼땐 바로 라우터 B로 향하도록 한다.


4. 호스트 A는 라우팅 테이블에 호스트B에 대한 값을 추가하고, 호스트 B로 보내는 패킷은 라우터 B로 전달한다.





ICMP 리다이렉트를 이용한 공격 방법은 간단한다. 공격자가 바로 라우터B가 되는 것이다. ICMP 리다이렉트 패킷도 공격 대상에게 보낸 후 라우터 A에게 다시 릴레이 시켜주면 모든 패킷을 스니핑 할 수 있다.




ICMP 리다이렉트는 2계층 공격이 아니다. 3계층에서 패킷을 주고받기 때문에 잘 응용하면 로컷의 랜이 아니더라도 공격이 가능하다.




2. 스위치 재밍(MACOF)


스위치에는 포트와 MAC주소를 저장한 테이블이 있다.

스위치 재밍(switch jamming)은 이러한 테이블의 기능을 마비시키는 공격이다. MACOF 공격이라고도 한다.

스위치에 랜덤한 형태로 생성한 MAC을 사진 패킷을 무한대로 보내면, 스위치의 MAC테이블은 자연스레 용량을 넘게되고, 이는 스위치의 원래 기능을 읽고 더미 허브처럼 작동하게 된다.

하지만 모든 스위치가 그런 것은 아니다.

일부 스위치는 MAC 테이블의 캐시와 연산자가 쓰는 캐시가 독립적으로 나뉘어져 있어 스위치 재밍공격이 통하지 않는다.



3. SPAN 포트 태핑


SPAN(Switch Port Analyzer)은 포트 미러링(Port Mirroring)을 이용한 것이다.

포트 미러링이란 각 포트에 전송되는 데이터를 미러링하고 있는 포트에도 똑같이 보내주는 것이다. 침입탐지 시스템이나 네트워크 모니터링 또는 로그 시스템을 설치할 때 많이 사용한다.


SPAN 포트는 기본적으로 네트워크 장비에서의 하나의 설정 사항으로 이뤄지지만, 포트 태핑은 하드웨어적인 장비로 제공되고 이를 스플리터(Splitter)라고 부르기도 한다. SPAN포트와 태핑 장비의 구입에 어려움이 있다면 IDS를 설치하고자 하는 곳에 허브를 설치해야 하는 것도 하나의 방법일 수 있지만 네트워크가 느려지는 것을 감수 해야한다.



4. 스니퍼의 탐지 


스니핑 공격은 네트워크에 별다른 이상 현상을 만들지 않기 때문에, 사용자가 이를 인지하는 것이 어렵고 능동적인 탐지를 통해서만 잡아낼 수 있다.


스니퍼에 대한 탐지의 아이디어는 스니퍼가 프러미스큐어스 모드에서 작동한다는 것에서 시작한다.


PING을 이용한 스니퍼 탐지

대부분 스니퍼는 일반 TCP/IP에서 동작하기 때문에 Request를 받으면 Response를 전달한다.

이를 이용해 의심이 가는 호스트에 ping을 보내면 되는데, 네트워크에 존재하지 않는 MAC 주소를 위장하여 보낸다. 왜냐하면 존재하지 않는 MAC 주소를 사용했기 때문에 프러미스큐어스모드가 아니라면 누구도 볼수가 없다.



ARP를 이용한 스니퍼 탐지

ping과 유사한 방법으로, 위조된 ARP Request를 보냈을 떄, ARP Response가 오면 프러미스큐어스 모드로 설정되어 있는 것이다.


유인(Decoy)을 이용한 스니퍼 탐지

스니핑 공격을 하는 공격자의 주요 목적은 ID와 패스워드의 획득에 있다.

보안 관리자가 이 점을 이용하여 가짜 ID와 패스워드를 네트워크에 계속 뿌린다.

공격자는 이 ID와 패스워드를 이용하여 접속을 시도하는데, 이 접속을 시도하는 시스템을 감지함으로써 스니퍼를 탐지할 수 있다.




+ Recent posts