정보보안 공부/네트워크

[네트워크] 스누핑 (snooping)

pxatd 2021. 6. 29. 03:32
728x90

스니핑이나 스푸핑에 대해서는 한번쯤 들어 본 적이 있을 것이다. 반면, 스누핑은 그 둘에 비해 생소한 용어라고 느껴져 이번 자료(동아리 발표)를 준비하게 되었다. 


0. 스누핑이란 (snooping)

스누핑은 snoop 염탐하다, 기웃거리다 라는 뜻을 가진 단어에서 유래되었다. 

스니핑과 유사한 의미를 갖지만, 스니핑은 도청 혹은 몰래 엿듣는 의미가 강하고, 스누핑은 네트워크 상에 떠도는 중요 정보를 휙득하는 행위를 말한다는 점에서 차이가 있다.

 

사실, 스누핑에 대해 더 구체적으로 이해하고 싶었지만, 자료가 제한적이였고, 논문 쪽을 봐도 마음에 드는 자료를 찾을 수 없어 스누핑을 활용 한 방어기법인 DHCP 스누핑에 대해 조사해 보았다. 

 

1.  DHCP 스누핑(Snooping) - DHCP Server?

DHCP 스누핑에 대해 설명하기에 앞서, DHCP 에 대해 먼저 설명하면, 우리가 집에서 인터넷을 하기 위해서는 KT나 SK브로드밴드, 유플러스 등의 인터넷 서비스 업체에 가입한 다음 인터넷 모뎀을 통해 PC등의 장치를 연결해서 인터넷을 사용한다. 인터넷을 사용할 때 가끔씩 IP가 바뀌는 경우가 있는데, 이런 IP를 유동 IP라고 한다. 반면에, 고정되어 항상 바뀌지 않는 IP를 고정 IP라고 한다. 왜 유동 IP를 사용하고, 또 왜 고정 IP를 잘 사용하지 않는 것일까? 이와 관련된 것이 DHCP 서버이다. 


DHCP는 Dynamic Host Configuration Protocol의 약자로, 이를 풀어 해석하면 서버에서 보유하고 있는 IP를 유동적으로 관리하는 프로토콜이다. 다시 말해 IP 자동 할당과 분배 기능을 담당하고 있다는 뜻이 된다. 

 

우리가 할당 받는 IP주소는 유동적이다. 그 이유는 바로 IP 주소의 갯수가 유한하기 때문인데, 우리가 사용하는 전 세계의 인터넷 프로토콜은 IPv4로 약 40억개의 IP 개수를 가지고 있다. 

 

IPv4를 디자인 했을 당시에는 현재처럼 많은 장치들이 인터넷에 연결될 것이라는 것 고려하지 않았고 전세계에 스마트폰등의 휴대장치, 인터넷 사물 장치 등이 연결되어 장치마다 IP 주소를 하나씩 할당하게 되면 IP의 관리 문제도 있고 그 중 사용하지 않는 장치가 있을 경우 IP주소가 낭비되기 때문에 이러한 문제를 해결하기 위해 고안된 것이 바로 DHCP인 것이다. 

즉, 한정된 IP주소 개수에서 IP주소를 낭비하지 않기 위해 DHCP 서버에서 DHCP Lease Time(DHCP임대시간)을 적용해 유동적으로 IP를 관리하여 제한된 자원을 효율적으로 관리하고 분배할 수 있게 하는 역할을 한다. 

 

2. DHCP 스누핑(Snooping)

DHCP 스누핑은 이름에서부터 알 수 있듯이 IP주소를 할당하는 DHCP 서버와 스누핑이 합쳐진 용어이다.
DHCP 패킷의 내용을 중간에 가로채서 훔쳐보거나 염탐하는 사용자가 있을 때 그것을 막기 위해 DHCP 응답을 차단시켜주는 역할을 DHCP Snooping이라고 한다. 

 

3. DHCP 스누핑(Snooping) 동작 원리

DHCP 스누핑은 Trusted Port 와 Untrusted Port 두 가지의 포트로 구분된다.

Trusted Port : DHCP 서버 or DHCP Relay Agent 가 접속된 포트이고
Untrusted Port : DHCP 클라이언트가 접속된 포트이다.

DHCP 서버가 보내는 메시지는 가짜 DHCP 서버 역할 방지를 위해 비신뢰 포트에서 가짜로 판단해 무조건 차단한다. 추가로, DHCP 클라이언트가 보내는 메시지를 검사하게 되는데, 이더넷 프레임의 소스 MAC 주소와 DHCP 메시지의 클라이언트 MAC 주소를 비교해 같으면 정상, 다르면 공격 메시지로 판단해 결과에 따라 차단하게 된다.

 

4. DHCP 스누핑(Snooping) 방어 실습

https://m.blog.naver.com/PostView.naver?isHttpsRedirect=true&blogId=jga0674&logNo=221040439856 

 

[가상공격 실습] KALI Linux를 통한 DHCP Spoofing 공격 실습과 방어 대책

위와 같은 토폴로지로 DHCP Spoofing Attack을 실습해보고 방어 대책 설정을 실습한다. R1은 Real ...

blog.naver.com

이를 활용하여 DHCP 스누핑 공격 실습을 한 좋은 블로그가 있어 발표할 때 참고한 블로그이다. 동아리에서 발표할 때는 저 자료를 참고하여 실습 과정을 보여주며 발표했는데, 지금은 링크만 첨부하겠다. 

 

다음에 시간되면 리눅스로 네트워크 관련 실습 다 해봐야지.. 너무 어렵다. 

728x90