560 likes | 1.21k Vues
Dynamic Host Configuration Protocol. DHCP. DHCP. 동적 IP address 할당 PC 가 부팅되면 DHCP 서버 에게 IP 주소를 받아오는 방식 UDP 67, 68 사용 67 - 서버 용 68 - 클라이언트 용 DHCP 장점 IP 주소 잘 못 입력을 막을 수 있다 . 정확한 네트워크 구성이 보장된다 . DHCP 동작과정. DHCP 동작과정. DHCP Discover. DHCH Offer. DHCP Request. DHCP Ack.
E N D
DHCP • 동적 IP address 할당 • PC가 부팅되면 DHCP서버 에게 IP 주소를 받아오는 방식 • UDP 67, 68 사용 • 67 - 서버 용 • 68 - 클라이언트 용 • DHCP 장점 • IP 주소 잘 못 입력을 막을 수 있다. • 정확한 네트워크 구성이 보장된다.
DHCP 동작과정 DHCP Discover DHCH Offer DHCP Request DHCP Ack
DHCP Discover • Client -> Server • 'Discover' message 전송 (IP 임대요청 시작) • 출발지 포트 번호 : 68 • 목적지 포트 번호 : 67 • 출발지 IP 주소 : 0.0.0.0 • 목적지 IP 주소 : 255.255.255.255
DHCP Offer • Server -> Client • 'Offer' message 전송 (IP 임대응답) • 출발지 포트 번호 : 67 • 목적지 포트 번호 : 68 • 출발지 IP 주소 : DHCP 서버 • 목적지 IP 주소 : 255.255.255.255
DHCP Request • Client -> Server • 'Request' message 전송 (IP 임대최종 요청) • 출발지 포트 번호 : 68 • 목적지 포트 번호 : 67 • 출발지 IP 주소 : 0.0.0.0 • 목적지 IP 주소 : 255.255.255.255
DHCP Ack • Server -> Client • 'Ack' message 전송 (IP 임대) • 출발지 포트 번호 : 67 • 목적지 포트 번호 : 68 • 출발지 IP 주소 : DHCP 서버1 • 목적지 IP 주소 : 255.255.255.255
DHCP Lease • 정해진 임대 기간의 50% • 50%때 연장 실패 시 87.5% • 87.5%에서도 실패 시 임대초기화 • 임대 연장 순서 DHCP Request DHCH Ack
DHCP 취약점 DHCP DOS 공격 DHCP Starvation 공격 DHCP Spoofing 공격
DHCP 문제점 • DHCP의일반적인문제 • 주소충돌 • DHCP 주소획득실패 • DHCP 데이터베이스의데이터변형이나손실 • 이용가능한 IP주소의고갈
DHCP DOS 공격 • DHCP DOS 공격 • DHCP DISCOVER • DHCP RELEASE • 반복적으로 보내어 DHCP Service를 무력화
DHCP DOS 공격 DHCP Discover DHCH Release DHCP Discover DHCH Release DHCP Discover DHCP Server Attacker DHCH Release
DHCP DOS 공격 방어 • ipdhcpsnooping • Snooping기능 켜기 • ip dhcp snooping vlan 10 • 특정 vlan에서 snooping기능 작동 • ipdhcp snooping information option • Relay agent 활성화 • DHCP Reply는 Broadcast이므로 독립된 서브넷에DHCP서버가 있는 경우 이 기능을 통해서 router를 통과하는 Broadcast Message 생성 • intfa 0/1 • ipdhcp snooping limit rate 100 • 해당 인터페이스에 서의 초당 최대 IP요청 횟수를 제한
DHCP Starvation 공격 • DHCP Starvation Attack • 공격자가 MAC주소를 계속 변경하여 DHCP DISCOVER 메시지를 보낸다. • DHCP는 한정된 IP주소만을 할당하기 때문에 결국에 고갈된다.
DHCP Starvation 공격 DHCP Discover 11:11:11:11:11:11 DHCP Discover 11:11:11:11:11:12 IP:1.1.1.1 DHCP Discover 11:11:11:11:11:13 IP:1.1.1.2 IP:1.1.1.3 DHCP Discover 11:11:11:11:11:14 DHCP Server Attacker
DHCP Starvation 공격 방어 • ipdhcpsnooping • Snooping기능 켜기 • ip dhcp snooping vlan 10 • 특정 vlan에서 snooping기능 작동 • ipdhcp snooping trust • 신뢰성이 있는 인터페이스를 trust 상태로 변환 • Trust상태인 포트에서 들어오는 DHCP 관련 Broadcast는 신뢰한다
DHCP Spoofing 공격 • DHCP Rogue Server • 1. 가짜 DHCP서버(Rogue Server)를 설치 • 2. DHCP DISCOVER 메시지 수신 • 3. DHCP OFFER를 가짜 DHCP서버가 보냄 • 4. Client가 Rogue 서버를 DHCP서버로 인식
DHCP Spoofing 공격 방어 • ipdhcpsnooping • Snooping기능 켜기 • ip dhcp snooping vlan 10 • 특정 vlan에서 snooping기능 작동 • ipdhcp snooping trust • 해당 인터페이스를 trust 상태로 변환 • Trust상태인 포트에서 들어오는 DHCP 관련 Broadcast는 통과시킴
Domain Name System의 약어로,호스트 이름과 IP주소를 매핑 시켜주는 분산 네이밍 시스템 초기의 인터넷은 호스트IP 주소와 이름이 일대일로 대응 하였다. 호스트의이름을 유일하게 부여하는 한계가 있었고, 호스트의 수가 늘어나면서 네트워크가 감당 할 수 없게 됨 이런 문제점을 해결하기 위해 만든 것이 바로DNS 이다. DNS란
DNS 구조 • 도메인 구조는 전체적으로 계층적 구조를 지님 • 최상위 레벨 도메인은 기관이나 국가를 나타내는 경우가 많음 • 2레벨 도메인은 2자리이름으로 축약해 성격을 나타냄 • 서비 도메인은 2 레벨 도메인 관리자가 여러 단계로 생성이 가능
DNS 취약점 DNS Zone Transfer DNS Dynamic Update DNS 코드 취약점 DNS Caching Poisoning
DNS Zone Transfer • Zone Transfer를 사용하는 이유 • 보조 DNS서버에게 Domain Name 정보를 넘겨주기 위해 • 공격 방법 • 공격용 DNS서버를 보조 DNS서버로 위장시켜 정보를 넘겨받는다. • 방어 방법 • 인증 / 신뢰가는 포트 설정 • TSIG 사용
DNS Zone Transfer Zone Transfer 요청 Zone Data 전송 공격자의 DNS Server Primary DNS Server 위장 Secondary DNS Server 공격자
DNS Zone Transfer 방어 • named.conf(/etc/named.rfc1912.zones) • allow-transfer { x.x.x.x;}; • Zone 데이터를 획득할 수 있는 시스템 제한 • Secondary 서버는zone data를 넘길 일이 없으므로allow-transfer {none;}; 설정 • TSIG • BIND-8.2 이상 버전에서 지원 • Zone 데이터에 대한 인증과 검증 • Primary master name server와 slave name server에 암호 키를 설정 • 통신할 때 암호 키를 사용해서 인증
DNS Dynamic Update • DNS Dynamic Update • DNS정보를 업데이트하는 관리기능 • BIND-8 이상의 버전에서만 사용가능 • 디폴트 : Disable • 단, 기능을 사용할 경우주의 • 공격방법 • DNS로 하여금 잘못된 정보를 업데이트하도록 유도 • DNS는 잘못된 정보를 공격대상에게 알려주어 통신
DNS Dynamic Update DNS 변화 알림 거짓 정보 Update DNS Update요청 Primary DNS Server Secondary DNS Server 공격자의 DNS Server 위장 Secondary DNS Server Primary DNS Client 공격자
DNS Dynamic Update 방어 • IP 주소를 이용하여 제한 • 먼저 라우터나Firewall에서 IP Spoofing 공격을 차단하도록 설정 • 왜냐하면 IP 주소를 이용한 인증은 spoofing 공격을 이용하여 우회할 수 있기 때문 • TSIG Key • BIND-8.2 이상 버전에서 지원 • Zone 데이터에 대한 인증과 검증 • Primary master name server와 slave name server에 암호 키를 설정 • 통신할 때 암호 키를 사용해서 인증
DNS 코드 취약점과 방어방법 • 취약점 • DNS 트래픽 • 일반적으로 Firewall을 통과 • DNS 트래픽으로 위장하여 악성코드 실행/루트쉘 획득 • 주로 버퍼 오버플로우 공격 • 방어 방법 • 사용 안 하는 DNS 서비스 종료 • 최신버전의 BIND 사용 • Root권한이 아닌사용자 권한으로 named 실행
DNS 쿼리 조회 시 로컬 캐시에 저장된 정보를 먼저 조회 DNS캐시의 값을 변조 시키면 쉽게 해킹 가능 이러한 특성을 이용한 공격 중 하나가 “DNS caching poisoning”기법 DNSCache Poisoning 취약점
DNS Address Spoofing “com” DNS Server IP : 2.2.2.2 Recursive Query Root(”.”) DNS Server 4. DNS Query “naver.com.”? 3. “com.” DNS Server = 2.2.2.2 5. “naver.com.” DNS Server = 3.3.3.3 6. DNS Query “café.naver.com.”? “naver.com” DNS Server IP : 3.3.3.3 2. DNS Query “com.”? 7. “café.naver.com.” = 4.4.4.4 Local DNS Server 1. DNS Query “café.naver.com.” DNS Client
DNS Cache Poisoning “com” DNS Server IP : 2.2.2.2 Recursive Query Root(”.”) DNS Server Local DNS Server 1. 가짜 cache 정보 전송 “naver.com” DNS Server IP : 3.3.3.3 3. 잘못된 IP 주소 응답 2. DNS Query “café.naver.com.” Attacker DNS Client
DNS Cache Poisoning 방어 • Cache/resolving DNS 서버 • 사용중인DNS의 최신 버전의 BIND 사용 • Recursion 기능을 사용시 • 신뢰할 수 있는 호스트에 대해서만 recursive query에 대한 응답이 가능하도록 설정 • 필요하지 않을 경우에는Disable
5조 DHCP&DNS 감사합니다.
쿼리를 요청 시 수/송신 포트와 transaction ID를 부여 임의의 값이 생성되는 것을 예측하면 caching 조작이 가능함 DNS Cache Poisoning • 이 공격이 성공한다면, DNS 쿼리 데이터를 변경,삭제 등의 작업이 가능
DNS Cache Poisoning • 공격자는 로컬 DNS 서버를 목적지로 해서 조작된 응답을 전송하고, 진짜 정보 보다 먼저 응답하여 전송 • 그러면 로컬 DNS는 공격자가 보낸 정보를 저장하고, 다른 Client들이 정보 요청 시 Cache에 저장된 조작된 정보를 주게 되고, 그로 인해 의도치 않은 다른 사이트로 접속하게 되는 문제점이 발생한다.
DNS Address Spoofing “com” DNS Server IP : 2.2.2.2 Recursive Query Root(”.”) DNS Server 4. DNS Query “naver.com.”? 3. “com.” DNS Server = 2.2.2.2 5. “naver.com.” DNS Server = 3.3.3.3 6. DNS Query “café.naver.com.”? “naver.com” DNS Server IP : 3.3.3.3 2. DNS Query “com.”? 7. “café.naver.com.” = 4.4.4.4 Local DNS Server 1. DNS Query “café.naver.com.” DNS Client
DNS Address Spoofing “com” DNS Server IP : 2.2.2.2 Recursive Query Root(”.”) DNS Server 4. DNS Query “naver.com.”? 3. “com.” DNS Server = 2.2.2.2 5. “naver.com.” DNS Server = 3.3.3.3 6. DNS Query “café.naver.com.”? “naver.com” DNS Server IP : 3.3.3.3 2. DNS Query “com.”? 7. “café.naver.com.” = 4.4.4.4 Local DNS Server 1. DNS Query “café.naver.com.” Attacker DNS Client