CN105610867B - 一种dns防劫持方法和装置 - Google Patents

一种dns防劫持方法和装置 Download PDF

Info

Publication number
CN105610867B
CN105610867B CN201610114566.6A CN201610114566A CN105610867B CN 105610867 B CN105610867 B CN 105610867B CN 201610114566 A CN201610114566 A CN 201610114566A CN 105610867 B CN105610867 B CN 105610867B
Authority
CN
China
Prior art keywords
dns
address
domain name
resolution request
client
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201610114566.6A
Other languages
English (en)
Other versions
CN105610867A (zh
Inventor
阿继琛
段程远
刘阳
吕宝财
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Priority to CN201610114566.6A priority Critical patent/CN105610867B/zh
Publication of CN105610867A publication Critical patent/CN105610867A/zh
Application granted granted Critical
Publication of CN105610867B publication Critical patent/CN105610867B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/1466Active attacks involving interception, injection, modification, spoofing of data unit addresses, e.g. hijacking, packet injection or TCP sequence number attacks
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明提供DNS防劫持方法和装置,属于网络通信技术领域。针对现有技术的客户端直接从本地缓存中存储的域名‑IP地址映射对内查找与所需要查询的域名对应的IP地址,会出现本地缓存原始数据过期或者被修改等导致IP地址错误的技术问题,本发明实施例提供的DNS防劫持方法和装置,系统包括客户端、存储设备和服务器,客户端根据接收的DNS解析请求,从存储设备内存储的标准域名‑IP地址映射对内查找与所需要查询的域名对应的IP地址,一定程度上减少了因为本地缓存原始数据过期或者被修改等导致IP地址错误的情况,极大程度上提高了DNS系统的安全性。

Description

一种DNS防劫持方法和装置
技术领域
本发明涉及网络通信技术领域,具体而言,涉及一种DNS防劫持方法和装置。
背景技术
随着域名系统飞速发展,域名的注册规模急剧扩大,其管理难度急剧增加。由于DNS协议在设计之初没有考虑太多的安全因素,DNS上的各类数据没有加密保护和认证预防,DNS系统在实现上具有脆弱性,再加上人为攻击和破坏,DNS面临非常严重的安全威胁。常见的安全问题包括域名与IP地址之间的映射关系被修改,客户主机遭受欺骗攻击、面临拒绝服务,DNS服务器缓存中毒、区域信息泄漏等。作为Internet上的关键基础服务,DNS一旦出错,将影响互联网大部分业务的正常运行。所以,DNS的安全问受到广泛关注,对DNS系统安全的分析和研究就显得尤为重要。
当前国内外对于DNS防劫持技术的研究主要基于DNS服务端,其中包括针对协议设计进行的改进、DNS服务端的流量检测、DNS管理和维护等几个方面。而在客户端进行的防护主要体现在对DNS服务器合法性的判断和自动配置方面。现有技术的防劫持设备都需要极大地工作量对现有的系统和设备进行改进,成本较高。
发明内容
有鉴于此,本发明实施例的目的在于提供一种DNS防劫持方法和装置。
本发明实施例提供的一种DNS防劫持方法,应用于DNS防劫持系统,所述DNS防劫持系统包括客户端和存储设备,所述存储设备内存储有标准域名-IP地址映射对,所述标准域名-IP地址映射对为经过预设规则验证的满足通信协议的映射对,所述方法包括:
所述客户端接收网络层发送的DNS解析请求;
根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址;
若所述客户端查找到所述DNS解析请求对应的IP地址,将所查找到所述DNS解析请求对应的所述IP地址发送至所述网络层。
优选地,所述客户端根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址,具体包括:
接收所述存储设备发送的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对;
接收所述存储设备导入本地缓存的所述标准域名-IP地址映射对;
根据所接收的所述DNS解析请求在所述本地缓存内的所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址。
优选地,所述客户端根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址,具体包括:
接收所述存储设备的清空指令,根据所述清空指令清除本地缓存内的标准域名-IP地址映射对;
根据所接收的DNS解析请求生成IP地址查询指令;
将所述IP地址查询指令发送至所述存储设备,以使所述存储设备在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址。
优选地,所述DNS防劫持系统还包括多个DNS服务器,所述方法还包括:
若所述客户端没有查找到与所述DNS解析请求对应的所述IP地址,生成多个DNS查询数据包;
将生成的多个所述DNS查询数据包发送至多个所述DNS服务器,其中,每个所述DNS服务器接收一个DNS查询数据包,以使每个所述DNS服务器根据所接收的所述DNS查询数据包反馈一个DNS应答数据包至所述客户端;
根据第一判决机制和多个所述DNS服务器反馈的所述DNS应答数据包得出与所述DNS解析请求对应的IP地址,将所述IP地址发送至所述网络层。
优选地,所述方法还包括:
随机抓取经过网卡的自动DNS数据包,所述DNS数据包包括所述DNS解析请求和自动IP地址;
根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的标准IP地址;
根据所述自动IP地址、所述标准IP地址和第二判决机制得到DNS防劫持状态监测结果。
本发明实施例提供的一种DNS防劫持装置,应用于DNS防劫持系统,所述DNS防劫持系统包括客户端和存储设备,所述存储设备内存储有标准域名-IP地址映射对,所述标准域名-IP地址映射对为经过预设规则验证的满足通信协议的映射对,所述客户端包括所述的DNS防劫持装置,所述DNS防劫持装置包括DNS解析请求接收单元、查找单元和IP地址发送单元;
DNS解析请求接收单元,用于接收网络层发送的DNS解析请求;
查找单元,用于根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址;
IP地址发送单元,用于在所述客户端查找到所述DNS解析请求对应的IP地址时,将所查找到所述DNS解析请求对应的所述IP地址发送至所述网络层。
优选地,所述查找单元包括第一清空子单元、标准域名-IP地址映射对接收子单元和IP地址查找子单元;
所述第一清空子单元,用于接收所述存储设备的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对;
所述标准域名-IP地址映射对接收子单元,接收所述存储设备导入本地缓存的所述标准域名-IP地址映射对;
所述IP地址查找子单元,用于根据所接收的所述DNS解析请求在所述本地缓存内的所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址。
优选地,所述查找单元包括第二清空子单元、IP地址查询指令生成子单元、IP地址查询指令发送子单元;
所述第二清空子单元,用于接收所述存储设备的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对;
所述IP地址查询指令生成子单元,用于根据所接收的DNS解析请求生成IP地址查询指令;
所述IP地址查询指令发送子单元,用于将所述IP地址查询指令发送至所述存储设备,以使所述存储设备在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址。
优选地,所述DNS防劫持系统还包括多个DNS服务器,所述DNS防劫持装置还包括DNS查询数据包生成单元、DNS查询数据包发送单元和判决单元;
所述DNS查询数据包生成单元,用于在所述客户端没有查找到与所述DNS解析请求对应的IP地址时,生成多个DNS查询数据包;
所述DNS查询数据包发送单元,用于将生成的多个所述DNS查询数据包发送至多个所述DNS服务器,其中,每个所述DNS服务器接收一个DNS查询数据包,以使每个所述DNS服务器根据所接收的所述DNS查询数据包反馈一个DNS应答数据包至所述判决单元;
所述判决单元,用于根据多个所述DNS服务器反馈的所述DNS应答数据包和第一判决机制得出与所述DNS解析请求对应的IP地址,将所述IP地址发送至所述网络层。
优选地,还包括自动DNS数据包抓取单元、标准IP地址获取单元和状态监测单元;
所述DNS数据包抓取单元,用于随机抓取经过网卡的自动DNS数据包,所述DNS数据包包括所述DNS解析请求和自动IP地址;
所述标准IP地址获取单元,用于根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的标准IP地址;
所述状态监测单元,用于根据所述自动IP地址、所述标准IP地址和第二判决机制得到DNS防劫持状态监测结果。
与现有技术相比,本发明的DNS防劫持方法及其所应用的DNS防劫持系统,所述系统包括DNS防劫持装置,包括客户端和存储设备,增设的存储设备内存储有标准域名-IP地址映射对,所述标准域名-IP地址映射对为经过预设规则验证的满足通信协议的映射对,客户端在接收到网络层的DNS解析请求时,从存储有标准域名-IP地址映射对的存储设备中查找IP地址,以较为安全的方式实现了DNS系统的应用安全性。
为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明较佳实施例提供的服务器与客户端进行交互的示意图。
图2为本发明较佳实施例提供的DNS防劫持装置所应用的客户端的方框示意图。
图3为本发明较佳实施例提供的DNS防劫持方法的流程图。
图4为本发明较佳实施例提供的DNS防劫持方法的流程图。
图5为本发明较佳实施例提供的DNS防劫持方法的流程图。
图6为本发明较佳实施例提供的DNS防劫持方法的流程图。
图7为本发明较佳实施例提供的DNS防劫持方法的流程图。
图8为本发明较佳实施例提供的DNS防劫持装置的功能模块示意图。
图9为本发明较佳实施例提供的DNS防劫持装置的功能模块示意图。
图10为本发明较佳实施例提供的DNS防劫持装置的功能模块示意图。
图11为本发明较佳实施例提供的DNS防劫持装置的功能模块示意图。
图12为本发明较佳实施例提供的DNS防劫持装置的功能模块示意图。
具体实施方式
下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
如图1所示,是本发明较佳实施例提供的DNS防劫持系统的DNS服务器103与客户端101进行交互的示意图。所述DNS服务器103通过网络与一个或多个客户端101进行通信连接,以进行数据通信或交互。所述服务器103可以是网络服务器103、数据库服务器103等。所述客户端101可以是个人电脑(personal computer,PC)、平板电脑、智能手机、个人数字助理(personal digital assistant,PDA)等。
如图2所示,是所述或客户端101的方框示意图。所述客户端101可以包括DNS防劫持装置201、存储器202、存储控制器203、处理器204、外设接口206、输入输出单元207、音频单元208、显示单元209和其它(如传感器)205。
所述存储器202、存储控制器203、处理器204、外设接口206、输入输出单元207、显示单元209各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。所述DNS防劫持装置201包括至少一个可以软件或固件(firmware)的形式存储于所述存储器202中或固化在所述DNS防劫持装置201的操作系统(operating system,OS)中的软件功能模块。所述处理器204用于执行存储器202中存储的可执行模块,例如所述DNS防劫持装置201包括的软件功能模块或计算机程序。
其中,存储器202可以是,但不限于,随机存取存储器202(Random Access Memory,RAM),只读存储器202(Read Only Memory,ROM),可编程只读存储器202(ProgrammableRead-Only Memory,PROM),可擦除只读存储器202(Erasable Programmable Read-OnlyMemory,EPROM),电可擦除只读存储器202(Electric Erasable Programmable Read-OnlyMemory,EEPROM)等。其中,存储器202用于存储程序,所述处理器204在接收到执行指令后,执行所述程序,前述本发明实施例任一实施例揭示的流过程定义的服务器103所执行的方法可以应用于处理器204中,或者由处理器204实现。
处理器204可能是一种集成电路芯片,具有信号的处理能力。上述的处理器204可以是通用处理器204,包括中央处理器204(Central Processing Unit,简称CPU)、网络处理器204(Network Processor,简称NP)等;还可以是数字信号处理器204(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器204可以是微处理器204或者该处理器204也可以是任何常规的处理器204等。
所述外设接口206将各种输入/输入装置耦合至处理器204以及存储器202。在一些实施例中,外设接口206,处理器204以及存储控制器203可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。
输入输出单元207用于提供给用户输入数据实现用户与所述客户端101的交互。所述输入输出单元207可以是,但不限于,鼠标和键盘等。
显示单元209在所述客户端101与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元209可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器204进行计算和处理。
请参阅图3,是本发明较佳实施例提供的应用于图2所示的DNS防劫持装置201的DNS防劫持方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤S301,所述客户端101接收网络层发送的DNS解析请求。
步骤S302,根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址。
步骤S303,若所述客户端101查找到所述DNS解析请求对应的IP地址,将所查找到所述DNS解析请求对应的所述IP地址发送至所述网络层。
本发明实施例提供的DNS防劫持方法,应用于DNS防劫持系统,所述DNS防劫持系统包括客户端101和存储设备102,所述客户端101用于接收用户输入的DNS解析请求,并根据所述DNS解析请求向所述存储设备102或者服务器103请求与查询域名所对应的IP地址。所述客户端101包括本地缓存,所述客户端101与所述存储设备102耦合,所述存储设备102内存储有标准域名-IP地址映射对,所述标准域名-IP地址映射对为经过预设规则验证的满足通信协议的映射对。所述DNS防劫持方法具体包括:
S301,所述客户端101接收网络层发送的DNS解析请求。
用户在需要进行网络搜索时,会在客户端101输入搜索信息。所述客户端101的网络层根据搜索信息生成DNS解析请求,所述DNS解析请求包括所需查询的域名信息。
S302,所述客户端101根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址。
所述客户端101根据所接收的包括所需查询的域名的DNS解析请求,在所述标准域名-IP地址映射对内查找与所述DNS解析请求中的所需查询的域名对应的IP地址。所述标准名-IP地址映射对存储在所述存储设备102中,所述客户端101从所述存储设备102中查找IP地址的方式可以包括多种,其一为:所述存储设备102将其内部存储的标准域名-IP地址映射对全部导入到客户端101的本地缓存内,所述客户端101直接从所述本地缓存中查找到所需查询的IP地址;其二为:所述客户端101发送查询指令至所述存储设备102,在所述存储设备102内找到所需要的IP地址,读取所述存储设备102内所查找到的与所述DNS解析请求内的所需查询的域名对应的IP地址,其它能实现本实施例提供的客户端101从所述存储设备102内存储的标准域名-IP地址映射对中与查询域名对应的IP地址的查询方式均可适用于本实施例。
S303:若所述客户端101查找到所述DNS解析请求对应的IP地址,将所查找到所述DNS解析请求对应的所述IP地址发送至所述网络层。
若所述存储设备102内存储的标准域名-IP地址映射对内包括与所述域名对应的IP地址,所述客户端101能成功的从所述标准域名-IP地址映射对内查找到与所需查询的域名对应的IP地址,则所述客户端101将查找到的与所述DNS解析请求对应的所述IP地址发送至所述网络层,以供所述网络层进行IP地址访问。若所述存储设备102内未存储所需查询的域名-IP地址映射对,或者该存储设备102未连入该DNS防劫持装置201导致所述客户端101未能成功获取所述IP地址,则所述客户端101会向服务器103发送DNS查询数据包,以查询所需要访问的IP地址。
上述本发明实施例提供的DNS防劫持方法,针对于现有技术的所述客户端101直接从本地缓存中存储的域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,会出现本地缓存原始数据过期或者被修改等导致IP地址错误的技术问题,本发明实施例提供的DNS防劫持方法,所述客户端101根据接收的DNS解析请求,从所述存储设备102内存储的标准域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,一定程度上减少了因为本地缓存原始数据过期或者被修改等导致IP地址错误的情况,提高了DNS系统的安全性。
请参阅图4,是本发明较佳实施例提供的应用于图2所示的DNS防劫持装置201的DNS防劫持方法中针对于上述实施例中步骤S302较佳实施方式的流程图。下面将对图4所示的具体流程进行详细阐述。
步骤S401,接收所述存储设备102发送的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对。
所述存储设备102内置有处理器,所述存储设备的处理器在检测到该存储设备102的接口连接到所述DNS防劫持装置时,发送清空指令至客户端101,所述客户端101接收所述存储设备102发送的清空指令,并根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对,一定程度上防止该客户端101在接收网络层发送的DNS解析请求时直接从本地缓存读取可能错误的IP地址。
步骤S402,接收所述存储设备102导入本地缓存的所述标准域名-IP地址映射对。
所述客户端101在接收所述存储设备102发送的清空指令后将本地缓存中存储的原始域名-IP地址映射对清空后,所述存储设备102内存储的全部标准域名-IP地址映射对发送至所述客户端101,可以优选导入客户端101的本地缓存,这样本地缓存内存储的原始DNS数据就被存储设备102内存储的标准DNS数据取代,有效避免所述客户端101读取本地缓存中原始DNS数据时查找到错误IP地址的问题。
步骤S403,根据所接收的所述DNS解析请求在所述本地缓存内的所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址。
所述客户端101在接收所述存储设备102导入本地缓存的全部标准域名-IP地址映射对后,所述客户端101接收到所述IP解析请求时,可以直接在本地缓存中查找与所述DNS解析请求中的所需要查询的域名所对应的IP地址。若所述客户端101成功的在所述存储设备102导入所述本地缓存的标准域名-IP地址映射对中查找到所述DNS解析请求对应的IP地址,则将该IP地址发送至所述网络层,若所述客户端101没有在标准域名-IP地址映射对中查找到所需要的IP地址,则所述客户端101向服务器103发送IP查询数据包,以查找所需要的IP地址。
请参阅图5,是本发明较佳实施例提供的应用于图2所示的DNS防劫持装置201的DNS防劫持方法针对于上述实施例中步骤S302较佳实施方式的流程图。下面将对图5所示的具体流程进行详细阐述。
步骤S501,接收所述存储设备102的清空指令,根据所述清空指令清除本地缓存内的标准域名-IP地址映射对。
所述存储设备102内置有处理器,所述存储设备102的处理器在检测到该存储设备102的接口连接到所述DNS防劫持装置时,发送清空指令至客户端101,所述客户端101接收所述存储设备102发送的清空指令,并根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对,一定程度上防止该客户端101在接收网络层发送的DNS解析请求时直接从本地缓存读取可能错误的IP地址。
步骤S502,根据所接收的DNS解析请求生成IP地址查询指令。
所述客户端101在接收所述存储设备102发送的清空指令后将本地缓存中存储的原始域名-IP地址映射对清空后,所述客户端101根据所述DNS解析请求生成IP地址查询指令,所述IP地址查询指令包括所述DNS解析请求内的所需查询的域名。
步骤S503,将所述IP地址查询指令发送至所述存储设备102,以使所述存储设备102在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址。
所述客户端101将所生成的IP地址查询指令发送至所述存储设备102,所述存储设备102接收所述IP地址查询指令后,在其内部存储的标准域名-IP地址映射对内查找与所需查询的域名对应的IP地址。若所述存储设备102查找到所需要的IP地址,则将所述IP地址发送至所述客户端101,以使所述客户端101将所述IP地址发送至网络层进行IP访问。若所述存储设备102没有在标准域名-IP地址映射对中查找到所需要的IP地址,则所述客户端101向服务器103发送DNS查询数据包,以查找所需要的IP地址。
上述本发明实施例提供的DNS防劫持方法,针对所述客户端101从所述标准域名-IP地址映射对中查找到所需要的IP地址的两种可能实施方式进行了解释,所述存储设备102与客户端101连接时,首先发送清空指令将所述本地缓存中存储的DNS数据清除,一定程度上避免客户端101读取本地缓存中原始DNS数据中的错误IP地址。可以通过所述存储设备102将全部标准域名-IP地址映射对导入本地缓存,客户端101在本地缓存中查找所需要的IP地址,也可以在生成IP地址查询指令至所述存储设备102,使得所述存储设备102自行查找后将所查找到的所需要的IP地址反馈至所述客户端101。上述两种可能实施方式都能有效避免因为本地缓存原始数据过期或者被修改等导致IP地址错误的情况,提高了DNS系统的安全性。
请参阅图6,是本发明较佳实施例提供的应用于图2所示的DNS防劫持装置201的DNS防劫持方法的流程图。本实施例的所述DNS防劫持方法所应用的DNS防劫持系统还可以包括多个DNS服务器103,下面将对图3所示的具体流程进行详细阐述。
步骤S601,若所述客户端101没有查找到与所述DNS解析请求对应的所述IP地址,生成多个DNS查询数据包。
上述实施例中的DNS防劫持方法,客户端101在所述存储设备102中的标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址,若在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址后,则所述客户端101将所述IP地址发送至所述网络层进行IP访问,若所述客户端101未能在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址,则所述客户端101向所述服务器103查询IP地址,所述服务器103优选为DNS服务器103。
所述客户端101根据所述DNS解析请求生成DNS查询数据包,所述DNS查询数据包包括所需查询的域名信息。
步骤S602,将生成的多个所述DNS查询数据包发送至多个所述DNS服务器103,其中,每个所述DNS服务器103接收一个DNS查询数据包,以使每个所述DNS服务器103根据所接收的所述DNS查询数据包反馈一个DNS应答数据包至所述客户端101。
所述客户端101生成多个DNS查询数据包,将生成的多个所述DNS查询数据包发送至所述DNS防劫持系统内的多个DNS服务器103,每个所述DNS服务器103接收一个DNS查询数据包,并根据所接收的DNS查询数据包生成DNS应答数据包,所述DNS应答数据包包括与所需要查询的域名对应的IP地址。
步骤S603,根据第一判决机制和多个所述DNS服务器103反馈的所述DNS应答数据包得出与所述DNS解析请求对应的IP地址,将所述IP地址发送至所述网络层。
所述客户端101在接收多个DNS服务器103反馈的DNS应答数据包后,根据其内部预设的第一判决机制得出判决结果,所述第一判决机制可以为类似“少数服从多数”的判决机制,或者异常淘汰机制等,所述客户端101得出的判决结果为所需要的IP地址,将所述IP地址发送至网络层进行IP访问。
上述本发明实施例提供的DNS防劫持方法,针对于现有技术的DNS系统中,只包含一个DNS服务器103,客户端101向所述服务器103查询IP地址时,无法识别所述唯一的DNS服务器103是否被劫持以及其返回的IP地址是否安全等的技术问题,达到了通过多线程式向多个DNS服务器103发送DNS解析请求,已得到多个解析结果,并根据内部预设的第一判决机制得出正确的IP地址进行IP访问较为安全的技术效果。
请参阅图7,是本发明较佳实施例提供的应用于图2所示的DNS防劫持装置201的DNS防劫持方法的流程图。下面将对图3所示的具体流程进行详细阐述。
步骤S701,随机抓取经过网卡的自动DNS数据包,所述DNS数据包包括所述DNS解析请求和自动IP地址。
本实施例提供的DNS防劫持方法,增设了DNS状态监测模块,随机抓取自动DNS数据包并进行标准DNS数据包查询,以比对监测DNS系统是否被劫持。
所述客户端101随机抓取经过网卡中的自动DNS数据包,所述自动DNS数据包可以包括所述DNS解析请求和自动IP地址。
步骤S702,根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的标准IP地址。
所述客户端101在抓取到自动DNS数据包时,在所述自动DNS数据包中选择DNS解析请求,在所述存储设备102中的标准域名-IP地址映射对内查找与所述DNS解析请求对应的标准IP地址,所述查询过程可以参照上述实施例中的查找方式,当然,也可以通过多线程方式获得判决后的标准IP地址。
步骤S703,根据所述自动IP地址、所述标准IP地址和第二判决机制得到DNS防劫持状态监测结果。
所述客户端101根据所述自动IP地址和所述标准IP地址进行判决,判决依据为内部预设的第二判决机制,所述第二判决机制可以:与所述标准IP地址一致则所述DNS防劫持状态监测结果为DNS状态正常,否则DNS状态异常,以进行报警提示或者通过自检程序进行异常查询。当然,所述判决机制还可以为适合本实施例DNS系统的其他判决机制。
上述本发明实施例提供的DNS防劫持方法,对于经过网卡的数据包进行随机抓取,以随机随时检查DNS系统是否处于正常状态若监测到非正常状态时系统进行异常自检或者修复,进一步提高了DNS系统的安全性。
上述本发明实施例提供的DNS防劫持方法,针对于现有技术的所述客户端101直接从本地缓存中存储的域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,会出现本地缓存原始数据过期或者被修改等导致IP地址错误的技术问题,本发明实施例提供的DNS防劫持方法,所述客户端101根据接收的DNS解析请求,从所述存储设备102内存储的标准域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,一定程度上减少了因为本地缓存原始数据过期或者被修改等导致IP地址错误的情况,且增设多个DNS服务器103,通过多线程反馈DNS应答数据包通过判决机制得到标准IP地址,还增设DNS系统状态监测模块,极大程度上提高了DNS系统的安全性。
请参阅图8,是本发明较佳实施例提供的图2所示的DNS防劫持装置201的功能模块示意图。所述DNS防劫持装置201应用于DNS防劫持系统,所述DNS防劫持系统包括客户端101和存储设备102,所述存储设备102内存储有标准域名-IP地址映射对,所述标准域名-IP地址映射对为经过预设规则验证的满足通信协议的映射对,所述客户端101包括所述的DNS防劫持装置201,所述DNS防劫持装置201包括DNS解析请求接收单元801、查找单元802和IP地址发送单元803。
所述DNS解析请求接收单元801,用于接收网络层发送的DNS解析请求。
所述查找单元802,用于根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址。
所述IP地址发送单元803,用于在所述客户端101查找到所述DNS解析请求对应的IP地址时,将所查找到所述DNS解析请求对应的所述IP地址发送至所述网络层。
本发明实施例提供的DNS防劫持装置201,应用于DNS防劫持系统,针对于现有技术的所述客户端101直接从本地缓存中存储的域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,会出现本地缓存原始数据过期或者被修改等导致IP地址错误的技术问题,本发明实施例提供的DNS防劫持方法,所述客户端101根据接收的DNS解析请求,从所述存储设备102内存储的标准域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,一定程度上减少了因为本地缓存原始数据过期或者被修改等导致IP地址错误的情况,提高了DNS系统的安全性。
请参阅图9,是本发明较佳实施例提供的图2所示的DNS防劫持装置201的功能模块示意图。在上述实施例的基础上,所述查找单元802包括第一清空子单元901、标准域名-IP地址映射对接收子单元902和IP地址查找子单元903。
所述第一清空子单元901,用于接收所述存储设备102的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对。
所述标准域名-IP地址映射对接收子单元902,接收所述存储设备102导入本地缓存的所述标准域名-IP地址映射对。
所述IP地址查找子单元903,用于根据所接收的所述DNS解析请求在所述本地缓存内的所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址。
请参阅图10,是本发明较佳实施例提供的图2所示的DNS防劫持装置201的功能模块示意图。在上述实施例的基础上,在上述实施例的基础上,所述查找单元802包括第二清空子单元1001、IP地址查询指令生成子单元1002、IP地址查询指令发送子单元1003。
所述第二清空子单元1001,用于接收所述存储设备102的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对。
所述IP地址查询指令生成子单元1002,用于根据所接收的DNS解析请求生成IP地址查询指令。
所述IP地址查询指令发送子单元1003,用于将所述IP地址查询指令发送至所述存储设备102,以使所述存储设备102在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址。
请参阅图11,是本发明较佳实施例提供的图2所示的DNS防劫持装置201的功能模块示意图。在上述实施例的基础上,所述DNS防劫持系统还包括多个DNS服务器103,所述DNS防劫持装置201还包括DNS查询数据包生成单元1101、DNS查询数据包发送单元1102和判决单元1103。
所述DNS查询数据包生成单元1101,用于在所述客户端101没有查找到与所述DNS解析请求对应的IP地址时,生成多个DNS查询数据包。
所述DNS查询数据包发送单元1102,用于将生成的多个所述DNS查询数据包发送至多个所述DNS服务器103,其中,每个所述DNS服务器103接收一个DNS查询数据包,以使每个所述DNS服务器103根据所接收的所述DNS查询数据包反馈一个DNS应答数据包至所述判决单元1103。
所述判决单元1103,用于根据多个所述DNS服务器103反馈的所述DNS应答数据包和第一判决机制得出与所述DNS解析请求对应的IP地址,将所述IP地址发送至所述网络层。
请参阅图12,是本发明较佳实施例提供的图2所示的DNS防劫持装置201的功能模块示意图。在上述实施例的基础上,还包括自动DNS数据包抓取单元1201、标准IP地址获取单元1202和状态监测单元1203。
所述DNS数据包抓取单元,用于随机抓取经过网卡的自动DNS数据包,所述DNS数据包包括所述DNS解析请求和自动IP地址。
所述标准IP地址获取单元1202,用于根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的标准IP地址。
所述状态监测单元1203,用于根据所述自动IP地址、所述标准IP地址和第二判决机制得到DNS防劫持状态监测结果。
上述本发明实施例提供的DNS防劫持装置201,应用于DNS防劫持系统,针对于现有技术的所述客户端101直接从本地缓存中存储的域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,会出现本地缓存原始数据过期或者被修改等导致IP地址错误的技术问题,本发明实施例提供的DNS防劫持方法,所述客户端101根据接收的DNS解析请求,从所述存储设备102内存储的标准域名-IP地址映射对内查找与所需要查询的域名对应的IP地址,一定程度上减少了因为本地缓存原始数据过期或者被修改等导致IP地址错误的情况,且增设多个DNS服务器103,通过多线程反馈DNS应答数据包通过判决机制得到标准IP地址,还增设DNS系统状态监测模块,极大程度上提高了DNS系统的安全性。上述本发明实施例提供的DNS防劫持装置201的具体工作过程可参照上述方法实施例,在此不一一赘述。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (4)

1.一种DNS防劫持方法,其特征在于,应用于DNS防劫持系统,所述DNS防劫持系统包括客户端和存储设备,所述存储设备内存储有标准域名-IP地址映射对,所述标准域名-IP地址映射对为经过预设规则验证的满足通信协议的映射对,所述方法包括:
所述客户端接收网络层发送的DNS解析请求;
根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址;
若所述客户端查找到所述DNS解析请求对应的IP地址,将所查找到所述DNS解析请求对应的所述IP地址发送至所述网络层;
其中,接收所述存储设备发送的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对;
接收所述存储设备导入本地缓存的所述标准域名-IP地址映射对;
根据所接收的所述DNS解析请求在所述本地缓存内的所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址;
随机抓取经过网卡的自动DNS数据包,所述自动DNS数据包包括所述DNS解析请求和自动IP地址;
根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的标准IP地址;
根据所述自动IP地址、所述标准IP地址和第二判决机制得到DNS防劫持状态监测结果;
若监测到非正常状态时系统进行异常自检或者修复。
2.根据权利要求1所述的DNS防劫持方法,其特征在于,所述DNS防劫持系统还包括多个DNS服务器,所述方法还包括:
若所述客户端没有查找到与所述DNS解析请求对应的所述IP地址,生成多个DNS查询数据包;
将生成的多个所述DNS查询数据包发送至多个所述DNS服务器,其中,每个所述DNS服务器接收一个DNS查询数据包,以使每个所述DNS服务器根据所接收的所述DNS查询数据包反馈一个DNS应答数据包至所述客户端;
根据第一判决机制和多个所述DNS服务器反馈的所述DNS应答数据包得出与所述DNS解析请求对应的IP地址,将所述IP地址发送至所述网络层。
3.一种DNS防劫持装置,其特征在于,所述DNS防劫持装置应用于客户端,所述客户端应用于DNS防劫持系统,所述DNS防劫持系统还包括存储设备,所述存储设备内存储有标准域名-IP地址映射对,所述标准域名-IP地址映射对为经过预设规则验证的满足通信协议的映射对,所述DNS防劫持装置包括DNS解析请求接收单元、查找单元和IP地址发送单元;所述DNS解析请求接收单元,用于接收网络层发送的DNS解析请求;所述查找单元,用于根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的IP地址;所述IP地址发送单元,用于在所述客户端查找到所述DNS解析请求对应的IP地址时,将所查找到所述DNS解析请求对应的所述IP地址发送至所述网络层;
其中,所述查找单元包括第一清空子单元、标准域名-IP地址映射对接收子单元和IP地址查找子单元;所述第一清空子单元用于接收所述存储设备发送的清空指令,根据所述清空指令清除本地缓存内存储的原始域名-IP地址映射对;所述标准域名-IP地址映射对接收子单元,接收所述存储设备导入本地缓存的所述标准域名-IP地址映射对;所述IP地址查找子单元,用于根据所接收的所述DNS解析请求在所述本地缓存内的所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的所述IP地址;
所述DNS防劫持装置还包括自动DNS数据包抓取单元、标准IP地址获取单元和状态监测单元;所述自动DNS数据包抓取单元,用于随机抓取经过网卡的自动DNS数据包,所述自动DNS数据包包括所述DNS解析请求和自动IP地址;所述标准IP地址获取单元,用于根据所述DNS解析请求在所述标准域名-IP地址映射对内查找与所述DNS解析请求对应的标准IP地址;所述状态监测单元,用于根据所述自动IP地址、所述标准IP地址和第二判决机制得到DNS防劫持状态监测结果;若监测到非正常状态时系统进行异常自检或者修复。
4.根据权利要求3所述的DNS防劫持装置,其特征在于,所述DNS防劫持系统还包括多个DNS服务器,所述DNS防劫持装置还包括DNS查询数据包生成单元、DNS查询数据包发送单元和判决单元;
所述DNS查询数据包生成单元,用于在所述客户端没有查找到与所述DNS解析请求对应的IP地址时,生成多个DNS查询数据包;
所述DNS查询数据包发送单元,用于将生成的多个所述DNS查询数据包发送至多个所述DNS服务器,其中,每个所述DNS服务器接收一个DNS查询数据包,以使每个所述DNS服务器根据所接收的所述DNS查询数据包反馈一个DNS应答数据包至所述判决单元;
所述判决单元,用于根据多个所述DNS服务器反馈的所述DNS应答数据包和第一判决机制得出与所述DNS解析请求对应的IP地址,将所述IP地址发送至所述网络层。
CN201610114566.6A 2016-03-01 2016-03-01 一种dns防劫持方法和装置 Active CN105610867B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201610114566.6A CN105610867B (zh) 2016-03-01 2016-03-01 一种dns防劫持方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201610114566.6A CN105610867B (zh) 2016-03-01 2016-03-01 一种dns防劫持方法和装置

Publications (2)

Publication Number Publication Date
CN105610867A CN105610867A (zh) 2016-05-25
CN105610867B true CN105610867B (zh) 2019-07-02

Family

ID=55990405

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201610114566.6A Active CN105610867B (zh) 2016-03-01 2016-03-01 一种dns防劫持方法和装置

Country Status (1)

Country Link
CN (1) CN105610867B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107528817B (zh) * 2016-06-22 2021-05-18 阿里巴巴(中国)有限公司 域名劫持的探测方法和装置
CN106534149A (zh) * 2016-11-29 2017-03-22 北京小米移动软件有限公司 Dns防劫持方法和装置、以及终端和服务器
CN106790071B (zh) * 2016-12-21 2020-04-03 北京奇虎测腾科技有限公司 一种dns全流量劫持风险的检测方法和装置
CN108243051A (zh) * 2016-12-27 2018-07-03 中国移动通信集团浙江有限公司 域名劫持防护处理方法及装置
US10412107B2 (en) * 2017-03-22 2019-09-10 Microsoft Technology Licensing, Llc Detecting domain name system (DNS) tunneling based on DNS logs and network data
CN108737582A (zh) * 2017-04-18 2018-11-02 艺龙网信息技术(北京)有限公司 域名解析的方法及装置
CN107770198A (zh) * 2017-12-07 2018-03-06 北京泛融科技有限公司 一种基于区块链的dns反劫持系统及方法
CN109451053B (zh) * 2018-12-18 2022-02-25 广州市百果园信息技术有限公司 页面资源请求消息发送方法、装置、介质和计算机设备
CN110445798B (zh) * 2019-08-14 2021-09-17 北京声智科技有限公司 Dns防劫持方法、装置及电子设备
CN112887255A (zh) * 2019-11-29 2021-06-01 北京一起教育信息咨询有限责任公司 一种网络通信方法及装置
CN111464521A (zh) * 2020-03-26 2020-07-28 深圳市酷开网络科技有限公司 防止域名被劫持的方法、装置、计算机设备和存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094129A (zh) * 2006-06-20 2007-12-26 腾讯科技(深圳)有限公司 一种域名访问方法及客户端
CN101668050A (zh) * 2008-09-07 2010-03-10 赵捷 域名解析方法及系统
CN101834911A (zh) * 2010-03-31 2010-09-15 联想网御科技(北京)有限公司 域名劫持的防御方法和网络出口设备
CN102572011A (zh) * 2012-02-02 2012-07-11 中国科学院计算机网络信息中心 数据处理方法、装置和系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101094129A (zh) * 2006-06-20 2007-12-26 腾讯科技(深圳)有限公司 一种域名访问方法及客户端
CN101668050A (zh) * 2008-09-07 2010-03-10 赵捷 域名解析方法及系统
CN101834911A (zh) * 2010-03-31 2010-09-15 联想网御科技(北京)有限公司 域名劫持的防御方法和网络出口设备
CN102572011A (zh) * 2012-02-02 2012-07-11 中国科学院计算机网络信息中心 数据处理方法、装置和系统

Also Published As

Publication number Publication date
CN105610867A (zh) 2016-05-25

Similar Documents

Publication Publication Date Title
CN105610867B (zh) 一种dns防劫持方法和装置
US7467203B2 (en) System and methods for robust discovery of servers and services in a heterogeneous environment
US8584195B2 (en) Identities correlation infrastructure for passive network monitoring
US11606388B2 (en) Method for minimizing the risk and exposure duration of improper or hijacked DNS records
CN106068639B (zh) 通过dns处理的透明代理认证
US7831697B2 (en) Mapping notification system for relating static identifier to dynamic address
US8020045B2 (en) Root cause analysis method, apparatus, and program for IT apparatuses from which event information is not obtained
TWI475863B (zh) 使用快取之安全資源名稱解析
CN107528862B (zh) 域名解析的方法及装置
CN104468860B (zh) 域名解析服务器危险性的识别方法和装置
US7895319B2 (en) Variable DNS responses based on client identity
CN107872486B (zh) 通信方法和装置
US20150295938A1 (en) Method and apparatus for preventing unauthorized service access
US20090327487A1 (en) Method and system for discovering dns resolvers
CN107222587B (zh) 一种远程访问私网设备的方法
WO2009099784A2 (en) On-demand mac address lookup
WO2013143403A1 (zh) 一种访问网站的方法和系统
CN102714663A (zh) 用于预防dns缓存投毒的方法和系统
CN108616544B (zh) 用于检测对域名系统记录系统的更新的方法、系统和介质
CN109639748B (zh) Dns服务器的缓存更新方法、装置、系统及域名系统
CN107395783A (zh) 一种ip地址处理方法、系统、装置及电子设备
CN102098192B (zh) 基于网站服务器的跨域网络测量方法
US8001271B1 (en) Method and apparatus for locating naming discrepancies
JP2002368781A (ja) ユーザ位置管理ドメインネーム変換システム
US20170104715A1 (en) Reconciling internet dns zone file changes with origin change requests

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant