[테마특강]PKI 이용 DNS 보안

관련 통계자료 다운로드 .KR 도메인네임 운영체계

 미국의 9·11테러사건 이후 사이버테러 대응 차원에서 ICANN(The Internet Corporation for Assigned Names and Numbers)과 같은 국제인터넷기구에서도 DNS보안과 같은 인터넷 기반시설의 보호에 대한 관심이 극대화되고 있다. 그러던중 급기야 2002년 10월에는 전세계 13개 루트서버에 대한 전면적인 분산서비스거부(DDoS) 공격까지 있어 현재 DNS보안에 관한 관심은 어느 때보다 높은 상태다.

 DNS(Domain Name System)란 우리가 일상적으로 사용하고 있는 도메인네임의 체계를 뜻하고 이러한 체계는 도메인네임 정보를 관리하는 수많은 네임서버(혹은 DNS서버)들의 상호작용에 의해 유지되고 있다. 우리는 도메인네임을 사용함으로써 웹사이트에 접속하고 가까운 친구와 서로 전자메일을 주고받을 수 있다. 이러한 네임서버는 현존하는 가장 체계화된 분산시스템으로서 ‘.’(dot)를 의미하는 13개의 ‘최상위 네임서버’(이하 루트서버)를 기점으로 전세계에 분산되어 있어 사용자가 인터넷상에 어느 곳에 있든지 빠르고 쉽게 도메인네임을 사용할 수 있다.

 이와 같이 네임서버는 인터넷의 중요 기반시설로서 보안문제에 의한 사고 발생시에는 전세계 인터넷 이용자들이 혼란에 빠질 수도 있다.

 

 네임서버의 동작원리와 관리체계

 사용자와 네임서버 또는 네임서버와 네임서버간에는 사용자가 요청한 도메인네임에 대한 IP주소 정보(혹은 반대의 경우도 가능)를 찾기 위한 질의와 응답과정이 반복되면서 최종적인 결과값을 찾아가게 된다.

 이는 특정한 네임서버가 모든 정보를 가지지 않는 네임서버의 분산시스템적인 특징 때문인데 각 네임서버들이 자신이 담당한 특정영역에 대해서만 정보를 가지고 있어 상호간의 반복적인 질의가 필수적이다. 즉 상대적으로 상위에 있는 네임서버는 하위의 네임서버가 어떤 정보를 가졌는지 항상 알고 있을 필요가 없다. 필요할 때마다 질의를 통해 최신의 정보를 가져오면 되고 가져온 정보는 반복질의에 의한 네트워크 시스템의 자원낭비를 줄이기 위해 ‘캐싱(caching)’ 이라는 과정을 통해 일정시간 동안 메모리에 저장하기도 한다.

 이러한 분산구조 때문에 엄청난 규모의 도메인네임 정보들이 지연 없이 빠르게 서비스될 수 있는 것이고 동시에 여러대의 네임서버가 다운되더라도 한동안은 인터넷이 갑자기 정지하는 일은 발생하지 않는 것이다.

 예를 들어 .KR 도메인네임을 관리하는 한국인터넷정보센터의 ‘.KR 네임서버’는 nic.or.kr와 같이 3단계로 이루어진 .KR 도메인네임 중 2단계 도메인네임(co.kr go.kr or.kr등)까지만 권한을 가지고 3단계 이후의 권한은 도메인네임의 등록자가 가지게 된다.

 

 네임서버의 보안 위협 요소

 네임서버에 대한 위협은 크게 세가지 정도로 분류할 수 있다. 서비스거부(DoS), 취약점, 프로그램 취약점, 속이기(spoofing) 취약점이 그것이다.

 ‘서비스거부(Denial of Service)’ 공격은 공격자가 불필요한 질의를 대량으로 발생시켜 목표 네임서버가 해당 질의를 처리하는 동안 다른 정상 서비스요청에 대해서는 응답을 못하게 하는 방법으로서 작년 10월에는 전세계 최상위에 있는 13개 루트서버에 대해 이 공격이 시도된 바 있다. 당시 약 1시간 동안 진행된 공격에 의해 전세계의 9대 정도의 서버가 접속지연 등 일시적으로 영향을 받았으나 공격시간이 1시간으로 지속적이지 못했고 이상발견 즉시 각 루트서버 관리자들이 적절한 네트워크 트래픽 필터링을 실시하여 일반 인터넷 사용자가 어떤 영향을 느낄 정도로 파급효과가 크지는 않았다. 하지만 이 사건은 의외로 단순한 기술로 인터넷 역사상 유례가 없는 13개 루트서버에 대한 전면적인 공격을 감행했다는 점에서 인터넷 기반시설에 대한 대규모 위협이 현실화하고 있다고 볼 수 있다.

 

 ‘프로그램 취약점’은 네임서버 프로그램 버그에 의한 취약점을 의미하며 이 취약점에 의해 네임서버 프로그램이 중지되거나 시스템 전체가 장악될 수도 있다. 현재는 네임서버 프로그램의 버그 발생시 그 파급효과를 우려하여 이른시간 안에 수정용 패치 프로그램이 만들어지고 있다.

 ‘속이기(이하 ‘스푸핑’) 취약점’은 말 그대로 네임서버가 주고받는 정보를 악의의 공격자가 임의로 조작하여 인터넷상에 퍼뜨리는 일로서 경우에 따라서는 공격을 받았는지 여부를 발견하기 어려워서 그에 따른 피해도 매우 커질 수도 있다.

 

 이상의 취약점들이 모두 큰 위협이 될 수 있지만 궁극적으로 가장 위험한 취약점은 일명 ‘스푸핑(spoofing)’으로 알려진 네임서버 정보에 대한 위변조 위협이다. 예를 들어 우리가 인터넷 뱅킹을 이용할 때 사용하는 특정 도메인네임이 공격자에 의해 위변조되었다면 해당 사이트가 아닌 악의의 공격자가 실제 사이트와 동일하게 제작한 가짜 사이트에 들어가 별다른 의심없이 로그인을 하는 등 자신의 개인정보를 그대로 노출시킬 수도 있다.

 

 DNSSEC(DNS Security Extensions)의 개념

 DNS 보안 표준화에 관한 세계적인 논의 중 가장 활발하고 완성단계에 이른 것이 바로 인터넷 표준화 기구인 IETF(Internet Engineering Task Force)내의 DNSEXT 워킹그룹(working group)에서 논의해오고 있는 DNSSEC(DNS Security Extension)이다.

 DNSSEC은 네임서버 정보의 위변조를 방지하기 위해 네임서버 정보에 근래의 전자서명 체계에 쓰이는 ‘공개키 기반구조(PKI:Public-Key Infrastructure)’를 이용해 서명하는 것으로서 DNS정보를 요청한 질의자는 자신이 받은 응답이 실제로 요청한 DNS서버로부터 왔는지 중간에 위변조되었는지 여부를 직접 검증할 수 있다.

 DNSSEC에서의 정보 검증은 최상위 루트서버로부터 DNS체계에 따라 순차적으로 이루어지기 때문에 DNSSEC이 완전하게 적용된 환경에서는 공격자가 루트서버부터 하위 말단의 네임서버까지 모두 속이지 않는 이상 DNS정보의 완전한 위변조는 불가능하게 된다.

 이와 같이 정보를 요청한 네임서버로부터만 신뢰성을 검증하지 않고 관련된 여러 네임서버 상호간에 신뢰성을 검증해주는 것이 가능한데 이러한 구조를 신뢰사슬(trust chain)구조라고 한다.

  

 신뢰사슬구조는 DNS체계의 근간인 트리(tree)구조를 이용하는데 이것은 PKI에서 인증서나 서명을 상위의 여러 인증기관간에서 인증하여 신뢰성을 높여주는 체계와도 비슷하기 때문에 DNS상에 PKI의 적용을 통한 보안의 강화는 매우 합리적이고 강력한 방법이라 할 수 있다.

 

 현재의 이슈 및 관련 동향

 강력한 보안기능의 표준화가 도달했음에도 불구하고 현재 전체 DNS에 적용되지 못하는 이유로서 첫번째는 암호화된 DNS정보의 추가로 인해 DNS데이터량이 급격히 증가하여 이런 증가된 데이터를 최상위의 루트서버에 적용했을 때 어떤 문제가 발생할지에 대한 검증과 시험이 필요한 것이다.

 두번째로는 DNS정보의 변경시마다 DNS정보의 기본단위인 Zone파일 전체에 전자서명을 매번 새로 해야하는데 .COM .NET .ORG처럼 대량의 정보를 가지는 Zone파일에 서명시에는 엄청난 양의 연산이 필요하기 때문에 서명시간이 오래 걸리는 문제점이 있다. 그래서 최근에는 이를 해결하기 위해 네임서버 참조정보를 제외한 꼭 필요한 데이터에만 부분적으로 서명하는 절충적인 방법 역시 IETF의 DNSEXT 워킹그룹에서 활발히 논의중이다.

 이와 같은 절충안 적용건이 결실을 맺고 관련 프로그램 구현과 국제적 규모의 테스트베드 활동이 활발히 진행되어 많은 의미있는 데이터를 얻어낸다면 향후 전세계적으로 보다 안전한 인터넷 기반구조가 완성될 것으로 보인다.

 현재 DNSSEC 표준을 충실하게 구현하고 있는 DNS 프로그램은 비영리 프로그램 개발단체인 ISC(Internet Software Consortium)의 BIND 9버전인데 향후엔 ISC에서도 궁극적으로는 기존 버전인 8버전에 대한 개발은 중단하고 DNSSEC기능이 구현된 9버전으로만 개발해 나갈 계획이라고 한다.

 

 <저자소개>

 金 源(김 원)

 △84년 한양대 전자공학과 졸업 △89년 한양대 대학원 전자공학과(공학석사) △2002년 경희대 대학원 전자공학과(공학박사) △84∼86년 국방과학연구소 △89∼92년 데이콤 △92∼99년 한국전산원 △99년∼현재 한국인터넷정보센터(기술지원부장) △2003년∼현재 한국ISP협회 감사, 개방형컴퓨터통신연구회(OSIA) 협동이사 △2002년∼현재 TTA ENUM 표준전담반 공동의장, 동국대 국제정보대학원 시간강사