본문 바로가기
네트워크

DNS 캐시 테이블

by 끊임없는정진 2023. 1. 26.

▶ DNS 캐시 테이블

우선, 명령 프롬프트 창에서 ipconfig/flushdns 명령어와 ipconfig/displaydns 명령어를 반복해서 입력한다. 

 

police.go.kr 도메인 네임을 IP 주소 116.67.83.27 번으로 바꾸는 일련의 과정을 알아보면 다음과 같다. 사용자가 도메인 네임을 입력하면 윈도우 운영체제는 해당 도메인 네임에 대응하는 IP 주소를 다음과 같은 경로에 위치한 파일에서 먼저 검색한다. 

C:\Windows\System32\drivers\etc

hosts 파일에는 확장자가 없지만 더블클릭하면 해당 내용을 다음과 같이 볼 수 있다

 

police.go.kr 도메인 네임이 없다. 이런 경우 DNS 캐시 테이블에서 해당 도메인 네임에 대응하는 IP 주소를 검색한다. DNS 캐시 테이블에서 police.go.kr 도메인 네임을 검색했다면, 도메인 네임에 대응하는 IP 주소를 참조해 해당 사이트로 접속한다. 그렇지만 DNS 캐시 테이블에서조차 해당 도메인 네임이 없다면 운영체제는 로컬 DNS 서버의 IP 주소로 police.go.kr 도메인 네임에 대한 질의를 요청한다. 

운영체제는 로컬 DNS 서버로부터 도메인 네임에 대한 IP 주소를 응답받으면 해당 내용을 예제 아래와 같이 DNS 캐시 테이블에 반영한다. ARP 요청을 받아 목적지 맥주소를 ARP 캐시 테이블에 반영하는 이치와 똑같다.

 

앞서 게시한 ARP  동작과 DNS 동작을 비교하면 다음과 같다.

순서 ARP 동작 DNS 동작
1 출발지, 목적지 네트워크 ID 비교 hosts 파일 검색
2 ARP 캐시 테이블 검색 DNS 캐시 테이블 검색
3 ARP 요청과 응답 수행 DNS 요청과 응답 수행
4 ARP 캐시 테이블에 목적지 맥 주소 반영 DNS 캐시 테이블에 목적지 IP 주소 반영

 

ARP 캐시 테이블은 IP 주소와 맥 주소의 대응관계를 저장하고, DNS 캐시 테이블은 도메인 네임과 IP 주소의 대응관계를 저장하는 일종의 데이터베이스라고 할 수 있다.

여기서 의문이 생긴다. 만약 데이터베이스에서 부적절한 대응 관계가 일어난다면 사용자가 인터넷에 접속할 때 어떤 결과가 나타날까? 다시 말해, ARP 캐시 테이블에 라우터의 맥 주소가 아니라 다른 누군가의 맥 주소이거나 DNS 캐시 테이블에 도메인 네임에 대응하는 IP 주소가 실제 IP 주소와 다른 IP 주소라고 한다면 과연 사용자는 자신이 원하는 목적지로 정확하게 갈 수 있을까?

이처럼 ARP 캐시 테이블과 DNS 캐시 테이블에 저장한 대응 관계를 조작해 수행하는 공격을 각각 ARP 스푸핑(Spoofing) 공격DNS 스푸핑(Spoofing) 공격이라고 한다. DNS 스푸핑 공격을 파밍(Pharming) 공격이라고도 한다.

DNS 스푸핑 공격은 hosts 파일 변조를 통해서도 가능하다. 운영체제는 DNS 검색 시 hosts 파일을 우선적으로 참조하기 때문에 치명적일 수 밖에 없다. 간단한 실험으로 확인해볼 수 있다. 메모장을 관리자 권한으로 실행 한 후에, hosts 파일 제일 마지막 줄에 임의의 IP와 도메인을 입력한 뒤 저장하면, 웹 브라우저로 해당 페이지에 도메인으로 접속하면 IP주소에 따른 페이지에 접속된다. (ex. hosts 마지막 줄에 203.232.224.4 police.go.kr 을 입력하고 저장하면, poice.go.kr 에 접속해도 경찰청 페이지가 아닌 hufs 페이지에 접속이 된다.) 

공격자가 DHCP 서버를 장악해도 위험하다. DHCP 서버는 클라이언트에게 DNS 서버 IP주소도 할당해주는데, 공격자가 가짜 DNS  서버 IP 주소를 할당하면 클라이언트 사용자는 가짜 DNS 서버를 이용할 수 밖에 없기 때문이다. 이것을 DHCP 스푸핑 공격이라고 한다.(후에 자세히 다시 그리고 자세히 설명함.)

 

 

출처 : 해킹 입문자를 위한 TCP/IP 이론과 보안 2/e - 오동진 지음

'네트워크' 카테고리의 다른 글

데이터 전송 단위  (0) 2023.01.27
포트 주요 정보 정리  (0) 2023.01.27
ARP 캐시 테이블  (0) 2023.01.26
IEEE 802 의 역사  (0) 2023.01.26
DNS서비스와 물리적 주소  (1) 2023.01.26

댓글