본문 바로가기
cs

[정보보안] dns cache poisoning (dns spoofing, dns 스푸핑)

by 최연탄 2016. 4. 22.
728x90
반응형

dns cache poisoning은 인터넷 트래픽을 합법적인 서버에서 가짜 서버로 돌리는 domain name system(dns) 취약점 공격 방법 중 하나입니다. dns 스푸핑이 위험한 가장 큰 이유는 잘못된 정보가 한 dns에서 다른 dns로 퍼져나가기 때문입니다.


- dns의 작동 방법

dns는 도메인 이름과 ip 주소를 연결시켜주는 거대한 분산시스템입니다. 컴퓨터가 'naver.com' 같은 도메인에 접근하려 할 때, 가장 먼저 이미 설정된 dns 서버에 접속합니다. 이때 dns 서버는 'naver.com'에 도달할 수 있는 하나 이상의 ip 주소를 보내줍니다. 그러면 사용자의 컴퓨터는 숫자로된 ip 주소로 직접 연결을 시도하게 됩니다. dns는 사람이 읽기 쉬은 'naver.com' 같은 주소를 컴퓨터가 읽을 수 있는 ip 주소로 바꿔주는 역할을 합니다.


- dns caching

internet service provider(isp: kt, sk브로드밴드, lg데이콤 등)는 자체적으로 dns 서버를 운영하고 있습니다. 이는 다른 dns에서 정보를 cache 합니다. 우리 가정에 있는 공유기도 isp의 dns가 가진 정보를 cache 하면서 dns 서버 역할을 할 수 있습니다. 또한 로컬 컴퓨터에서도 dns cache를 합니다. 이를 통해 이전에 접속한 정보를 반복적으로 물어보지 않게 하면서 더 빠른 웹사이트 접속을 가능하게 합니다. 이와 같이 dns 서버들은 서로 정보를 교환하고 공유하여 전 세계 어디에 있는 웹사이트라도 접속 가능 하도록 합니다.


- dns cache poisoning

dns cache에 엉뚱한 항목이 포함됨 으로서 cache가 오염될 수 있습니다. 만일 공격자가 dns 서버를 제어할 수 있게 돼서 안의 정보를 조작(naver.com의 ip 주소를 실제가 아닌 가짜 ip 주소로 변경)한다면 dns 서버는 naver.com에 대해 잘못된 ip 주소를 넘겨주게 됩니다. 이 잘못된 ip 주소가 공격자의 악의적인 피싱 사이트가 될지도 모르는 일입니다. 또한 오염된 dns 정보는 여러곳으로 퍼질 수 있습니다. 만약 여러 isp에서 손상된 서버로 부터 dns 정보를 받는다면 오염된 dns 항목은 isp들에게 퍼져 cache 될 것입니다. 이후에는 가정의 라우터에 까지 cache되어 사용자는 잘못된 사이트에 접속하게 될 것입니다.


- man in the middle

이러한 world-wide한 문제와 달리 사용자의 컴퓨터가 중간자 공격을 받는 경우 naver.com의 ip 주소를 알아내기 위해 정보를 요청하면 공격자가 중간에서 요청 내용을 변경하여 dns에 보내고 dns는 정상적으로 응답을 하게 되지만 변조된 도메인 이름에 대한 ip 주소를 받은 것이므로 의도치 않은 곳으로 접속하게 될 것입니다.

반응형

댓글