Skip to content

조회 수 21142 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

■ DNS 의 Cache Poisoning 취약점

   DNS 프로토콜에 Cache Poisoning 취약점으로 공격자는 취약한 DNS 를 사용하는 시스템에 조

   작된 DNS 쿼리를 전송하여 캐쉬의 정보를 변경, 정상적인 사이트에 접속 시 다른 사이트의 ip로

   변조시키는 방법입니다.

 

■ 대상

   DNS 프로토콜이 적용된 소프트웨어

 

■ 취약점 내용

   공격자는 조작된 DNS 쿼리를 다량으로 전달하여 DNS 캐쉬서버의 내용을 임의로 변경할 수 있습

   니다. 요청한 주소의 원래 주소가 아닌 공격자가 지정한 주소로 변경하여 캐쉬를 변경할 수 있으

   므로 악성코드가 설치된 임의의 주소 등으로 변경이 가능합니다.
  

  이 취약점은 특정 DNS 소프트웨어에 한정되지 않고 DNS 프로토콜을 따르는 모든 소프트웨어에

  영향을 줍니다. DNS(Domain Name System)는 인터넷 인프라의 중요한 요소로 호스트 이름을 IP

  주소로 변경해 주거나 또는 반대의 역할을 수행합니다. 공격자는 조작된 DNS 정보를 전달하여 조

  작된 DNS 정보가 캐쉬 네임서버에 기록될 수 있도록 합니다. 이 공격기법은 Cache Poisoning 으

  로 불리며 다음과 같은 경우에 이번 취약점 영향을 받을 수 있습니다.

  

   DNS 프로토콜은 Transaction ID 라는 16비트의 필드를 가지고 있습니다. 쿼리 요청시 이 ID 번호

  가 임의로 선택되어 지는것을 예측하여 캐쉬 조작이 가능하고, ID 값은 32,768 개의 값이 존재하

  여 추측하기 힘들지만 취약점을 내포한 DNS 의 경우는 이보다 더 작은 번호로 예측하여 공격시도

  가 가능해 집니다.
  

  또한, 요청된 쿼리에 대해 응답되는 쿼리는 같은 소스포트 번호를 사용하여 스푸핑이 더욱 쉽게

  가능해 집니다. 요청한 DNS 쿼리에 대해 응답을 주는경우 출발지와 목적지 포트가 동일하고 트랜

  젝션 ID 까지 같은 경우는, 올바른 것으로 판단되어 캐쉬에 잘못된 정보를 기록할 수 있게 됩니다.

 

  현재 이 취약점의 공격코드가 7/24일(한국시간) 공개되어 각별한 주의가 필요합니다.

 

■ 취약점 확인방법

  - 다음 명령 실행
    $dig @localhost +short porttest.dns-oarc.net TXT 또는 아래와 같이 IP로 조회
    $dig @해당서버IP +short porttest.dns-oarc.net TXT

 

  - 취약한 경우 응답 내용
     porttest.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
     "해당서버IP is POOR: 26 queries in 3.6 seconds from 1 ports with std dev 0"  

  - 취약하지 않은경우 DNS 확인 결과
     z.y.x.w.v.u.t.s.r.q.p.o.n.m.l.k.j.i.h.g.f.e.d.c.b.a.pt.dns-oarc.net.
     "IP-of-GOOD is GOOD: 26 queries in 2.0 seconds from 26 ports with std dev 17685.51"
 
■ 패치방법

   - 업그레이드

    캐시 DNS 서버로 사용되는 시스템을 운영 중이라면, 패치가 된 버전으로 업그레이드 합니다.
    패치버전: BIND 9.3.5-p1, BIND 9.4.2-p1, BIND 9.5.0-p1

   - 업그레이드 외에 recursive query 제한
    
     $ vi /etc/named.conf

      acl xxx { 127.0.0.1; 해당서버IP; };

      options { version "unknown";
       .
       .
       .
      allow-recursion { xxx; };
      };
 
       acl 리스트에 있는 IP에만 recursive query 허용하도록 설정합니다.


■ windows OS 사용자의 경우 아래 URL을 참조하여 해당 DNS취약점 패치를 업그레이드 하시기

   바랍니다.

   - 마이크로소프트
     http://www.microsoft.com/korea/technet/security/bulletin/ms08-037.mspx
   - ISC BIND
     http://www.isc.org/index.pl?/sw/bind/bind-security.php

 

■ 언급되지 않은 소프트웨어는 사용하는 해당 DNS의 확인 후 취약점 여부를 반드시 확인할 것을

    권고합니다.

 

■ 참고정보

- CVE 정보 : CVE-2008-1447
http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2008-1447
- US-CERT 취약점 노트, VU#800113
http://www.kb.cert.org/vuls/id/800113


List of Articles
번호 제목 글쓴이 날짜 조회 수
29 dnstop 설치 ADMINPLAY 2014.01.19 5272
28 [DNS] Bind 9.x 로 업그레이드 하기 ADMINPLAY 2013.09.09 7682
27 DNS 기본 동작 설명 2 file ADMINPLAY 2012.07.30 12227
26 DNS의 3가지 메시지 타입 1 ADMINPLAY 2012.07.30 9973
25 [Contents Networking] [문제의 답] Google DNS와 Akamai CDN ADMINPLAY 2012.07.30 9300
24 [DNS] 응답의 종류: Non-authoritative Answer ADMINPLAY 2010.09.02 22256
23 각 ISP 업체별 DNS 서버목록 입니다. ADMINPLAY 2010.03.10 17961
22 RedHat 8에 bind-9.3.2 소스설치 ADMINPLAY 2010.01.25 17947
21 DNS 포워더 설정 ADMINPLAY 2010.01.05 19356
20 DNS 싱크홀 (악성 봇 감염) file ADMINPLAY 2009.12.08 23676
» DNS 의 Cache Poisoning 취약점 ADMINPLAY 2009.12.08 21142
18 lame server resoving ADMINPLAY 2009.12.08 17568
17 서브도메인 유출 방지방법 ADMINPLAY 2009.11.11 19154
16 DNS 개념을 위한 상식용어 ADMINPLAY 2009.11.04 31089
15 bind 세부로그 남기기- named.conf logging설정 예제 ADMINPLAY 2009.10.31 23631
14 CentOS5,Fedora7 네임서버 설정법 file ADMINPLAY 2009.10.31 18820
13 'could not set file modification time' 와 같은 오류 메... file ADMINPLAY 2009.10.20 19906
12 네임서버 named.conf 파일과 zone파일 체크 방법 ADMINPLAY 2009.07.31 17971
11 DNS TCP53, UDP53 용도 ADMINPLAY 2009.06.04 18642
10 인버스 도메인 신청,위임 및 서브도메인 위임 ADMINPLAY 2009.03.29 17835
Board Pagination Prev 1 2 Next
/ 2

Copyright ADMINPLAY corp. All rights reserved.

abcXYZ, 세종대왕,1234

abcXYZ, 세종대왕,1234