KR20120096580A - Dns 캐시의 포이즈닝을 방지하기 위한 방법 및 시스템 - Google Patents

Dns 캐시의 포이즈닝을 방지하기 위한 방법 및 시스템 Download PDF

Info

Publication number
KR20120096580A
KR20120096580A KR1020127018944A KR20127018944A KR20120096580A KR 20120096580 A KR20120096580 A KR 20120096580A KR 1020127018944 A KR1020127018944 A KR 1020127018944A KR 20127018944 A KR20127018944 A KR 20127018944A KR 20120096580 A KR20120096580 A KR 20120096580A
Authority
KR
South Korea
Prior art keywords
dns
cache
response
responses
caches
Prior art date
Application number
KR1020127018944A
Other languages
English (en)
Inventor
안토니 마틴
세르게 파필론
Original Assignee
알까뗄 루슨트
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 알까뗄 루슨트 filed Critical 알까뗄 루슨트
Publication of KR20120096580A publication Critical patent/KR20120096580A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/1483Countermeasures against malicious traffic service impersonation, e.g. phishing, pharming or web spoofing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/22Arrangements for preventing the taking of data from a data transmission channel without authorisation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/58Caching of addresses or names
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/145Detection or countermeasures against cache poisoning

Abstract

복수의 DNS 캐시(5_1, 5_i, 5_n)를 포함하는 컴퓨터 네트워크(B) 내의 적어도 하나의 DNS 캐시(5_i)의 포이즈닝을 방지하기 위한 방법으로서, 이 방법은 2개의 상이한 DNS 캐시에 의해 리턴된 DNS 질의에 대한 적어도 2개의 DNS 응답을 비교하는 단계를 포함한다.

Description

DNS 캐시의 포이즈닝을 방지하기 위한 방법 및 시스템{METHOD AND SYSTEM FOR PREVENTING DNS CACHE POISONING}
본 발명은 도메인명 시스템용 보안 기술에 관한 것이다.
이하, '도메인명 시스템' 또는 'DNS 서버'(도메인명 시스템용)는 도메인명(또는 호스트명)과 IP 어드레스 사이의 정합을 설정하는 것, 또는 더 구체적으로는 도메인명 또는 IP 어드레스를 사용하여 정보를 찾는 것을 가능하게 하는 임의의 시스템을 의미할 수 있다.
부가적으로, 'DNS 질의'는 도메인명 또는 IP 어드레스의 해결을 요청하는 메시지를 의미할 수 있다. DNS 질의에 대한 응답은 여기서 'DNS 응답'이라 칭할 것이다. 특히, DNS 응답은 도메인명, IP 어드레스, 에러 메시지 또는 에러 코드를 포함할 수 있다. DNS 질의의 해결은 예를 들어 웹 브라우징, 이메일 또는 VPN 접속과 같은 컴퓨터 네트워크를 통한 DNS 프로토콜을 사용하는 임의의 애플리케이션에 관련한다는 것을 유의하여야 한다.
복수의 도메인명(또는 등가적으로, IP 어드레스)에 기인하여, DNS 서버는 단지 실제로 제한된 세트의 데이터만을 표현할 수 있다. 따라서, 이는 모든 도메인명을 해결할 수 없다. 이와 같이 하기 위해, DNS 서버의 분산형 시스템은 통상적으로 구별되고, 여기서 각각의 DNS 서버는, 이것이 응답하지 않는 DNS 질의를 수신할 때
- 리턴 응답을 제공하기 위해 하나 이상의 다른 DNS 서버에 이 질의를 릴레이하고(재귀법), 또는
- 다른 DNS 서버를 지정하는데, 이는 이어서 이 DNS 질의에 응답하도록 권유된다(반복법).
미래 DNS 질의를 위한 응답 시간을 최적화할 뿐만 아니라, 분산형 시스템 내의 특정 DNS 서버의 과부하를 방지하기 위해, 대부분은 DNS 서버는 또한 DNS 캐시로서 작용한다. 달리 말하면, DNS 서버는 이 프로세스가 이후에 재차 수행되지 않게 하기 위해, DNS 서버 관리자에 의해 사전 규정된 TTL(타임 투 라이브)에 대해 메모리 내의 DNS 질의에 대해 얻어진 응답을 유지한다.
그러나, 이 DNS 캐시는 DNS 캐시 포이즈닝(poisoning)이라 통상적으로 알려진 공격에 취약성이 있다[임계 인프라구조의 DNS 2008 및 새로운 (오래된) 성질(DNS 2008 and new (old) nature of critical infrastructure, 댄 캐민스키(Dan Kaminsky), 멕시코, 2009년]. 이 공격은 공개 머신의 유효(실제) 도메인명(예를 들어, www.google.com)과 DNS 캐시 내에 저장될 수 있는 허위 정보(예를 들어, 무효 IP 어드레스 또는 허위 DNS 응답) 사이의 정합을 생성하는 것을 목표로 한다.
일단 특정 도메인에 관련하는 DNS 질의에 대한 허위 DNS 응답이 DNS 캐시 내에 저장되면, 이는 이어서 자동으로 TTL에 대해 동일한 도메인에 관한 이후의 DNS 질의에 대한 응답일 수 있다. 따라서, 이 DNS 캐시의 모든 사용자는 취약성이 있다.
특히, DNS 캐시 포이즈닝은 그 콘텐트가 악의적인 의도(예를 들어, 바이러스 전파, 개인 데이터를 수집하기 위한 피싱 또는 다른 경쟁 사이트 또는 비존재 사이트로 사이트를 재지향(redirect)시킴으로써 선전)를 가질 수 있는 사이트로 사용자를 재지향하는 것을 가능하게 한다.
본 발명의 일 목적은 전술된 결점을 교정하는 것이다.
본 발명의 다른 목적은 복수의 DNS 캐시를 갖는 컴퓨터 네트워크에 속하는 DNS 캐시의 포이즈닝을 방지하는 것이다.
본 발명의 다른 목적은 시스템에 소량의 수정을 갖고 DNS 캐시 포이즈닝 공격을 방지하기 위한 방법을 DNS 캐시의 분산형 시스템에 제공하는 것이다.
본 발명의 다른 목적은 DNS 캐시에 의해 사용된 DNS 프로토콜과 호환성이 있는 DNS 캐시 상의 포이즈닝 공격을 방지하기 위한 방법 및 시스템을 제안하는 것이다.
본 발명의 다른 목적은 DNS 캐시 포이즈닝 공격을 방지하기 위한 자율 시스템을 제안하는 것이다.
본 발명의 다른 목적은 인터넷 서비스 공급자 네트워크 내의 DNS 해결의 일관성을 향상시키는 것이다.
본 발명의 다른 목적은 대부분의 인터넷 서비스 공급자(ISP) 네트워크와 호환성이 있는 DNS 캐시 포이즈닝 공격을 방지하기 위한 방법을 제안하는 것이다.
본 발명의 다른 목적은 컴퓨터 네트워크 내의 DNS 캐시 포이즈닝 공격에 대한 대응책을 제안하는 것이다.
본 발명의 다른 목적은 인터넷 서비스 공급자의 네트워크에 접속된 사용자에 제공된 컴퓨터 보안을 향상시키는 것이다.
이를 위해, 본 발명은 제1 양태에 따르면, 복수의 DNS 캐시를 포함하는 컴퓨터 네트워크 내의 적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법을 제안하고, 이 방법은 2개의 상이한 DNS 캐시에 의해 리턴된 DNS 질의에 대한 적어도 2개의 DNS 응답을 비교하는 단계를 포함한다.
제2 양태에 따르면, 본 발명은 복수의 DNS 캐시를 포함하는 컴퓨터 네트워크 내의 적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 시스템에 관한 것으로서, 이 시스템은 2개의 상이한 DNS 캐시에 의해 리턴된 DNS 질의에 대한 적어도 2개의 DNS 응답의 분석기를 포함한다.
유리하게는, 이 시스템은 DNS 질의가 연관되는 서비스를 식별하는 것을 가능하게 하는 DNS 질의 상의 정보의 데이터베이스를 구비하는 DNS 질의 분석기를 또한 포함한다.
도 1은 일 실시예의 모듈들 사이의 상호 작용을 도식적으로 도시하는 도면.
본 발명의 다른 특징 및 장점이 도 1을 참조하여 이하의 바람직한 실시예의 설명을 숙독한 후에 더 명백하고 더 구체적으로 이해될 수 있을 것이다.
ISP 네트워크(B)는 통상적으로 네트워크(B)에 접속된 클라이언트(A)에 속하는 적어도 하나의 DNS 리졸버(resolver)(1)로부터 발행된 DNS 질의에 응답하여 작업되는 복수의 DNS 캐시(5_1, 5_2, ..., 5_n)(n>1)를 포함한다. DNS 리졸버(1)는 통상적으로 네트워크(B)에 송신될 DNS 질의를 공식화하고 그에 리턴되는 DNS 응답을 해석하는 클라이언트 프로그램이다.
DNS 캐시(5_1, 5_2, ..., 5_n)에 이용 가능한 정보에 기초하여 DNS 질의에 응답하는 불능의 경우에, DNS 응답은 네임 서버 연산자(C)에 속하는 DNS 루트 서버(9)로부터 권유된다.
DNS 응답은 통상적으로 그로부터 DNS 질의가 기원하는 DNS 리졸버(1)에 이 응답을 릴레이하는 것으로 작업되는 네트워크(B) 상의 DNS 응답기(10)에 통신된다.
DNS 캐시 관리 시스템(3)은 DNS 캐시(5_1, 5_2, ..., 5_n)의 동시 또는 개별 제어를 가능화한다. 예를 들어, 관리 시스템(3)은 각각의 DNS 캐시를 위한 TTL을 수정하고 또는 DNS 캐시를 가능화/불능화하는 것을 가능하게 한다.
DNS 캐시(5_1, 5_2, ..., 5_n) 상의 포이즈닝 공격은 복수의 DNS 캐시를 포함하는 임의의 컴퓨터 네트워크(B), 특히 인터넷 서비스 공급자(ISP)에 속하는 것에 적응될 수 있는 기능 모듈을 사용하여 방지된다.
특히, 이들 모듈은
- DNS 리졸버(1)로부터 송신된 DNS 질의를 어떻게 프로세싱하는지를 판정하는 DNS 질의 분석기(2),
- 복수의 DNS 캐시를 서빙하는 DNS 질의 분산기(deconcentrator)(6),
- 복수의 DNS 캐시로부터 얻어진 DNS 응답의 비교기(7),
- 복수의 DNS 캐시로부터 얻어진 DNS 응답기의 분석기(8),
- DNS 캐시(5_1, ..., 5_n)를 위한 포이즈닝 공격 방지 시스템을 지원하는 복수의 확장성 정보 데이터베이스
를 포함한다.
DNS 질의 분석기(2)가 DNS 리졸버(1)로부터 발행된 DNS 질의를 수신할 때[도 1의 링크(12)], DNS 질의 분석기(2)는 이 DNS 질의를 해결하도록 프로세싱하는지를 판정한다. 판정은
- 서비스(예를 들어, 브라우징, 이메일, 스트리밍, 전자 상거래 및 전자 학습)와 같은 DNS 질의에 대한 정보 및/또는 DNS 질의가 연관되는 프로토콜(예를 들어, HTTP, HTTPS, POP3, FTP 또는 SMTP)을 갖는 데이터베이스(4),
- 무효 DNS 응답의 데이터베이스(11) 및
- 네트워크(B)의 관리자에 의해 구성될 수 있는 DNS 캐시(5_1, 5_2, ..., 5_n)를 위한 관리 시스템(3)
으로부터 검색된 정보에 기초하여 행해진다.
DNS 질의에 대한 정보의 데이터베이스(4)는 DNS 질의의 콘텐트(특히, 도메인명 - 예를 들어, ebay.com 또는 google.com - 및 전송 프로토콜 - 예를 들어, HTTP, HTTPS 또는 SMTP)를 사용하여 DNS 질의가 연관되는 서비스를 식별한다. 예를 들어, DNS 질의가
○ 도메인명 'ebay.com'을 포함하면, 정보 데이터베이스(4)는 이 도메인명을 식별하고 이를 전자 상거래 서비스와 연관시키고,
○ 도메인명 'home.americanexpress.com'을 포함하면, 정보 데이터베이스는 이 도메인명을 식별하고 이를 전자 뱅킹 서비스와 연관시키고,
○ SMTP 프로토콜을 포함하면, 정보 데이터베이스는 이 질의를 이메일 애플리케이션과 연관된다.
정보 데이터베이스(4)의 콘텐트는 수신된 DNS 질의 내에 포함된 정보로 미리 수동으로 설정되고 그리고/또는 자동으로 풍부하게 된다(자동 학습). 따라서, 정보 데이터베이스(4)는 네트워크(B)의 관리자(예를 들어, 전자 상거래/전자 뱅킹 서비스 또는 이메일 시스템)에 의해 결정적인 것으로 추정되는 DNS 질의를 구별하는 것을 가능하게 한다.
일 실시예에서, DNS 질의 분석기(2)는 정보 데이터베이스(4)에 의해 식별된 서비스에 기초하여 중요도의 레벨(예를 들어, '결정적', '중요함', '평균' 또는 숫자 1 내지 10)로 각각의 DNS 질의를 라벨링한다.
DNS 질의를 해결하기 위해 수행될 프로세싱의 선택은 예를 들어,
- 시간 : 피크 시간인지 아닌지,
- DNS 캐시의 이용 가능성: 유지 보수, 오버런,
- DNS 질의의 소스: 상이한 유형의 가입을 갖는 클라이언트,
- DNS 질의가 연관되는 서비스, 예를 들어 전자 상거래, 전자 뱅킹, 이메일 또는 VPN
에 기초하여 DNS 캐시 관리 시스템(3)으로부터 프로그램될 수 있다는 것을 또한 유의하여야 한다.
일 실시예에서, 3개의 가능한 프로세싱 모드가 DNS 질의를 해결하기 위해 구별될 수 있는데,
- DNS 질의는 단일 DNS 캐시[예를 들어, 도 1에 도시된 바와 같은 DNS 캐시(5_1): 링크(25)]로 송신되고,
- DNS 질의는 DNS 질의 분산기(6)로 송신되고[도 1의 링크(26)], 또는
- DNS 질의는 DNS 루트 서버(9)에 직접 송신된다[도 1의 링크(29)].
DNS 응답은 네트워크(B)로부터,
- 재귀적으로: DNS 질의를 수신할 때, DNS 서버는 이 질의에 관한 그 로컬 DNS 캐시(5_j)(1≤j≤n)[예를 들어, 도 1에 도시된 바와 같은 DNS 캐시(5_1)]를 질의함. 국부적으로 이 질의에 대한 응답을 가지면, 이 응답은 DNS 응답 모듈(10)에 송신된다[도 1의 링크(51)]. 그렇지 않으면, DNS 서버는 리졸버의 역할을 취하고, 요청된 정보를 가질 가능성이 많은 다른 DNS 서버(달리 말하면, 요청된 정보를 갖는 확률이 충분히 높은 DNS 서버)에 DNS 질의를 전송함. 어떠한 DNS 서버도 응답을 갖지 않으면, 질의는 DNS 응답의 사본[도 1의 링크(95)]이 DNS 캐시 내의 TTL에 대해 저장될 수 있는 DNS 루트 서버(9)로 최종적으로 송신됨[도 1의 링크(59)], 또는
- 반복적으로: DNS 캐시가 DNS 질의에 대한 로컬 응답을 갖지 않으면, 이는 요청된 정보를 가질 가능성이 많은 다른 DNS 서버에 직접 질의를 송신하도록 DNS 리졸버(1)에 요구함. 어떠한 DNS 서버도 응답을 갖지 않으면, 질의는 최종적으로 DNS 루트 서버(9)에 송신됨[도 1의 링크(29)]. DNS 루트 서버(9)에 의해 리턴된 DNS 응답은 DNS 응답기(10)에 통신됨
얻어질 수 있다는 것을 유의하여야 한다.
다른 실시예에서, DNS 응답은 이하와 같이 복수의 DNS 캐시로부터 통합된 방식으로 얻어진다.
- DNS 질의가 DNS 질의 분산기(6)에 도달하자마자, 이는 데이터베이스(61) 내에 저장된 분배 기준에 따라 DNS 캐시의 리스트에 송신된다[도 1의 링크(65)].
- DNS 캐시의 리스트에 의해 얻어진 DNS 응답은 모두 DNS 응답 비교기(7)에 송신된다[도 1의 링크(57)].
- 얻어진 DNS 응답에 기초하여, 비교기(7)는, 정보 데이터베이스(70)에 의해 지원되어,
○ DNS 응답기에 DNS 응답을 송신하고[도 1의 링크(71)]
○ 또는 DNS 응답기 분석기(8)에 얻어진 결과를 송신한다.
- DNS 응답 분석기(8)는 DNS 응답을 연구하고 이어서 DNS 응답기(10)에 하나의 단일 DNS 응답을 송신한다[도 1의 링크(81)].
DNS 캐시의 리스트로의 분산기(6)에 의한 DNS 질의의 분배는 데이터베이스(61)로부터 검색된 정보에 기초하여 수행된다는 것을 유의해야 한다. 데이터베이스(61)는 넘버, 토폴로지, 기하학적 위치, IP 어드레스, 콘텐트의 크기 및 DNS 캐시(5_1, ..., 5_n)에 접속된 사용자의 수와 같은 네트워크(B) 상의 DNS 캐시(5_1, 5_2, ..., 5_n)에 대한 정보를 포함한다.
유리하게는, 데이터베이스(61) 내에 이용 가능한 데이터에 기초하여, 분산기(6)는 단지 관련되는 것으로 간주되는 DNS 캐시에만 DNS 질의를 릴레이할 수 있다. 실제로, 일 실시예에서, DNS 질의가 분산기(6)에 의해 릴레이될 수 있는 DNS 캐시의 리스트는,
- DNS 정보의 위치와 같은 데이터베이스(61)로부터 검색된 정보. 예를 들어, 동일한 무효 데이터에 의해 2개의 공간적으로 이격된 DNS 캐시의 포이즈닝의 위험이 적은 것을 가정함으로써, DNS 캐시 서버가 더 멀리 분리될수록, 원격 DNS 캐시에 의해 리턴된 DNS 응답에 동일한[비교기(7)에 의해 결정됨] 로컬 DNS 캐시에 의해 리턴된 DNS 응답이 유효한(정확한) 가능성이 커짐. 특히, 이는 컴퓨터 네트워크(B)의 토폴로지에 의존함, 및/또는
- DNS 질의 분석기(2)에 의해 제공된 정보. 예를 들어, DNS 분석기(2)가 DNS 질의를 '결정적'인 것으로서 표기하면, 바람직하게는 복수의 DNS 캐시가 질의될 수 있음. 달리 말하면, 질의될 DNS 캐시의 수는 바람직하게는 DNS 질의가 연관되는 서비스에 의존함. 이는 또한 DNS 응답 검증 프로세스의 성능을 최적화하는 것을 가능하게 함
에 기초하여 선택된다.
다음에, DNS 응답 비교기(7)는 질의된[말하자면, DNS 질의 분산기(6)에 의해 지정된] DNS 캐시의 리스트로부터 얻어진 모든 DNS 응답을 집중시키고 비교하는 것을 가능하게 한다.
모든 DNS 응답이 동일하면, 이 DNS 응답은 DNS 응답기(10)에 직접 송신될 수 있고[도 1의 링크(71)], 이는 이어서 DNS 리졸버(1)에 이를 송신하거나 또는 DNS 리졸버(1)에 직접 송신될 수 있다[DNS 응답기(10)를 통해 진행하지 않고].
몇몇 도메인은 하나 초과의 IP 어드레스(또는 역으로, 말하자면 하나 초과의 도메인명에 정합하는 하나의 IP 어드레스)를 갖는다는 것을 유의하여야 한다. 이 경우에, 데이터베이스(70) 내에 저장된 IP 프리픽스(회사에 미리 할당됨, 예를 들어 ebayTM, MicrosoftTM, HSBCTM 또는 YouTubeTM)로의 액세스를 갖고, 비교기(7)는 동일한 도메인명을 구별하기 위해 서브네트워크의 IP 어드레스를 비교할 수 있다. DNS 응답이 데이터베이스(70) 내에 식별되지 않은 IP 어드레스를 포함하면, 이는 이어서 잠재적으로 무효 DNS 응답일 수 있다.
2개의 상이한 DNS 캐시에 의해 리턴된 2개의 DNS 응답을 비교하기 위해 역 DNS 해결을 사용하는 것이 또한 가능한데, DNS 캐시(예를 들어, 5_1)를 통해 다른 DNS 캐시(예를 들어, 5_2)에 의해 리턴된 IP 어드레스와 연관된 도메인명의 역 분해을 필요로 한다. 2개의 DNS 응답 사이의 차이는 2개의 DNS 캐시 중 적어도 하나의 포이즈닝을 입증한다.
DNS 응답이 상이하면, 이들은 DNS 응답 분석기(8)로 송신된다. DNS 응답 분석기(8)는
- DNS 응답의 비를 계산하고,
- 이들의 비에 의해 DNS 응답을 분류하고,
- 이에 따라 동작하여,
○ DNS 응답기(10)에[도 1의 링크(81)] 또는 리졸버(1)에 직접 송신될 수 있고 적어도 질의된 DNS 캐시에 의해 확인되는[도 1의 링크(85)] DNS 응답을 보유하고, 또는
○ 문제점이 검출되는 경우에, 예를 들어 DNS 캐시 포이즈닝 공격을 리졸버(1)에 통지하고, 리졸버(1)에 에러를 송신하고, 리졸버(1)에 아무것도 송신하지 않고 또는 DNS 캐시 포이즈닝의 잠재적인 위험이 존재하는 것을 지시하는 네트워크(B)의 관리자에 송신된 내부 경고를 트리거링하는 것과 같은 동작을 트리거링한다.
유리하게는, DNS 응답 분석기(8)는 네트워크(B)의 관리자에 의해 구성되고/셋업될 수 있다(예를 들어, DNS 캐시 포이즈닝 문제점이 검출되면 트리거링될 임계비 또는 동작).
예시의 목적의 예로서, 4개가 동일한 5개의 응답이 존재하면, DNS 응답 분석기(8)는 DNS 응답기(10) 또는 리졸버(1)에 직접 전송될 수 있는 우세한 응답의 존재를 연역한다.
질의된 DNS 캐시에 의해 리턴된 DNS 응답 중에 일관성이 존재하지 않으면 - 예를 들어 5개의 DNS 응답 중에, 단지 3개의 DNS 응답만이 동일하고 2개의 다른 것은 상이함 -, DNS 응답 분석기(8)는 유효 DNS 응답이 존재하는 것으로 결론내릴 수 없다. 이러한 경우, 다음의 동작들이 수행될 수 있다:
- 잠재적인 보안 문제점을 리졸버(1)에 통지함. 이 정보는 도메인에 대한 설명적 정보를 포함하는 DNS 응답의 'TXT' 필드 내에 통합될 수 있다.
- 무효 DNS 응답(11)의 데이터베이스 내에 무효 DNS 응답(예를 들어, 낮은 비를 갖는 것들)을 저장함.
- 잠재적인 DNS 캐시 포이즈닝 공격을 네트워크(B)의 관리자에 통지함.
일 실시예에서, DNS 캐시에 의해 리턴된 DNS 응답의 세트 중 최고 비를 갖는 DNS 응답은 DNS 질의에 대한 DNS 응답으로 고려된다.
무효 DNS 응답이 확인되면, 무효 DNS 응답(11)의 데이터베이스에 추가된다[도 1의 링크(82)]. 이는 이후의 DNS 질의를 해결할 때 DNS 캐시에 경고하는 것을 가능하게 할 수 있다.
통신 프로토콜은 DNS 응답 분석기(8)로부터 DNS 응답기(10)[또는 등가적으로, DNS 리졸버(1)]로 에러 통지를 송신하기 위해 IETF로부터 RFC 5507에 따라 규정될 수 있다.
포이즈닝 문제점이 DNS 응답의 비에 기초하여 하나 이상의 DNS 캐시를 연역하는 경우에, 당해의 DNS 캐시의 TTL을 0으로 감소시키는 명령이 런칭/프로그램될 수 있다(예를 들어, DNS 응답의 세트 중에 낮은 비를 갖고 DNS 응답을 리턴하는 DNS 캐시의 TTL을 감소시킴). 이 명령은 즉각적일 수 있는데, TTL을 즉시 0으로 설정하는 것으로 이루어진다. 대안적으로, 이 명령은 산술적일 수 있는데, 이는 사전 결정된 감소분(예를 들어, 1 또는 2초)만큼 TTL의 연속적인 감소를 오더링하는 것으로 이루어질 수 있다. 대안적으로, 명령은 기하학적일 수 있고, 예를 들어 당해의 DNS 캐시의 TTL을 절반으로 분할하도록 오더링하는 것으로 이루어질 수 있다. 이 명령은 이들의 캐시를 갱신하도록 DNS 캐시를 강요하도록 의도된다. 예를 들어, 3600초의 TTL을 갖는 DNS 캐시 내의 엔트리는 0초로 설정될 수 있고, 따라서 무효화된다.
DNS 응답의 비에 기초하여 하나 이상의 DNS 캐시가 갖는 포이즈닝 문제점을 연역하는 경우의 대안적인 수단은 예를 들어 문제점에 의해 영향을 받은 DNS 캐시 내의 지속적인 DNS 엔트리의 구성 또는 DNS 구역의 만료이다. 이는 이들의 이후에 질의되면 고발된 DNS 캐시가 유효값을 리턴하는 것을 보장하는 것을 가능하게 한다. 이 수단은 일시적이고 DNS 캐시 데이터베이스의 동적 구성을 허용하기 위해 이후에 삭제되어야 한다.
일 실시예에서, DNS 응답 비교기(7) 및 DNS 응답 분석기는 단일 기능 모듈로 조합된다.
유리하게는, 이와 같이 얻어진 DNS 응답은 복수의 DNS 캐시를 통해 통합된다.
유리하게는, 여기에 설명된 방법은 ISP 네트워크 내에 미리 존재하는 DNS 캐시 서버의 지능형 사용을 통해 DNS 캐시 포이즈닝 공격을 방지하는 것을 가능하게 한다.
다른 실시예에서, DNS 질의 분산기(6)는 DNS 질의를
- 적어도 하나의 DNS 캐시[예를 들어, DNS 캐시(5_1)] 및
- 적어도 하나의 DNS 루트 서버(9)
에 릴레이하고, 이어서 이들이 리턴하는 DNS 응답을 비교한다. 이는 DNS 응답 비교기(7)에 대한 하나의 부가의 엔트리를 갖는 것을 가능하게 한다.
DNS 캐시 포이즈닝을 방지하는 것을 가능하게 하는 다른 실시예는 DNS 캐시 콘텐트의 유효성이 검증되는 방식을 변화시킨다. 달리 말하면, DNS 프로토콜을 사용하는 정보를 교환하는 대신에, 다른 DNS 캐시 콘텐트 검증 프로토콜이 전개된다.
유리하게는, 여기에 설명된 실시예는 대부분의 ISP 네트워크에 사용시에 미리 분산형 DNS 캐시 시스템을 사용한다.
여기에 설명된 실시예는 네트워크(B)에 접속된 클라이언트(A)에 의해 사용된 운영 체제에 독립적이라는 것을 유의해야 한다.
다른 실시예에서, DNS 모듈(10)은 선택적이고, 따라서 DNS 응답은 DNS 리졸버(1)에 직접 전송된다.
다른 실시예에서, 이들의 고객의 가정에 설치된 ISP의 상주 게이트웨이는 DNS 캐시이다. 운영자의 네트워크에 접속된 이들 상주 게이트웨이는 이어서 모듈 2, 6, 5_i 및 선택적으로 7, 8, 10과 선택적으로 이들 모듈과 연관된 데이터베이스를 조합할 수 있다.
A: 클라이언트 B: 네트워크
1: DNS 리졸버 3: DNS 캐시 관리 시스템
5_1, 5_2, 5_n: DNS 캐시 6: DNS 질의 분산기
7: 비교기 8: DNS 응답 분석기
9: DNS 루트 서버 10: DNS 응답 모듈
61: 데이터베이스 70: 정보 데이터베이스

Claims (10)

  1. 복수의 DNS 캐시(5_1, 5_i, 5_n)를 포함하는 컴퓨터 네트워크(B) 내에서 적어도 하나의 DNS 캐시(5_i)의 포이즈닝(poisoning) 방지하기 위한 방법에 있어서,
    2개의 상이한 DNS 캐시에 의해 리턴된 DNS 질의에 대한 적어도 2개의 DNS 응답을 비교하는 단계와,
    DNS 캐시에 질의하기 전에, DNS 질의를 분석하여 상기 DNS 질의가 연관되는 서비스를 식별하는 것을 가능하게 하는 단계를 포함하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  2. 제 1 항에 있어서,
    질의된 DNS 캐시의 수는 DNS 질의가 연관되는 서비스에 의존하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  3. 제 1 항에 있어서,
    상기 DNS 응답을 비교하는 단계는 적어도 하나의 DNS 캐시에 의한 DNS 질의의 역 분해의 단계를 포함하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  4. 제 1 항에 있어서,
    상기 DNS 응답을 비교하는 단계는 DNS 응답의 비를 계산하는 단계를 포함하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  5. 제 4 항에 있어서,
    상기 DNS 캐시에 의해 리턴된 DNS 응답의 세트 중에 최고 비를 갖는 DNS 응답은 DNS 질의에 대한 DNS 응답인
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  6. 제 1 항에 있어서,
    상기 DNS 캐시에 의해 리턴된 DNS 응답 사이의 비일관성은 이하의 동작,
    - 보안 문제점을 DNS 질의의 소스에게 통지하는 것,
    - 적어도 하나의 DNS 캐시 상의 잠재적인 포이즈닝 공격을 컴퓨터 네트워크(B)의 관리자에 통지하는 것,
    - 데이터베이스(11) 내에 이들 DNS 응답 중 적어도 하나를 저장하는 것
    중 하나를 트리거링하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  7. 제 4 항에 있어서,
    상기 DNS 캐시의 세트에 의해 리턴된 응답 사이의 낮은 비를 갖는 DNS 응답을 리턴하는 DNS 캐시의 타임 투 라이브(Time To live)는 0으로 감소되는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  8. 제 1 항 내지 제 7 항 중 어느 한 항에 있어서,
    상기 DNS 응답은 DNS 루트 서버(9)에 의해 리턴된 DNS 응답을 포함하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 방법.
  9. 복수의 DNS 캐시를 포함하는 컴퓨터 네트워크 내에서 적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 시스템에 있어서,
    2개의 상이한 DNS 캐시에 의해 리턴된 DNS 질의에 대한 적어도 2개의 DNS 응답의 분석기와, DNS 질의에 대한 정보의 데이터베이스(4)를 구비하여 DNS 질의와 연관된 서비스를 식별하는 것을 가능하게 하는 DNS 질의 분석기(2)를 포함하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 시스템.
  10. 제 9 항에 있어서,
    상기 DNS 응답은 DNS 루트 서버(9)에 의해 리턴된 DNS 응답을 포함하는
    적어도 하나의 DNS 캐시의 포이즈닝을 방지하기 위한 시스템.
KR1020127018944A 2010-01-19 2011-01-18 Dns 캐시의 포이즈닝을 방지하기 위한 방법 및 시스템 KR20120096580A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1000199A FR2955405B1 (fr) 2010-01-19 2010-01-19 Procede et systeme de prevention d'empoisonnement des caches dns
FR1000199 2010-01-19

Publications (1)

Publication Number Publication Date
KR20120096580A true KR20120096580A (ko) 2012-08-30

Family

ID=42738898

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127018944A KR20120096580A (ko) 2010-01-19 2011-01-18 Dns 캐시의 포이즈닝을 방지하기 위한 방법 및 시스템

Country Status (7)

Country Link
US (1) US20120297478A1 (ko)
EP (1) EP2526670B1 (ko)
JP (1) JP5499183B2 (ko)
KR (1) KR20120096580A (ko)
CN (1) CN102714663A (ko)
FR (1) FR2955405B1 (ko)
WO (1) WO2011089129A1 (ko)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120317153A1 (en) * 2011-06-07 2012-12-13 Apple Inc. Caching responses for scoped and non-scoped domain name system queries
CN102404318B (zh) * 2011-10-31 2015-09-09 杭州迪普科技有限公司 一种防范dns缓存攻击的方法及装置
CN102404317A (zh) * 2011-10-31 2012-04-04 杭州迪普科技有限公司 一种防范dns缓存攻击的方法及装置
US8752134B2 (en) * 2012-03-05 2014-06-10 Jie Ma System and method for detecting and preventing attacks against a server in a computer network
JP5930546B2 (ja) * 2013-05-30 2016-06-08 日本電信電話株式会社 Dnsサーバ調査装置及びdnsサーバ調査方法
US9680790B2 (en) * 2013-08-29 2017-06-13 Mastercard International Incorporated Systems and methods for resolving data inconsistencies between domain name systems
CN103561120B (zh) * 2013-10-08 2017-06-06 北京奇虎科技有限公司 检测可疑dns的方法、装置和可疑dns的处理方法、系统
FR3015838A1 (fr) * 2013-12-20 2015-06-26 Orange Procede de mise a jour dynamique d'informations obtenues de la part d'un serveur dns
CN103747005B (zh) * 2014-01-17 2018-01-05 山石网科通信技术有限公司 Dns缓存投毒的防护方法和设备
CN103973834B (zh) * 2014-05-12 2017-07-25 重庆邮电大学 一种基于家庭网关的dns域名解析加速方法及装置
CN105338123B (zh) * 2014-05-28 2018-10-02 国际商业机器公司 用于在网络中解析域名的方法、装置和系统
CN104935683A (zh) * 2015-06-29 2015-09-23 北京经天科技有限公司 用于域名解析的缓存处理方法和装置
CN105939337B (zh) * 2016-03-09 2019-08-06 杭州迪普科技股份有限公司 Dns缓存投毒的防护方法及装置
US10469499B2 (en) * 2016-06-30 2019-11-05 Calix, Inc. Website filtering using bifurcated domain name system
US10757075B2 (en) * 2017-04-14 2020-08-25 Calix, Inc. Device specific website filtering using a bifurcated domain name system
US10623425B2 (en) 2017-06-01 2020-04-14 Radware, Ltd. Detection and mitigation of recursive domain name system attacks
US10938851B2 (en) 2018-03-29 2021-03-02 Radware, Ltd. Techniques for defense against domain name system (DNS) cyber-attacks
US11201853B2 (en) * 2019-01-10 2021-12-14 Vmware, Inc. DNS cache protection
KR20200119945A (ko) * 2019-04-10 2020-10-21 삼성전자주식회사 저 지연 dns 처리를 지원하는 전자 장치
CN110401644A (zh) * 2019-07-12 2019-11-01 杭州迪普科技股份有限公司 一种攻击防护方法及装置
US10855644B1 (en) 2019-09-09 2020-12-01 Vmware, Inc. Address resolution protocol entry verification
US11575646B2 (en) * 2020-03-12 2023-02-07 Vmware, Inc. Domain name service (DNS) server cache table validation
US20220239693A1 (en) * 2021-01-22 2022-07-28 Comcast Cable Communications, Llc Systems and methods for improved domain name system security
CN113965392A (zh) * 2021-10-25 2022-01-21 杭州安恒信息技术股份有限公司 恶意服务器检测方法、系统、可读介质及电子设备
CN116436705B (zh) * 2023-06-13 2023-08-11 武汉绿色网络信息服务有限责任公司 网络安全检测方法、装置、电子设备及存储介质

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3725376B2 (ja) * 1999-09-29 2005-12-07 株式会社東芝 Dns問い合わせ装置、dns問い合わせ方法、および記録媒体
US7155723B2 (en) * 2000-07-19 2006-12-26 Akamai Technologies, Inc. Load balancing service
JP2005250626A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。
JP4213689B2 (ja) * 2005-07-08 2009-01-21 株式会社クローバー・ネットワーク・コム ファーミング詐欺防止システム、ネットワーク端末装置及びプログラム
JP2007102747A (ja) * 2005-09-09 2007-04-19 Matsushita Electric Works Ltd パケット検知装置、メッセージ検知プログラム、不正メールの遮断プログラム
CN101310502B (zh) * 2005-09-30 2012-10-17 趋势科技股份有限公司 安全管理设备、通信系统及访问控制方法
US20080060054A1 (en) * 2006-09-05 2008-03-06 Srivastava Manoj K Method and system for dns-based anti-pharming
US9172713B2 (en) * 2008-09-24 2015-10-27 Neustar, Inc. Secure domain name system
US7930428B2 (en) * 2008-11-11 2011-04-19 Barracuda Networks Inc Verification of DNS accuracy in cache poisoning

Also Published As

Publication number Publication date
CN102714663A (zh) 2012-10-03
EP2526670A1 (fr) 2012-11-28
WO2011089129A1 (fr) 2011-07-28
FR2955405A1 (fr) 2011-07-22
JP5499183B2 (ja) 2014-05-21
EP2526670B1 (fr) 2015-03-04
JP2013517726A (ja) 2013-05-16
FR2955405B1 (fr) 2015-08-21
US20120297478A1 (en) 2012-11-22

Similar Documents

Publication Publication Date Title
KR20120096580A (ko) Dns 캐시의 포이즈닝을 방지하기 위한 방법 및 시스템
US11909639B2 (en) Request routing based on class
US9742795B1 (en) Mitigating network attacks
US10284516B2 (en) System and method of determining geographic locations using DNS services
US9774619B1 (en) Mitigating network attacks
JP5991901B2 (ja) 偽装ネットワークトラフィックを検知する方法、装置、及びプログラム
US9794281B1 (en) Identifying sources of network attacks
US9106701B2 (en) Request routing management based on network components
CN107528862B (zh) 域名解析的方法及装置
US10594805B2 (en) Processing service requests for digital content
US8904524B1 (en) Detection of fast flux networks
US20100138921A1 (en) Countering Against Distributed Denial-Of-Service (DDOS) Attack Using Content Delivery Network
EP2336890A1 (en) Root cause analysis method targeting information technology (it) device not to acquire event information, device and program
US20080104241A1 (en) Terminal device management system, data relay device, internetwork connection device, and quarantine method of terminal device
JP2010529571A (ja) 構造化ピアツーピア・ネットワークにおいて悪意のあるピアを検出するためのプロクタ・ピア
IL280889A (en) A value injection system and viewing for wiretapping
KR101127246B1 (ko) Ip 주소를 공유하는 단말을 검출하는 방법 및 그 장치
JP4693174B2 (ja) 中間ノード
KR101518474B1 (ko) 현재 시간 기준으로 공인 아이피를 공유하는 인터넷 접속 요청 트래픽의 선별적 허용/차단 방법 및 그 방법을 실행하기 위한 공인 아이피 공유의 현재 상태 검출 및 차단 시스템
US11979374B2 (en) Local network device connection control
KR101518468B1 (ko) 인터넷 접속 요청을 하는 클라이언트 단말의 인터넷 접속 요청 트래픽으로부터 동일한 공인 ip를 이용하는 사설 네트워크상의 복수개의 클라이언트 단말의 디바이스 대수를 검출하는 방법 및 공인 ip 공유 상태 검출 시스템
KR101603694B1 (ko) 공유 단말 식별 방법 및 그 시스템
KR101603692B1 (ko) 공유 단말 식별 방법 및 그 시스템
CN110769004B (zh) 在dns客户端或代理服务器使用的dns防污染方法
CN108768853B (zh) 基于域名路由器的分布式混合域名系统及方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application