정보보안 공부/네트워크

[네트워크] 스니핑 공격 (Sniffing Attack)

pxatd 2021. 5. 4. 16:04
728x90

1. 스니핑의 개념

단어의 사전적 의미인 '코를 킁킁거리다', '냄새를 맡다'와 비슷한 의미를 가진 해킹기법으로서 스니핑은 네트워크 상에서 자신이 아닌 다른 상대방들의 패킷 교환을 엿보는 것을 의미한다.
스니핑은 네트워크 상에서 전송자와 수신자 사이에 주고받는 데이터를 패킷 수준으로 분석하여 계정, 비밀번호, 프로토콜, 시스템정보 등 유의미한 내용을 알아내기 위한 해킹기법이다. 네트워크 상에 흘러다니는 트래픽을 엿듣는 도청장치. 아무것도 하지 않고 듣고있는 것 만으로도 충분히 공격을 가하는 것이기 때문에 수동적 공격이다.

2. 스니퍼 (Sniffer)

이런 스니핑을 할 수 있도록 하는 도구를 스니퍼(Sniffer)라고 하며 스니퍼를 설치하는 과정은 전화기 도청장치를 설치하는 과정에 비유될 수 있다. (= 네트워크의 트래픽을 도청하는 행위)

3. 스니핑의 공격 원리

스니핑을 이해하기 위해서는 먼저 이더넷 로컬 네트워크의 동작원리를 이해해야 한다. 이더넷 로컬 네트워크 내의 모든 호스트는 동일한 선을 공유하도록 설계되었으며, LAN 상에서는 개별호스트를 구별하기 위한 방법으로 물리적인 주소인 MAC 주소를 사용한다. 따라서 전송하는 주체는 자신의 MAC주소와 수신 주체의 MAC 주소, 그리고 데이터를 포함하여 전송하게 되고, 로컬 네트워크 내의 모든 호스트는 수신 MAC 주소를 확인하여 본인이 아닐경우 해당 패킷을 폐기하는 방식으로 동작합니다. 이때, 로컬 네트워크를 동작하게 만드는 하드웨어 장치인 랜카드의 모드를 promiscuous로 변경하게 되면 모든 패킷을 버리지 않기 때문에 다른 호스트들 간의 통신 내용 또한 수신할 수 있게 된다.

=>로컬네트워크 상에서 각 호스트는 유일하게 구별이 가능하다. 이더넷은 로컬 네트워크 내 모든 호스트가 같은 선을 공유하도록 하는데 이로 인해 같은 네트워크 내의 컴퓨터가 통신하는 모든 트래픽을 볼 수 있다. 하지만 이더넷 인터페이스는 자신의 Mac주소를 갖지않는 트래픽은 무시한다.(=필터링)
Sniffing attack은 이 필터링을 무시하고 모든 트래픽을 볼 수 있는 모드를 설정하여 트래픽을 도청하는 방식을 취한다.

+) 추가 학습
1. 이더넷이란?
이더넷(Ethernet)은 컴퓨터 네트워크 기술의 하나로, 일반적으로 LAN, MAN 및 WAN에서 가장 많이 활용되는 기술 규격이다. 이더넷의 가장 큰 특징은 CSMA/CD 프로토콜을 이용하여 통신을 한다는 점이다.

*이더넷에 대해 참고해볼 블로그
neohtux.tistory.com/60
security-nanglam.tistory.com/192



2. MAC 주소란?
MAC(Media Access Control)의 약자로, 앞에서 설명한 이더넷 네트워크에 연결된 각 기기들은 고유의 MAC 주소를 가지며, 이 주소를 이용해 상호간에 데이터를 주고 받을 수 있도록 만들어졌다. 모든 네트워크 장비나 랜카드에는 고유한 MAC주소를 가지고있으며, 따라서 랜카드 하나하나마다 서로 다른 MAC주소가 있고, 또 라우터나 스위치에도 MAC주소가 있다.

2.1 MAC주소와 IP주소의 차이점
MAC 주소와 IP 주소는 둘 다 고유한 주소라는 공통점이 있지만 IP주소는 사설 IP주소로 겹치는 경우가 있다는 점에서 차이가 있다. 사설 IP주소란 공인 IP 주소의 부족으로 개발되었으며 자기 네트워크망 내부에서만 사용할 수 있다. 이 네트워크로 외부와 통신을 하면 공유기에 연결괸 모든 네트워크 장비는 하나의 공인 IP 주소로 통신을 하게 되기 때문에 외부에서는 IP주소로만 해당 컴퓨터를 찾을 수 없게 된다. 이러한 이유로 MAC 주소가 있는것인데, MAC주소는 유일한 주소로 겹치는 경우가 없어 통신을 할 때 사설 IP주소와 같은 문제점이 생기지 않는다.

728x90