Ȩּâ α ȸ ѱּ аԽ Ʈ Ŵ
Ȩ / DNS / ϱ
 
DNSC Ұ Ư¡
DNSC ȳ
nBIND(BIND) Ұ
nBIND(BIND) ٿε
ϱ
DNS(Ʈũ) ֱ ҽ
ϱ
Խ
DNS와 관련된 궁금한 점들을 질문해 주세요. 담당자가 즉시 답변해 드리겠습니다.

※ DNS와 관련된 내용이 아닐 경우 삭제될 수 있습니다.
 
 
 RE : cache poisoning ??
۾   송종수 ȸ 4758
Խ   2009-03-31 오전 11:06:30
 
답변드립니다.

DNS Cache Poisoning


■ 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 까지 같은 경우는, 올바른 것으로 판단되어 캐쉬에 잘못된 정보를 기록할 수 있게 됩니다.
■ 취약점 확인방법
1. 질의를 이용한 확인
- 다음 명령 실행
$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 dev0"
- 취약하지 않은경우 DNS 확인결과
porttest.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 is GOOD: 26 queries in 2.0 seconds from 26 ports with std dev 17685.51"

2. 웹툴을 이용한 확인
- https://www.dns-oarc.net/oarc/services/dnsentropy 접속 후, TEST MY DNS 클릭





■ 패치방법
- 업그레이드
캐시 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

■ 언급되지 않은 소프트웨어는 사용하는 해당 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
-참고 인터넷침해사고대응센터



=========================== 원본글 ===========================
DNS를 공부하다 보니 "cache poisoning" 이라는 말이 나오던데..
cache poisoning 뭐가요??
 
 

   cache poisoning ??  2009-03-30 캐시리
       RE : cache poisoning ??  2009-03-31 변상철
       RE : cache poisoning ??  2009-03-31 송종수

 
  named.ca 삭제 
  [초보] 포워딩 



ѱEnglishJapanese ä å óħ åѰ ̸Ϲܼ ź
ǥȭ : 02-3665-0123    : 02-2165-3000   FAX : 02-2671-5613   e :
ǿ Ű : reportabuse@ibi.net Copyright (C) 1995 - 2025 Netpia, Inc. All rights reserved.