CN102223422B - 一种dns报文处理方法及网络安全设备 - Google Patents
一种dns报文处理方法及网络安全设备 Download PDFInfo
- Publication number
- CN102223422B CN102223422B CN201110219060.9A CN201110219060A CN102223422B CN 102223422 B CN102223422 B CN 102223422B CN 201110219060 A CN201110219060 A CN 201110219060A CN 102223422 B CN102223422 B CN 102223422B
- Authority
- CN
- China
- Prior art keywords
- domain name
- address
- predetermined
- dns
- name mapping
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种网络安全设备及DNS报文处理方法,其应用于计算机网络中,该网络安全设备位于DNS客户端与DNS服务器之间,该网络安全设备包括:初级判决单元,接收DNS响应报文,并检查响应报文的是否携带有解析出的IP地址;如果是,则将报文提交给次级判决单元;否则判定为域名解析失败,更新域名解析失败记录;次级判决单元,用于检查DNS响应报文中携带的解析出的IP地址与DNS请求解析的域名是否对应,如果是则判定为域名解析成功;否则判定为域名解析失败,更新域名解析失败记录;转发单元,用于将DNS响应报文转发给DNS客户端。
Description
技术领域
本发明涉及网络通信技术,尤其涉及一种DNS报文处理方法及网络安全设备。
背景技术
在计算机网络通信中,主机之间需要知道通信对端的IP地址才能够通过IP网络与对方进行通信。然而32为的IPv4地址(IPv6地址为128位)对于通信参与者来说是不容易记忆的。因此,更为直观的域名(如www.***.com.hk)被广泛采用以解决IP地址难以记忆的问题。然而网络通信是基于IP协议来运转的,通过域名并不能直接找到要访问的主机。因此主机需要将用户输入的域名转换为IP地址,这个过程被称为域名解析。
为了完成域名解析,需要域名***(Domain Name System,DNS)来配合,其是一种用于TCP/IP应用程序的分布式数据库,提供域名与IP地址之间的转换。通过域名***,用户进行某些应用时,可以直接使用便于记忆的且有意义的域名,而由网络中的DNS服务器将域名解析为正确的IP地址然后返回给用户的主机。域名服务器,是指保存有该网络中所有主机的域名和对应IP地址,并具有将域名转换为IP地址功能的服务器。域名解析过程是指当某一个应用进程需要将主机名解析为IP地址时,该应用进程就成为域名系DNS的一个客户,并把待解析的域名放在DNS请求报文中发给域名服务器,域名服务器在查找域名后将对应的IP地址放在回答报文中返回给客户机应用进程。
请参考图1,实际网络中域名服务器是有分级的,如果本地域名服务器若查找到该域名,便将其对应的IP地址放在DNS响应报文中返回给客户机应用进程,如果查找不到,则还需要向上级DNS服务器请求。
域名解析服务方便了用户对网络的使用,然而其可能成为网络攻击者攻击的对象,一旦域名解析遭到攻击,其产生的后果将是十分严重的,因为其可能会导致大面积无法访问的情况发生。最近一段时间,因DNS攻击而引发网络服务中断的情形屡见不鲜。
发明内容
有鉴于此,本发明提供一种网络安全设备,其应用于计算机网络中,该网络安全设备位于DNS客户端与DNS服务器之间,该网络安全设备包括:
初级判决单元,接收DNS响应报文,并检查响应报文的是否携带有解析出的IP地址;如果是,则将报文提交给次级判决单元;否则判定为域名解析失败,更新域名解析失败记录;
次级判决单元,用于检查DNS响应报文中携带的解析出的IP地址与DNS请求解析的域名是否对应,如果是则判定为域名解析成功;否则判定为域名解析失败,更新域名解析失败记录;
转发单元,用于将DNS响应报文转发给DNS客户端。
优选地,所述次级判决单元检查DNS响应报文中携带的解析出的IP地址与DNS请求解析的域名是否对应具体包括:
检查解析出的IP地址是否为预定IP地址,如果不是,则判定为域名解析成功;当解析出的IP地址是预定IP地址时,如果所述待解析的域名对应所述预定IP地址的预定域名,则判定为域名解析成功,否则判定为域名解析失败。
优选地,还包括:管理接口单元,用于通过管理通道接收网络管理装置下发的预定IP地址以及与该预定IP地址对应的预定域名,并将该预定IP地址以及预定域名保存起来供所述次级判决单元使用。
优选地,所述域名解析失败记录为预定时间段内域名解析失败率记录。
优选地,还包括:告警单元,其用于在每次域名解析失败记录更新时,检查所述域名解析失败记录超过预定阈值,如果是,则通过管理通道向网络管理装置发送相应的告警信息。
本发明还提供一种DNS报文处理方法,应用于网络安全设备中,该网络安全设备位于DNS客户端与DNS服务器之间,该方法包括:
A、接收DNS响应报文,并检查响应报文的是否携带有解析出的IP地址;如果是,转步骤B;否则判定为域名解析失败,更新域名解析失败记录;
B、检查DNS响应报文中携带的解析出的IP地址与DNS请求解析的域名是否对应,如果是则判定为域名解析成功;否则判定为域名解析失败,更新域名解析失败记录;
C、将DNS响应报文转发给DNS客户端。
优选地,所述步骤B中检查DNS响应报文中携带的解析出的IP地址与DNS请求解析的域名是否对应具体包括:
检查解析出的IP地址是否为预定IP地址,如果不是,则判定为域名解析成功;当解析出的IP地址是预定IP地址时,如果所述待解析的域名对应所述预定IP地址的预定域名,则判定为域名解析成功,否则判定为域名解析失败。
优选地,还包括:D、通过管理通道接收网络管理装置下发的预定IP地址以及与该预定IP地址对应的预定域名,并将该预定IP地址以及预定域名保存起来。
优选地,所述域名解析失败记录为预定时间段内域名解析失败率记录。
优选地,还包括:E、在每次域名解析失败记录更新时,检查所述域名解析失败记录超过预定阈值,如果是,则通过管理通道向网络管理装置发送相应的告警信息。
本发明能够准确全面地记录域名解析失败的记录,从而能够及时地发现网络中DNS域名解析的异常情况,协助管理员及时发现可疑的攻击行为。
附图说明
图1是现有技术中典型DNS交互示意图。
图2是DNS报文格式图。
图3是DNS报文标志字段格式图。
图4是本发明域名解析失败统计流程图。
图5是本发明安全设备逻辑结构图。
具体实施方式
本发明发明人通过研究发现目前比较常见的恶意针对DNS服务的攻击,都会伴随着域名解析失败事件的出现,比如针对DNS服务器资源消耗的暴力攻击等。本发明主要目标是在网络中通过位于DNS客户端与DNS服务器之间网络安全设备来检查域名解析失败事件,形成记录与统计从而发现可疑的攻击行为。在介绍本发明较佳实现方式之前,先介绍一下本发明需要利用到的报文格式以及DNS交互基本流程。
DNS请求报文和DNS响应报文格式如图2所示,其中16比特(bit)的标志字段被划分为若干子字段。请进一步参考图3,各子字段含义如下:
QR是1bit字段,0表示请求报文,1表示响应报文;
Opcode是4bit字段,通常值为0(标准查询),其他值为1(反向查询)和2(服务器状态请求);
AA是1bit字段,表示“授权回答(authoritative answer)”,其值为1时表示该域名服务器是授权于该域的;
TC是1bit字段,表示“可截断的(truncated)”,其值为1时表示信息长度超过报文长度限制;
RD是1bit字段,表示“期望递归(recursion desired)”,随后3bit必须为0;
Rcode是4bit字段,值为1表明域名没有差错,即域名解析成功,值为3表明域名名字差错,即域名解析失败。
请参考图4以及图5,在一般的域名解析失败的统计中,网络安全设备(也称防护设备)会在对例行报文安全检查之后透传DNS请求报文(DNSRequest),对DNS响应报文(DNS Response)则上送软件层面去检查,并根据检查结果记录域名解析失败事件。本发明网络安全设备应用与计算机网络中,位于DNS客户端以及DNS服务器之间,所述网络安全设备包括报文识别单元10、转发单元20、管理接口单元30、初级判决单元40、次级判决单元50以及告警生成单元60。
步骤101,从流经网络安全设备的报文中识别出DNS响应报文,然后将识别到的DNS响应报文提交给初级判决单元,本步骤由报文网络安全设备内部的报文识别单元10执行。
网络安全设备识别一种特定协议的特定报文有很多种实现方式,可以通过底层的芯片或者逻辑器件实现,也可以通过计算机软件实现。对于DNS响应报文,可以通过表征DNS应用的知名端口号以及QR标志位来识别DNS响应报文。对于DNS响应报文的识别现有技术已经有教导,不再一一详述。
步骤102,接收DNS响应报文,并检查响应报文的是否携带有解析出的IP地址;如果是,则将报文提交给次级判决单元;否则判定为域名解析失败,更新域名解析失败记录;本步骤由初级判决单元40执行。
具体来说,如果响应报文载荷内携带有解析出的IP地址,则表明域名解析是成功的。通常可以通过识别Rcode这个字段来实现,Rcod是4bit字段,值为1表明域名没有差错,即域名解析成功,值为3表明域名名字差错,即域名解析失败。如果Rcode是3,则无法解析到IP地址,这种情况表明域名解析一定失败,然而即便Rcode是1,其仅仅表明在DNS协议层面来看域名解析是成功的。如果进一步从上层应用的角度来看,域名解析未必是真的成功。因为上层的应用为了方便用户上网,可能会设计一些“欺骗”行为。
步骤103,检查DNS响应报文中携带的解析出的IP地址与DNS请求解析的域名是否对应,如果是则将报文提交给转发单元;否则判定为域名解析失败,更新域名解析失败记录;本步骤由次级判决单元50执行。
如前所述的那样,由于在一些应用场景中DNS服务器会针对域名无法解析成功的情况添加预定的IP地址,使得域名解析在DNS协议层面看起来是成功的,即Rcode为1。这种人为的修改可能会欺骗到部分网络安全设备,使得域名解析失败被掩盖。比如说,目前比较流行的情况是,域名解析失败时,运营商会返回一个特殊站点的IP地址,使得用户访问到一个特殊的站点。这种方式下,用户可能会从这个特殊站点获得有用的资讯。然而这种本来方便用户的行为可能会错误地掩盖一些攻击行为,导致网络安全设备无法准确分析统计到部分域名解析失败事件。
举例而言,第一种情况,假设用户DNS客户端请求解析的是A站点(域名)的IP地址,DNS服务器检查后发现A站点没有对应的IP地址,但DNS服务器填入另一个预定的IP地址,该预定IP地址对应特殊站点B。所述虽然DNS响应报文显示出正对站点A解析的结果是所述预定IP地址,但站点A与IP地址是不对应的。第二种情况,假设用户请求解析的就是特殊站点B,则解析结果就是前述预定的IP地址,这种情况域名与IP地址是真实对应的,解析是成功的。因此从网络安全防护的角度来说,需要将上述两种情况加以区分,需要将第一种情况不对应的情况检查出来作为域名解析失败事件加以记录。
从具体实现上来说,次级判决单元可以先检查解析出的IP地址是否为预定IP地址,如果不是,则判定为域名解析成功;当解析出的IP地址是预定IP地址时,如果所述待解析的域名对应所述预定IP地址的预定域名,则判定为域名解析成功,否则判定为域名解析失败;这种域名解析失败是只是在DNS协议层面被掩盖为成功。
步骤104,将DNS响应报文转发给DNS客户端,本步骤由转发单元20执行。经过上述处理以后,网络安全设备已经能够准确地获得域名解析失败的记录,然而不论域名解析成功与否,响应报文均需要转发给客户端设备。转发功能是网络安全设备的基本功能,可能是芯片转发也可能是软件转发。
步骤105,在每次域名解析失败记录更新时,检查所述域名解析失败记录超过预定阈值,如果是,则通过管理通道向网络管理装置发送相应的告警信息;本步骤由告警单元60执行。域名解析失败记录可以是域名解析失败次数记录,也可以是域名解析失败率记录。所述域名解析失败记录也可以是预定时间段内的,可以隔一段时间清零。以域名解析失败率为例,当失败率超过管理员预定的阈值的时候,告警单元需要生成对应的告警信息向网络管理装置进行报告,这样管理员可以根据告警信息做出合理的判断和适当的网络管理行为。
步骤106,通过管理通道接收网络管理装置下发的预定IP地址以及与该预定IP地址对应的预定域名,并将该预定IP地址以及预定域名保存起来供所述次级判决单元使用,本步骤由管理接口单元30执行。
前述的预定IP地址以及对应的预定域名可以通过网络安全设备既有的管理接口下发,如果有多组预定IP地址与预定域名的组合则应当对应保存起来。前述次级判决单元则需要依此检查各个组合。
以上描述的本发明较佳的实现方式,本发明能够准确全面地记录域名解析失败的记录,从而能够及时地发现网络中DNS域名解析的异常情况,协助管理员及时发现可疑的攻击行为。以上所述仅仅为本发明较佳的实现方式,任何基于本发明精神所做出的等同的修改皆应涵盖于本发明的权利要求范围中。
Claims (8)
1.一种网络安全设备,其应用于计算机网络中,该网络安全设备位于DNS客户端与DNS服务器之间,该网络安全设备包括:
初级判决单元,接收DNS响应报文,并检查响应报文是否携带有解析出的IP地址;如果是,则将报文提交给次级判决单元;否则判定为域名解析失败,更新域名解析失败记录;
次级判决单元,用于检查DNS响应报文中携带的解析出的IP地址是否为预定IP地址,如果不是,则判定为域名解析成功;当解析出的IP地址是预定IP地址时,如果待解析的域名对应所述预定IP地址的预定域名,则判定为域名解析成功;否则判定为域名解析失败,更新域名解析失败记录;
转发单元,用于将DNS响应报文转发给DNS客户端。
2.根据权利要求1所述的网络安全设备,其特征在于,还包括:
管理接口单元,用于通过管理通道接收网络管理装置下发的预定IP地址以及与该预定IP地址对应的预定域名,并将该预定IP地址以及预定域名保存起来供所述次级判决单元使用。
3.根据权利要求1所述的网络安全设备,其特征在于,所述域名解析失败记录为预定时间段内域名解析失败率记录。
4.根据权利要求1所述的网络安全设备,其特征在于,还包括:
告警单元,其用于在每次域名解析失败记录更新时,检查所述域名解析失败记录超过预定阈值,如果是,则通过管理通道向网络管理装置发送相应的告警信息。
5.一种DNS报文处理方法,应用于网络安全设备中,该网络安全设备位于DNS客户端与DNS服务器之间,该方法包括:
A、接收DNS响应报文,并检查响应报文是否携带有解析出的IP地址;如果是,转步骤B;否则判定为域名解析失败,更新域名解析失败记录;
B、检查DNS响应报文中携带的解析出的IP地址是否为预定IP地址, 如果不是,则判定为域名解析成功;当解析出的IP地址是预定IP地址时,如果待解析的域名对应所述预定IP地址的预定域名,则判定为域名解析成功;否则判定为域名解析失败,更新域名解析失败记录;
C、将DNS响应报文转发给DNS客户端。
6.根据权利要求5所述的方法,其特征在于,还包括:
D、通过管理通道接收网络管理装置下发的预定IP地址以及与该预定IP地址对应的预定域名,并将该预定IP地址以及预定域名保存起来。
7.根据权利要求5所述的方法,其特征在于,所述域名解析失败记录为预定时间段内域名解析失败率记录。
8.根据权利要求5所述的方法,其特征在于,还包括:
E、在每次域名解析失败记录更新时,检查所述域名解析失败记录超过预定阈值,如果是,则通过管理通道向网络管理装置发送相应的告警信息。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110219060.9A CN102223422B (zh) | 2011-08-02 | 2011-08-02 | 一种dns报文处理方法及网络安全设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110219060.9A CN102223422B (zh) | 2011-08-02 | 2011-08-02 | 一种dns报文处理方法及网络安全设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102223422A CN102223422A (zh) | 2011-10-19 |
CN102223422B true CN102223422B (zh) | 2014-07-09 |
Family
ID=44779846
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110219060.9A Active CN102223422B (zh) | 2011-08-02 | 2011-08-02 | 一种dns报文处理方法及网络安全设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102223422B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103179100B (zh) * | 2011-12-26 | 2016-09-07 | ***通信集团广西有限公司 | 一种防止域名***隧道攻击的方法及设备 |
CN102420833A (zh) * | 2011-12-27 | 2012-04-18 | 华为技术有限公司 | 一种网络协议识别的方法、装置及其*** |
US9225731B2 (en) * | 2012-05-24 | 2015-12-29 | International Business Machines Corporation | System for detecting the presence of rogue domain name service providers through passive monitoring |
CN103905273B (zh) * | 2014-03-25 | 2017-06-20 | 百度在线网络技术(北京)有限公司 | Dns劫持的监测方法和装置 |
CN106533816B (zh) * | 2017-01-18 | 2019-05-14 | 中国联合网络通信集团有限公司 | 一种调整dns配置的方法及装置 |
CN108040134A (zh) * | 2017-12-06 | 2018-05-15 | 杭州迪普科技股份有限公司 | 一种dns透明代理的方法及装置 |
CN114051014B (zh) * | 2022-01-13 | 2022-04-19 | 北京安博通科技股份有限公司 | 基于dns引流实现百亿级url识别分类方法及*** |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101702660A (zh) * | 2009-11-12 | 2010-05-05 | 中国科学院计算技术研究所 | 异常域名检测方法及*** |
CN101800746A (zh) * | 2010-02-04 | 2010-08-11 | 成都市华为赛门铁克科技有限公司 | 检测僵尸网络中控制主机域名的方法、装置和*** |
CN102035693A (zh) * | 2009-09-29 | 2011-04-27 | 国基电子(上海)有限公司 | 网络互连设备及其侦测网络连线状态的方法 |
CN102045411A (zh) * | 2009-10-13 | 2011-05-04 | ***通信集团公司 | 一种域名解析方法、服务器和*** |
CN102082836A (zh) * | 2009-11-30 | 2011-06-01 | ***通信集团四川有限公司 | 一种dns安全监控***及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060075138A1 (en) * | 2004-09-28 | 2006-04-06 | Utstarcom, Inc. | Method and apparatus to facilitate IPv6 DNS requests |
-
2011
- 2011-08-02 CN CN201110219060.9A patent/CN102223422B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102035693A (zh) * | 2009-09-29 | 2011-04-27 | 国基电子(上海)有限公司 | 网络互连设备及其侦测网络连线状态的方法 |
CN102045411A (zh) * | 2009-10-13 | 2011-05-04 | ***通信集团公司 | 一种域名解析方法、服务器和*** |
CN101702660A (zh) * | 2009-11-12 | 2010-05-05 | 中国科学院计算技术研究所 | 异常域名检测方法及*** |
CN102082836A (zh) * | 2009-11-30 | 2011-06-01 | ***通信集团四川有限公司 | 一种dns安全监控***及方法 |
CN101800746A (zh) * | 2010-02-04 | 2010-08-11 | 成都市华为赛门铁克科技有限公司 | 检测僵尸网络中控制主机域名的方法、装置和*** |
Also Published As
Publication number | Publication date |
---|---|
CN102223422A (zh) | 2011-10-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102223422B (zh) | 一种dns报文处理方法及网络安全设备 | |
CN103825895B (zh) | 一种信息处理方法及电子设备 | |
CN105577496B (zh) | 一种家庭网关利用云平台识别接入设备类型的*** | |
CN105610867B (zh) | 一种dns防劫持方法和装置 | |
US20030153328A1 (en) | Method and system for tracing missing network devices using hardware fingerprints | |
US20170264590A1 (en) | Preventing dns cache poisoning | |
CN102685074B (zh) | 防御网络钓鱼的网络通信***及方法 | |
CN109067930A (zh) | 域名接入方法、域名解析方法、服务器、终端及存储介质 | |
CN104219200A (zh) | 一种防范dns缓存攻击的装置和方法 | |
CN108063833B (zh) | Http dns解析报文处理方法及装置 | |
CN107222587B (zh) | 一种远程访问私网设备的方法 | |
KR101996471B1 (ko) | 네트워크 보안장치 및 보안방법 | |
CN110855636B (zh) | 一种dns劫持的检测方法和装置 | |
CN105827599A (zh) | 一种基于dns报文深度解析的缓存中毒检测方法及装置 | |
CN106302384A (zh) | Dns报文处理方法及装置 | |
CN104935551A (zh) | 一种网页篡改防护装置及方法 | |
US10097418B2 (en) | Discovering network nodes | |
CN104410642B (zh) | 基于arp协议的设备接入感知方法 | |
CN106412144A (zh) | 一种网络访问方法及装置 | |
EP3311555A1 (en) | Advanced security for domain names | |
CN110995738B (zh) | 暴力破解行为识别方法、装置、电子设备及可读存储介质 | |
KR101645222B1 (ko) | 어드밴스드 도메인 네임 시스템 및 운용 방법 | |
KR102582837B1 (ko) | 파밍 dns 분석 방법 및 컴퓨팅 디바이스 | |
CN110830454B (zh) | 基于alg协议实现tcp协议栈信息泄露的安防设备检测方法 | |
CN1822565A (zh) | 具有mac表溢出保护的网络 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C56 | Change in the name or address of the patentee | ||
CP01 | Change in the name or title of a patent holder |
Address after: 310000 Binjiang District, Hangzhou, Binjiang Avenue, No. Huarong Times Building, room 1601, room 3880 Patentee after: Hangzhou Dipu Polytron Technologies Inc Address before: 310000 Binjiang District, Hangzhou, Binjiang Avenue, No. Huarong Times Building, room 1601, room 3880 Patentee before: Hangzhou Dipu Technology Co., Ltd. |