DHCP 란 ?
- IP를 필요로 하는 컴퓨터에게 IP를 자동으로 할당
- 사용하지 않으면 반환 받아 다른 컴퓨터에 IP를 할당
- 서브넷 마스크, 기본 게이트웨이 주소, 도메인 네임 서버(DNS) 주소 및 관련 설정 매개 변수 값도 할당 가능
DHCP 동작 절차
1. 사용자가 DHCP Discover(Broadcast)를 DHCP 서버로 전송
(동일 네트워크에 DHCP 서버를 찾는 패킷)
2. DHCP 서버가 DHCP Offer(Broadcast 또는 Unicast)를 사용자에게 전송
(Discover 패킷을 받은 서버가 호스트에게 네트워크 정보에 대해 제안을 요청하는 패킷)
3. 사용자가 DHCP Request(Broadcast 또는 Unicast) 를 서버에 전송
(Offer 패킷으로 전달된 네트워크 정보 이용 시 해당 정보에 대한 사용 요청을 보내는 패킷)
4. DHCP 서버가 사용자에게 DHCP Acknowlegement(Broadcast 또는 Unicast)를 보냄
(서버에서 확인했음을 알려주는 패킷)
5. ACK를 받은 사용자는 Gratuious ARP(GARP)를 브로드 캐스팅
즉, 내가 할당 받은 IP와 동일한 네트워크에 내가 할당 받은 IP와 똑같은 IP가 있는지 확인하기 위한 작업입니다.
(IP가 충돌을 방지하기 위한 작업)
6. GARP 응답이 없는 경우 할당 받은 IP를 이용하여 통신을 수행
취약점 발생 원인
- 사용자는 DHCP에 대한 정보를 저장하지 않습니다.
- 인증 메커니즘이 없습니다.
- 암호화 메커니즘이 없습니다.
DHCP Spoofing
취약점
- DHCP는 UDP로 동작하여 인증을 수행하지 않습니다.
- DHCP Spoofing은 DHCP 프로토콜이 인증을 수행하지 않는 취약점을 이용하여 DHCP 프로토콜이 제공하는 정보를 조작해서 타겟 PC를 속입니다.
- 조작된 Gateway 주소, DNS 주소 정보를 전달하여 공격을 수행합니다.'
공격 순서
1. 사용자가 IP를 받기 위해 Broadcast를 뿌립니다.
2. 공격자는 DHCP 서버보다 DHCP Offer 패킷을 사용자에게 전달합니다.
3. 사용자 호스트는 DHCP 서버에서 뒤늦게 전송한 DHCP Offer 패킷을 무시합니다.
DHCP Starvation
DoS 공격 기법 : 공격자가 MAC주소를 계속 변경하며 DHCP서버로부터 IP주소를 할당 받습니다. DHCP 서버가 보유한 모든 IP주소를 소진합니다. 정상적인 호스트가 IP주소를 할당 받지 못하는 상황이 발생합니다.
DHCP서버는 Discover(패킷)안의 MAC 주소만 보고 호스트를 인식합니다.
보통 DHCP Starvation 공격 수행 후 DHCP Spoofing 공격을 수행하며, 중간에서 주고 받은 정보를 탈취합니다.
공격 대응 방법
Port-Security
- 스위치 포트에 보안 설정
- 스위치에서 Port-Security를 구성할 경우 출발지 MAC주소를 변조하는 공격을 차단 가능합니다.
구성 방식은 3가지가 있습니다.
- Dynamic Port-Security : 관리자가 특정 Device MAC주소를 스위치 포트에 등록하는게 아니라 스위치 포트가 자동으로 등록합니다. 만약 스위치 포트에서 지정한 Device MAC주소가 아닐 시 해당 Port를 Shutdown으로 전환합니다.
- Static Port-Security : 관리자가 특정 Device의 MAC 주소를 정적으로 포트에 등록하는 방식입니다.
- Port-Sticky : Dynamic Port-Security와 Static Port-Security의 혼합방식
DHCP Spoofing 공격 대응 방법
- 스위치에서 DHCP Snooping 기능 활성화
- 2계층 헤더, 3 ~ 4 계층에 있는 DHCP 메세지 내부까지 검사가 가능합니다.
DHCP Snooping 스위치 포트에는 Trust Port와 Untrust Port가 있습니다.
신뢰된 통신은 Trust Port로 통신 허용, 허가 되지 않은 통신은 Untrust Port로 가도록 하는 설정입니다.
'네트워크' 카테고리의 다른 글
HTTP 버전 프로토콜에 따른 기능 차이 (0) | 2023.10.25 |
---|---|
"이 사이트 보안 인증서에 대한 해지 정보를 사용할 수 없습니다" 해결방법 (0) | 2023.03.03 |
HTTP Version (0) | 2022.08.29 |
HTTP method type (GET, HEAD, POST, PUT, DELETED, CONNECT, TRACE) (0) | 2022.08.18 |
Wireshark] 필터링(수집)/컬러링/표와 그래프 작성/분석/ (0) | 2022.04.05 |