2007/08/12

DNSSEC: DNS Security Extentions(DNS 보안성 확장)" 이란?

- 다음 내용은 정통부 산하 한국인터넷진흥원(http://dnssec.nida.or.kr/)의 DNSSEC 기술의 내용을 발췌 한것으로 서버운영,보안 기술에 도움이 되는 내용입니다. -


DNSSEC이란?

DNSSEC은 도메인 네임 시스템(DNS)이 갖고 있는 보안 취약점을 극복하기 위한 DNS 확장 표준 프로토콜이다.

"DNS Security Extentions(DNS 보안성 확장)"을 축약하여 DNSSEC이라 부른다.

DNS 프로토콜은 데이터 위-변조 침해공격의 위협에 취약하다는 문제점을 가지고 있었다.

DNS 데이터의 위-변조 침해공격은 진짜 사이트와 동일한 모습으로 위장하고 있는 가짜 사이트로 사용자들이 접속하게끔 유도할 수 있다.

자신이 접속하고 있는 사이트가 가짜 사이트인 줄 모르는 사용자는 자신의 로그인 계정과 암호, 그리고 신용카드 비밀번호와 같은 개인정보를 가짜 사이트의 웹 페이지에서 입력하게 되어, 개인 정보가 악의를 가진 공격자에게 노출되는 사고가 발생할 수 있다.


DNS 데이터 위-변조 공격, DNS 캐시 포이즈닝


DNS 데이터를 위-변조하는 공격 형태를 "DNS 캐시 포이즈닝(DNS Cache Poisoning)"이라 하며, 혹은 "파밍(Pharming)"이라고도 한다.

예로써, 온라인 뱅킹 서비스를 이용하기 위해 은행 웹 사이트 www.a-bank.co.kr에 접속하는 경우를 상정해 보자.

그림에서와 같이, www.a-bank.co.kr의 진짜 주소는 202.31.188.5이지만, 악의의 공격자는 이 www.a-bank.co.kr의 주소가 192.0.2.100인 것처럼 위변조할 수 있다.





사용자는 PC에서 웹 브라우저의 주소창에 "http://www.a-bank.co.kr"을 입력하고 접속을 시도한다.
웹 브라우저는 접속 사이트의 IP 주소를 알아야 해당 서버에 접근할 수 있으므로, 도메인 네임 www.a-bank.co.kr의 IP 주소를 파악하는 절차를 먼저 수행한다.

그림에서와 같이, PC 호스트 시스템은 리커시브 네임서버에 대해 www.a-bank.co.kr에 대한 IP 주소를 질의한다.

PC 호스트는 DNS 응답 패킷에서 www.a-bank.co.kr 사이트의 웹 접속에 필요한 IP 주소를 얻게 된다.

리커시브 네임서버는 PC 호스트로부터의 질의에 응답할 때, DNS 데이터를 임시로 저장하는 캐시에서 해당 데이터로서 응답한다.

문제는 이 캐시에 저장된 DNS 데이터가 위-변조된 데이터일 경우에 발생한다.

www.a-bank.co.kr 은행사이트의 진짜 IP 주소는 202.31.188.5인데, 누군가가 위-변조된 DNS 응답 메시지로 리커시브 네임서버를 속여 www.a-bank.co.kr의 IP 주소가 192.0.2.100인 것으로 믿게 하여 이를 캐시에 저장하는 경우가 이에 해당한다.

이렇게 되면 이 리커시브 네임서버를 사용하고 있는 모든 PC 호스트는 www.a-bank.co.kr 사이트에 접속을 하려 할 때, 202.31.188.5 주소의 서버가 아니라 192.0.2.100의 서버에 접속하게 된다.

이 과정은 PC 호스트와 네임서버 간에 일어나는 절차에 의한 것이므로, 사용자는 자신이 가짜 웹 사이트에 접속하고 있다는 것을 알 수가 없다.

특히 이런 경우 192.0.2.100의 가짜 웹 사이트는 www.a-bank.co.kr 사이트와 동일한 모습으로 위장된 웹 사이트이게 된다.

공격자가 사용자의 개인정보를 입력받기 위해서 미리 준비한 위장된 웹 사이트이다.

사용자는 이 접속된 사이트가 www.a-bank.co.kr의 은행 사이트인 것으로 착각하고 아무런 의심 없이 자신의 로그인 정보와 계좌 비밀번호를 입력하게 된다.

악의의 공격자는 사용자가 입력하는 개인정보를 저장하여 금융범죄에 사용하거나 수집된 정보를 다른 악의를 가진 이에게 판매할 수 있다.

이러한 형태의 공격을 "DNS 캐시 포이즈닝(DNS cache Poisoning)"이라 부른다.

리커시브 네임서버가 관리하는 캐시(cache)에 위-변조된 데이터를 저장하도록 유도하기 위한 공격 형태이다.

이와 유사하게 "파밍(Pharming)"이라 하는 공격형태가 있다.

파밍(Pharming)은 사이트 접속 트래픽을 진짜 사이트처럼 위장된 사이트로 전환시키는 것을 목적으로 하는 모든 다양한 형태의 공격을 가리킨다.

파밍(Pharming)은 리커시브 네임서버의 DNS 캐시 포이즈닝 뿐만 아니라, 도메인 등록기관의 네임서버 위임등록 정보를 변경하여 도메인을 가로채는 공격형태, 호스트에 존재하는 hosts 파일의 설정 데이터를 변조하는 공격 형태까지를 모두 포괄한다.

파밍(Pharming)의 위험성은 주로 피싱(Phishing)과 비교된다.

피싱(Phishing)은 사용자로 하여금 접속하는 도메인 네임과 철자기 유사한 도메인 네임을 사용하여 부주의하게 위장된 사이트로 접속하게 한다.

피싱(Phishing)은 사용자가 도메인 네임과 URL 등을 충분히 주의깊게 살피면 그 피해를 예방할 수 있다.

그러나 파밍(Pharming)은 사용자가 올바른 도메인 네임을 확인하는 등의 충분한 주의를 기울이더라도 이 도메인 네임의 IP 주소가 이미 위-변조된 주소로 매핑되어 있어서, 위장된 서버에 접속하는 것을 피할 수가 없다.

이 점에서 위협적인 공격 형태로 인식되고 있다. 사용자가 아무리 주의하더라도 자신이 가짜 IP 주소를 갖는 사이트에 접속하고 있다는 사실을 사용자는 쉽게 알아챌 수 없다.

파밍(Pharming)은 DNS 캐시 포이즈닝 공격으로 유발될 수 있다.

특히 DNS 캐시 포이즈닝의 경우, 공격 대상인 리커시브 네임서버를 사용하고 있는 수많은 호스트들이 모두 동시에 이 공격의 피해자가 될 수 있다는 점에서 심각한 위협요인을 가지고 있다.


DNS 보안 확장(DNSSEC) 표준의 개발

도메인 네임 시스템(DNS) 표준은 이와 같은 침해공격의 가능성을 고려하지 않던 시대에 정해진 표준 프로토콜이다.

인터넷이 상업적으로 이용되기 시작하면서, 이러한 침해공격으로부터 DNS 데이터를 보호해야 할 필요성이 점차 중요하게 인식되고 있다.

DNSSEC은 도메인 네임 시스템(DNS)이 제공하는 다양한 DNS 데이터가 데이터 위-변조 침해공격에 의해 위-변조되어 호스트 PC의 어플리케이션으로 전달되는 사태를 방지하기 위해 DNS 표준 프로토콜을 확장하고 보완하는 표준 프로토콜이다.

DNSSEC의 도입적용은 DNS 데이터의 위-변조 공격을 원천적으로 불가능하게 하여 DNS 캐시 포이즈닝 공격을 불가능하게 만든다.

현재 추진되고 있는 차세대 인터넷은 높은 수준의 보안 안전성을 필요로 한다.

차세대 인터넷 환경에서의 DNS에 대해서도 그 근본적 보안 취약점을 극복함으로써 신뢰할 수 있는 데이터를 차세대 인터넷 응용 어플리케이션에 제공할 수 있는 안전한 기반 인프라 시스템으로의 진화가 요청되고 있다.

DNSSEC은 안전하고 신뢰성을 보장할 수 있는 DNS를 구현하기 위한 표준 프로토콜이다.

궁극적으로 인터넷 전체에 DNSSEC 기반의 DNS 체계가 완성된다면, DNS의 보안 안전성 향상은 단지 DNS의 안전성 향상에 그치는 것이 아니라, 모든 인터넷 어플리케이션의 보안기능을 보다 널리 적용할 수 있게 되어 인터넷 전체의 보안성을 전반적으로 향상, 강화시키는 효과를 기대할 수 있게 한다.

예를 들면, DNSSEC이 적용된 DNS 환경을 대비하여, IPSec의 경우는 IPSec 메커니즘에서 필요로 하는 공개키 데이터를 DNS 시스템에 DNS 데이터로 설정 저장할 수 있도록 IPSECKEY RR을 표준 정의해 두고 있기도 하다.


DNSSEC: DNS Security Extensions, Securing the Domain Name System 기술포럼
http://www.dnssec.org/


11-cash_poisoning_attack.gif

댓글 없음:

댓글 쓰기

가장 많이 본 글