CN103685584B - 一种基于隧道技术的反域名劫持方法和系统 - Google Patents
一种基于隧道技术的反域名劫持方法和系统 Download PDFInfo
- Publication number
- CN103685584B CN103685584B CN201210328269.3A CN201210328269A CN103685584B CN 103685584 B CN103685584 B CN 103685584B CN 201210328269 A CN201210328269 A CN 201210328269A CN 103685584 B CN103685584 B CN 103685584B
- Authority
- CN
- China
- Prior art keywords
- dns
- request
- domain name
- client
- server end
- 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
本发明提供一种基于隧道技术的反域名劫持方法和系统:在用户主机上设置客户端,在ISP网络外的互联网上设置服务器端;客户端接收本地应用的DNS请求,将其中的关键字段封装成承载请求数据包后发送至服务器端;服务器端从承载请求数据包中拆分出DNS请求的关键字段,将其组装成DNS请求后发送至递归服务器;服务器端从递归服务器接收应答信息,将其封装成承载应答数据包后发送至客户端;客户端从承载应答数据包中拆分出DNS应答信息,发送至本地DNS应用。本发明通过隧道技术把DNS数据隐藏到网络中使用广泛的协议数据包中,秘密地完成DNS的请求解析工作。
Description
技术领域
本发明属于信息技术领域,涉及一种反域名劫持的方法和系统,具体涉及一种基于隧道技术的反域名劫持方法和系统。
背景技术
域名系统(Domain Name System,DNS)是一种用于TCP/IP应用程序的分布式数据库,是整个互联网的基础设施,其主要功能是实现域名和IP地址之间的转换。DNS系统的正常运行是Web服务、电子邮件服务等众多网络服务正常运行的基础。域名是Internet上某一台计算机或计算机组的名称,用于在数据传输时标识计算机的电子方位(有时也指地理位置)。域名是由一串用点分隔的名字组成的,通常包含组织名,而且始终包括两到三个字母的后缀,以指明组织的类型或该域所在的国家或地区。互联网用户在主机端登陆网站时,首先是通过向域名系统发送域名查询报文,获得所登录域名的IP地址,然后去访问此IP地址上的Web服务器。
DNS系统是目前全球最大最复杂的分布式层次数据库。由于其开放、庞杂、复杂的特性以及设计之初对于安全性的考虑不足,使得DNS系统的安全性问题比较突出。DNS请求由一个来自客户端的UDP请求和一个来自服务器端的UDP应答组成。当客户端主动要求或者应答包的大小超过512B时,还有其它的一些特殊任务,比如区传送,DNS请求会使用TCP协议来传送。但DNS协议主要使用的还是UDP协议的53号端口。UDP协议是面向无连接的、不可靠的,而且DNS协议在DNS报文中只使用一个序列号来进行有效性鉴别,并未提供其它的认证和保护手段,导致DNS协议本身很容易遭受到攻击。
在这些攻击中,比较常见的一种攻击是域名劫持。现在域名劫持的定义在业界还不统一,有很多不同的版本,本专利采纳的定义:域名劫持是互联网攻击的一种方式,通过攻击域名解析服务器,或伪造域名解析结果的方法,把目标网站域名解析到错误的地址而达到无法访问目标网站的目的。在域名劫持中,一个普遍的表现是网络服务提供商(Internet ServiceProvider,ISP)劫持使用其网络服务的用户的DNS请求。网络服务提供商给用户提供网络服务的同时,一般会提供免费的DNS服务,其中一些ISP篡改了DNS应答数据,对其用户进行网址嫁接(Pharming);即使用户选择不使用ISP的DNS,ISP为了自己的目的,如发广告或收集统计数据等,也有技术和方法劫持用户的DNS请求到广告网页、刷流量的网页。如图1所示,Host1和Host2的用户如果设置的DNS是ISP网络外面的第三方DNS,那么他们发出的DNS请求如果被ISP网络的网关Router探测到,Router网关会把DNS请求复制给自己的DNS服务器RDNS。由于RDNS比第三方更及时的获得和应答DNS请求,所以Host1和Host2首先收到的DNS请求是RDNS发来的,后面发来的第三方的应答就被两用户主机操作系统忽略掉了,从而RDNS成功的对其网内用户完成了类似“中间人攻击”的域名劫持。有时候ISP可能把DNS请求阻断而引流给RDNS并实现域名劫持,道理也是相同的,只是少了第三方DNS的任何的应答可能性。
现有的反域名劫持方案如下:
1)正在全球部署的DNSSEC(Domain Name System Security Extensions,域名系统安全扩展)将会在反馈给互联网用户的DNS请求响应中插入数字签名,确保返回的域名地址是未经篡改的。但是DNSSEC在全球的部署尚需时日,而且很多ISP网络并不支持DNSSEC。还有,用户在使用ISP的网络服务时,由于处在被动的位置上,摆脱DNS的过滤行为是困难的。因此DNSSEC方案只能在一定程度上解决域名劫持问题。
2)在用户所在网络的路由器里或用户操作系统的路由表中做设置。如在用户网络的路由器里建立DNS缓冲服务器,并对其做一些相关设置以丢弃ISP伪造的DNS应答包,从而达到对名字错误(Name Error,NXDOMAIN)的劫持行为起到抵制作用。这要求用户有一定的计算机知识,还要不断地做维护工作,而且只能针对NXDOMAIN的劫持。
因此,需要在DNS的基础上设计新的自动化的方法来反制ISP的域名劫持。
发明内容
本发明的目的在于针对上述问题,提供一种基于隧道技术的反域名劫持方法和装置。通过隧道技术,即通过一定的方法把DNS数据隐藏到网络中使用广泛的协议数据包中,如果位于ISP网内的用户主机上安装了本发明的反域名劫持系统的客户端,那么客户端就可以访问位于ISP网外的服务器端,秘密地完成DNS的请求解析工作。
隧道技术(Tunneling)是一种通过使用互联网的基础设施在网络之间传递数据的方式。使用隧道传递的数据(或负载)可以是不同协议的数据帧或包。隧道协议将一种协议的数据帧或包重新封装到其它协议中,然后通过隧道发送。隧道包括隧道入口和隧道出口(隧道终点)。在隧道入口,以一种协议的形式来对另外一种协议的数据进行封装并发送;在隧道出口,对接收到的协议数据解封装,并做相应的处理。本发明即利用了隧道技术的原理。
具体来说,本发明采用如下技术方案:
一种基于隧道技术的反域名劫持方法,其步骤包括:
1)在用户主机上设置客户端,在ISP网络外的互联网上设置服务器端;
2)客户端接收本地应用的DNS请求,将其中的关键字段封装成承载请求数据包后发送至服务器端;
3)服务器端从承载请求数据包中拆分出DNS请求的关键字段,将其组装成DNS请求后发送至递归服务器;
4)服务器端从递归服务器接收应答信息,将其封装成承载应答数据包后发送至客户端;
5)客户端从承载应答数据包中拆分出DNS应答信息,发送至本地DNS应用。
进一步地,上述方法还包括如下步骤:在所述客户端建立反劫持域名列表,该列表包含遭受ISP劫持的域名集合;所述客户端接收本地DNS请求后,如果目标域名在所述反劫持域名列表中,则继续执行所述步骤2);否则,将DNS请求直接发送至ISP的递归服务器。
进一步地,由用户对所述反域名劫持列表进行维护和更新,包括添加域名、删除域名等。
进一步地,通过在所述客户端设置一探测模块来对所述反域名劫持列表进行维护和更新,方法为:a)所述服务器端从其用户使用系统记录中提取域名;b)所述探测模块接收所述域名,分别向本地ISP的递归服务器和所述服务器端发送DNS解析请求,并对获得的解析结果进行比对分析,如果确认ISP网络对此域名做了域名劫持,则将其加入所述反劫持域名列表。
进一步地,所述DNS请求的关键字段包括序列号、域名、类型和类别等。
进一步地,所述承载请求数据包和所述承载应答数据包采用下列协议中的一种:HTTP协议、FTP协议、POP3协议、SMTP协议、SNMP协议、SSH协议、IMAP4协议、IRC协议、NNTP协议、XMPP协议、SIP协议、TFTP协议、RIP协议、TELNET协议、HTTPS协议。
一种基于隧道技术的反域名劫持系统,包括客户端和服务器端;所述客户端安装于用户主机上,包括转发模块和隧道通信模块;所述服务器端设于ISP网络外的互联网上;
所述转发模块负责接收本地应用的DNS请求并转发给所述隧道通信模块,以及负责从所述隧道通信模块接收DNS应答信息并转发给所述本地应用;
所述隧道通信模块连接所述转发模块,负责接收所述DNS请求,将其中的关键字段封装成一承载请求数据包后传送至所述服务器端;以及负责从所述服务器端接收承载应答数据包,将其中的关键字段组成DNS应答信息后发送至所述转发模块;
所述服务器端负责接收所述承载请求数据包,从中拆分出关键字段并组成DNS请求后发送至一递归服务器;以及负责从所述递归服务器接收DNS应答信息并封装至一承载应答数据包,然后发送至所述隧道通信模块。
进一步地,所述客户端还包括一界面模块,用于建立一反劫持域名列表;所述转发模块接收本地应用的DNS请求后,根据目标域名查找所述反劫持域名列表:如果目标域名在反域名劫持列表中,则将所述DNS请求转发至所述隧道通信模块,否则将所述DNS请求直接发送至ISP的递归服务器。
进一步地,所述客户端还包括一探测模块,用于对所述反劫持域名列表进行维护和更新,方法为:a)所述服务器端从其用户使用系统记录中提取域名;b)所述探测模块接收所述域名,分别向本地ISP的递归服务器和所述服务器端发送DNS解析请求,并对获得的解析结果进行比对分析,如果确认ISP网络对此域名做了域名劫持,则将其加入所述反劫持域名列表。
进一步地,所述转发模块设有缓存,用于存放从服务器端获得的资源记录,其生存时间遵循DNS协议标准。
本发明的优点和积极效果如下:
1)客户端和服务器端通过隧道技术秘密地完成传送DNS数据,从而完成DNS的请求解析工作,进而免遭ISP对DNS数据的劫持过滤,使用户获得的DNS应答数据避免遭受篡改。
2)进一步建立了反劫持域名列表,可由用户和探测模块共同维护,及时对遭受劫持的域名进行记录和区分,并分别进行处理,增强了反域名劫持的针对性,提高了反域名劫持的能力和效果。
附图说明
图1为DNS系统的域名劫持攻击示意图。
图2为本发明实施例的基于隧道技术的反域名劫持系统的架构示意图。
图3为图2中客户端的结构示意图。
图4为本发明实施例的将DNS信息封装成数据包的示意图。
图5本发明实施例的基于隧道技术的反域名劫持方法的步骤流程图。
图6为为本发明实施例的模拟仿真测试环境示意图。
具体实施方式
下面通过具体实施例并配合附图,对本发明做详细的说明。
本发明是把DNS数据隐藏到网络中使用广泛的承载数据包中,即采用隧道技术,秘密地完成DNS的请求解析工作。承载数据包使用任何ISP没有劫持的协议,如HTTP协议、FTP协议、POP3协议、SMTP协议、SNMP协议、SSH协议、IMAP4协议、IRC协议、NNTP协议、XMPP协议、SIP协议、TFTP协议、RIP协议、TELNET协议、HTTPS协议等等。用户可以根据自己的判断设置承载数据包的协议,系统也可以帮助用户探测其ISP尚未劫持的协议。下面说明如何应用本发明传送DNS信息。
图2为本实施例的基于隧道技术的反域名劫持系统的架构示意图。本系统分为两个大部分:客户端和服务器端。客户端为安装在用户主机上的客户端软件,与本地应用程序连接并接收DNS应用请求;并转发DNS请求给ISP提供的递归域名服务器或者本系统的服务器端。本系统的服务器端接收客户端发来的DNS请求并发给递归服务器,同时把从递归服务器收到的DNS应答信息发给客户端。客户端接收到上述两者中一者的应答数据之后,再给DNS应用发送应答。下面分别予以说明。
1.客户端
图3为客户端的组成结构示意图。如该图所示,客户端分为界面模块与后台部分,后台部分包括转发模块、隧道通信模块和探测模块。其中,探测模块是可选择使用的模块,当用户通过界面模块启动探测模块时,探测模块才启动。
界面模块提供给用户的一个维护“反劫持域名列表”的接口。用户可以维护和更新“反劫持域名列表”,如增删其中的域名等。“反劫持域名列表”是一个包含遭受ISP劫持的域名集合。后台程序可以参考这个列表转发DNS请求,并完成DNS数据的封装和解封工作。它根据请求解析域名是否存在于该列表中,来决定域名转发的路径。如果在列表中,就把DNS请求的关键字段封装到承载数据包中,再发送给本系统的服务器端;否则直接发往本地的DNS服务器。
转发模块是后台部分的“前端”,负责接收本地应用的DNS请求,并把这些请求包交给隧道通信模块去处理。最后,把从隧道通信模块返回来的DNS应答包转发给本地应用。另外,转发模块还可以设有一个缓存,用于存放从服务器端获得的应答数据,应答数据中资源记录的生存时间(Time To Live,TTL)遵循DNS协议标准。这样,后台程序一定程度上相当于一个DNS缓存服务器,可以大幅减少对外DNS查询的数量而减少因特网流量,同时减轻了客户端和服务器的负担。还有,转发模块可以根据目标请求域名是否在“反劫持域名列表”中,来决定是把DNS请求包转发给ISP指定的递归服务器,还是发送给隧道通信模块。如果目标请求域名在“反劫持域名列表”中,就把这些请求交给隧道通信模块去处理;否则转发给ISP指定的递归服务器。最后,把从隧道通信模块返回来或者ISP的DNS返回来的DNS应答包转发给本地应用。这样,可以把一些ISP没有劫持的域名交给ISP指定的递归服务器解析,而这些服务器一般跟客户端的网络延时相对较小,所以这样做可以一定程度上降低这些域名的解析延迟,也可以减小对本系统服务器端的压力。
隧道通信模块接收转发模块转发来的本地DNS请求包,再把包中的关键字段(如请求的序列号、域名、类型和类等)抽取出来,并以一定的方式组合(下文会给出一种组合方式)将它们封装到承载数据包中,称为“承载请求数据包”。接着通过隧道把该承载请求数据包传送给服务器端;它从隧道接收到服务器端返回来的承载应答数据包,并从包中抽取出DNS应答的关键字段,再把这些字段组成一个完整的、与DNS请求相对应的DNS应答包,然后把这个包发给转发模块。总之,隧道通信模块和服务器端完成两者之间隧道的搭建,并通过此隧道完成DNS请求和DNS应答数据的交换。
下面以通过HTTP协议做隧道为例给出一种客户端封装DNS请求包的重要信息的方式:隧道通信模块把本地收到的DNS信息的各个字段,比如序列号(ID)、域名(QNAME)、类型(QTYPE)和类(QCLASS)等信息,跟本系统服务器端的域名(例如www.theserver.com)拼接成一个完整的统一资源定位符(Uniform Resource Locator,URL)(见图4),再把此URL作为GET方法的参数向服务器“文件对象”的申请。实际上这个“文件对象”在服务器上并不存在,而是客户端和服务器端之间的一个约定,通过这种约定,客户端顺利告知了服务器端DNS请求的有关信息。
服务器端保存了用户的查询请求记录。从这些记录可以获得被各个ISP劫持的域名,如何劫持的,以及其他劫持情况。探测模块定期从服务器端接收一些域名,这些域名是服务器端从其用户使用系统记录中提取的、访问量靠前的域名。域名访问量大意味着这些域名被劫持的几率比较大。探测模块把域名分别向本地ISP的递归服务器和本系统的服务器端发送DNS解析请求,并分别获得解析结果,再对两个结果进行比对分析,如果发现本地ISP发来的结果与本系统服务器端发来的结果不一致,客户端把域名和两个结果等数据提交给服务器端。服务器端接收到提交的数据,对不一致情况是否发生劫持进行判断。判断是否劫持的方法很多,例如,在保存的劫持情况中搜寻,如果搜寻的结果表明劫持的可能性较大,就可以认为此客户端遭到其ISP网络的域名劫持,则将其加入“反劫持域名列表”里;否则不加入。这个认定对客户端的上网安全构不成危险。
系统允许用户或探测模块维护“反劫持域名列表”提高了系统的性能和准确性。因为一个特定用户往往集中访问少量的网站而对这些网站相对熟悉,因此其对特定域名是否被ISP域名劫持的判定是比较真实可靠的。本系统服务器端收集了其所有用户访问的网站的集合,这个集合要比单个用户的域名集合大很多,这样相对于某一特定用户的主观判定来说,探测模块的维护工作具有前瞻性,从而增强了反域名劫持的能力和效果。当然,在其它的实施例中,客户端也可以不设置探测模块,即仅由用户来维护和更新“反劫持域名列表”,或者用户在客户端进行设置,自行选择这个列表的维护方式,包括:由用户和探测模块共同维护、仅由用户维护和仅由探测模块维护。
2.服务器端
服务器端架设在ISP网络外面的互联网上的服务器上。如图2所示,服务器端负责接收客户端发来的承载请求数据包,并从中拆分出DNS请求信息的关键字段,再把这些字段组成一个DNS请求包,接着发给后面的递归服务器;同时还把从递归服务器收到的DNS应答信息封装到承载数据包中,即“承载应答数据包”,并转发给客户端。
递归服务器是互联网的基础设施,在应用本发明的系统时,将递归服务器与上述服务器端连接,该递归服务器负责向相关权威服务器做递归请求并获得最终的DNS应答,接着把DNS应答数据包返回来给服务器端。递归服务器提供的应答数据要求是没有被篡改过的,即递归服务器返回的每个域名的应答数据都是从权威服务器获得的、未经修改的DNS数据。
本实施例的基于隧道技术的反域名劫持方法的步骤流程如图5所示。首先,在用户主机上设置客户端,在ISP网络外的互联网上设置服务器端;然后客户端接收本地应用的DNS请求,将其中的关键字段封装成承载请求数据包后发送至服务器端;然后服务器端从承载请求数据包中拆分出DNS请求的关键字段,将其组装成DNS请求后发送至递归服务器;然后服务器端从递归服务器接收应答信息,将其封装成承载应答数据包后发送至客户端;最后客户端从承载应答数据包中拆分出DNS应答信息,发送至本地DNS应用。具体描述如下:
1)用户安装并启动客户端,上网过程中如果发现某个域名被ISP劫持了,可以把这个域名加入到“反劫持域名列表”。
2)客户端的转发模块接收到DNS应用发来的DNS请求后,首先要分析出请求的域名、类型等信息字段。如果发现目标请求域名在“反劫持域名列表”里,就把这些字段传给隧道通信模块,隧道通信模块把这些字段按一定格式和次序封装到承载请求数据包中,并把这个包传送给服务器;如果发现不在“反劫持域名列表”中,那么将认为ISP暂时没有劫持这个域名,没有必要把这个解析任务发给本系统的服务器端来处理,而是发给ISP所提供的DNS。一般来说,由于ISP的DNS和用户处在同一小的局域网络或两者相距较近。从而可以节省出口外网的数据流量和请求时间,也可以减小本系统的服务器端的解析压力。
3)服务器端收到请求承载数据包,就从中抽取出有关DNS请求的详细信息,并把这些信息组装成DNS请求包,发给后台的递归服务器。服务器端接收到递归服务器返回来的DNS应答包,就从包中抽取出关键字段,并将其封装到一个承载应答数据包,然后把该包返回给客户端。
与上面所说的客户端以HTTP协议封装方式相对应,服务器收到此种封装包,DNS交互模块接收到http请求数据包之后,按照DNS请求信息在URL中的封装顺序和封装方式,把这些信息从中解封出来。如果收到如图4所示的URL的请求承载包,就知道DNS请求的域名是“www.cnnic.cn”,请求类型是A类(对应数字1),请求类是Class(对应数字1)。当收到DNS应答包时,把DNS应答包作为一个字符串封装到一个http数据包的数据部分。
4)最后客户端收到服务器端返回来的承载应答数据包,或者ISP的DNS服务器返回来的DNS应答数据包。如果客户端收到的是承载应答数据包,则客户端的隧道通信模块接收到这个包,从中抽取出DNS应答数据的关键字段,并将其封装到一个DNS应答数据中,再将该包返回给转发模块。转发模块把隧道通信模块或ISP的递归服务器返回来的DNS应答包做一些小的处理,如安全性检查和ID替换等。最后把这个DNS应答包返回给本地DNS应用。
为了证明本系统的反域名劫持的效果和实际的服务能力,搭建如图6所示的模拟仿真测试环境,对其具体说明如下:
在没有安装本发明的基于隧道技术的反域名劫持系统时,ISP网络在网关上劫持了DNS流量到自己的RDNS(192.168.111.229),每当主机A(192.168.111.41)向网外的RDNS发送DNS请求时,ISP自己的RDNS最终比第三方递归DNS服务器早一步返回给主机A应答数据。ISP在RDNS中设置“www.baidu.com”指向“www.51idc.com”的Web服务器IP(114.80.110.2)后(其它域名没有做劫持设置),当用户在主机A上访问“www.baidu.com”时,返回www.51idc.com的页面,说明网关成功地劫持了域名www.baidu.com。
在主机A上装了本发明的基于隧道技术的反域名劫持系统的客户端,并在网外服务器(IP是x.x.x.x的)上装了服务器端后,客户端需要修改系统的DNS地址设置,将第一条设置为“127.0.0.1”(这个IP地址是本机地址,即操作系统看到这个地址时,就认为是本机器),第二条设置为ISP提供的DNS。当主机A访问www.baidu.com时就可以正确地返回百度的页面,访问其它域名也能正确的返回想要的页面。从主机A的客户端查询记录和网外的服务器端上看出,只有查询www.baidu.com的记录,说明系统的客户端能够把用户的请求合理的分配给反域名劫持系统的服务器端和RDNS。
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明的精神和范围,本发明的保护范围应以权利要求所述为准。
Claims (10)
1.一种基于隧道技术的反域名劫持方法,其步骤包括:
1)在用户主机上设置客户端,在ISP网络外的互联网上设置服务器端;
2)所述客户端接收本地DNS应用的DNS请求,将其中的关键字段封装成一承载请求数据包后发送至所述服务器端;
3)所述服务器端从所述承载请求数据包中拆分出DNS请求的关键字段,将其组装成DNS请求后发送至一递归服务器;
4)所述服务器端从所述递归服务器接收应答数据,将其封装成承载应答数据包后发送至所述客户端;
5)所述客户端从所述承载应答数据包中拆分出DNS应答信息,发送至本地DNS应用。
2.如权利要求1所述的方法,其特征在于,还包括如下步骤:
在所述客户端建立反劫持域名列表,该列表包含遭受ISP劫持的域名集合;所述客户端接收本地DNS请求后,如果目标域名在所述反劫持域名列表中,则继续执行所述步骤2);否则,将DNS请求直接发送至ISP的递归服务器。
3.如权利要求2所述的方法,其特征在于:由用户对所述反域名劫持列表进行维护和更新,包括添加域名、删除域名。
4.如权利要求2所述的方法,其特征在于:通过在所述客户端设置一探测模块来对所述反域名劫持列表进行维护和更新,方法为:
a)所述服务器端从其用户使用系统记录中提取域名;
b)所述探测模块接收所述域名,分别向本地ISP的递归服务器和所述服务器端发送DNS请求,并对获得的解析结果进行比对分析,如果确认ISP网络对此域名做了域名劫持,则将其加入所述反劫持域名列表。
5.如权利要求1或2所述的方法,其特征在于,所述DNS请求的关键字段包括序列号、域名、类型和类别。
6.如权利要求1或2所述的方法,其特征在于,所述承载请求数据包和所述承载应答数据包采用下列协议中的一种:HTTP协议、FTP协议、POP3协议、SMTP协议、SNMP协议、SSH协议、IMAP4协议、IRC协议、NNTP协议、XMPP协议、SIP协议、TFTP协议、RIP协议、TELNET协议、HTTPS协议。
7.一种基于隧道技术的反域名劫持系统,其特征在于,包括客户端和服务器端;所述客户端安装于用户主机上,包括转发模块和隧道通信模块;所述服务器端设于ISP网络外的互联网上;
所述转发模块负责接收本地应用的DNS请求并转发给所述隧道通信模块,以及负责从所述隧道通信模块接收DNS应答信息并转发给所述本地应用;
所述隧道通信模块连接所述转发模块,负责接收所述DNS请求,将其中的关键字段封装成一承载请求数据包后传送至所述服务器端;以及负责从所述服务器端接收承载应答数据包,将其中的关键字段组成DNS应答信息后发送至所述转发模块;
所述服务器端负责接收所述承载请求数据包,从中拆分出关键字段并组成DNS请求后发送至一递归服务器;以及负责从所述递归服务器收DNS应答信息并封装至一承载应答数据包,然后发送至所述隧道通信模块。
8.如权利要求7所述的系统,其特征在于:所述客户端还包括一界面模块,用于建立一反劫持域名列表;所述转发模块接收本地应用的DNS请求后,根据目标域名查找所述反劫持域名列表:如果目标域名在反域名劫持列表中,则将所述DNS请求转发至所述隧道通信模块,否则将所述DNS请求直接发送至ISP的递归服务器。
9.如权利要求8所述的系统,其特征在于,所述客户端还包括一探测模块,用于对所述反劫持域名列表进行维护和更新,其方法为:
a)所述服务器端从其用户使用系统记录中提取域名;
b)所述探测模块接收所述域名,分别向本地ISP的递归服务器和所述服务器端发送DNS请求,并对获得的解析结果进行比对分析,如果确认ISP网络对此域名做了域名劫持,则将其加入所述反劫持域名列表。
10.如权利要求7至9任一项所述的系统,其特征在于:所述转发模块设有缓存,用于存放从服务器端获得的资源记录,其生存时间遵循DNS协议标准。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328269.3A CN103685584B (zh) | 2012-09-07 | 2012-09-07 | 一种基于隧道技术的反域名劫持方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210328269.3A CN103685584B (zh) | 2012-09-07 | 2012-09-07 | 一种基于隧道技术的反域名劫持方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103685584A CN103685584A (zh) | 2014-03-26 |
CN103685584B true CN103685584B (zh) | 2016-12-21 |
Family
ID=50321857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210328269.3A Active CN103685584B (zh) | 2012-09-07 | 2012-09-07 | 一种基于隧道技术的反域名劫持方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103685584B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104135471B (zh) * | 2014-07-14 | 2018-01-23 | 嘉兴市辰翔信息科技有限公司 | Dns防劫持通信方法 |
CN104486140B (zh) * | 2014-11-28 | 2017-12-19 | 华北电力大学 | 一种检测网页被劫持的装置及其检测方法 |
CN106603464A (zh) * | 2015-10-14 | 2017-04-26 | 北京国双科技有限公司 | 网络检测方法与系统、装置 |
CN105357212A (zh) * | 2015-11-23 | 2016-02-24 | 北京天地互连信息技术有限公司 | 一种保证安全和隐私的dns端到端解析方法 |
CN105872119A (zh) * | 2015-12-10 | 2016-08-17 | 乐视云计算有限公司 | 域名解析系统的实现方法及装置 |
CN107204971B (zh) * | 2016-11-03 | 2020-06-05 | 深圳汇网天下科技有限公司 | Web站电商劫持检测方法 |
CN110933177A (zh) * | 2019-12-04 | 2020-03-27 | 国家计算机网络与信息安全管理中心 | 一种域名请求处理方法及装置 |
CN111262881B (zh) * | 2020-02-26 | 2021-07-02 | 杭州云缔盟科技有限公司 | 一种隐藏手机app访问的服务器dns域名的方法 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009021070A1 (en) * | 2007-08-06 | 2009-02-12 | Bernard De Monseignat | System and method for authentication, data transfer, and protection against phishing |
CN102340554A (zh) * | 2011-09-29 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
CN102594934A (zh) * | 2011-12-30 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种识别被劫持网址的方法及装置 |
CN102624750A (zh) * | 2012-04-22 | 2012-08-01 | 吴兴利 | 抵御dns递归攻击的方法和系统 |
-
2012
- 2012-09-07 CN CN201210328269.3A patent/CN103685584B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2009021070A1 (en) * | 2007-08-06 | 2009-02-12 | Bernard De Monseignat | System and method for authentication, data transfer, and protection against phishing |
CN102340554A (zh) * | 2011-09-29 | 2012-02-01 | 奇智软件(北京)有限公司 | 一种域名系统dns的最优应用服务器选取方法和装置 |
CN102594934A (zh) * | 2011-12-30 | 2012-07-18 | 奇智软件(北京)有限公司 | 一种识别被劫持网址的方法及装置 |
CN102624750A (zh) * | 2012-04-22 | 2012-08-01 | 吴兴利 | 抵御dns递归攻击的方法和系统 |
Non-Patent Citations (2)
Title |
---|
DNS欺骗攻击的检测和防范;闫伯儒,方滨兴,李斌,王垚;《计算机工程》;20061105;第32卷(第21期);第130-132、135页 * |
网络DNS欺骗攻击的检测及其防护;黎成;《电脑知识与技术》;20100825;第6卷(第24期);第6687、6688、6706页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103685584A (zh) | 2014-03-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103685584B (zh) | 一种基于隧道技术的反域名劫持方法和系统 | |
US8892725B2 (en) | Method for network anomaly detection in a network architecture based on locator/identifier split | |
CN109155793B (zh) | 用于内容分发网络中的网络映射的方法和系统 | |
CN107528862B (zh) | 域名解析的方法及装置 | |
US8762498B2 (en) | Apparatus, system, and method for communicating to a network through a virtual domain | |
WO2017173766A1 (zh) | 一种域名解析加速方法、系统和装置 | |
US8667176B2 (en) | Network service access method and access gateway equipment | |
CN105323173B (zh) | 网络规则条目的设置方法及装置 | |
WO2019028683A1 (zh) | 一种获取并收集客户端本地dns服务器的方法以及系统 | |
JP5790775B2 (ja) | ルーティング方法およびネットワーク伝送装置 | |
CN102843391A (zh) | 一种信息发送方法及网关 | |
CN103179228A (zh) | 因特网协议地址解析方法及边缘节点 | |
CN107222587B (zh) | 一种远程访问私网设备的方法 | |
CN103685599A (zh) | 一种域名递归服务的预判干预方法 | |
CN106412063A (zh) | 教育网内cdn节点检测与资源调度系统及方法 | |
CN101902482B (zh) | 基于IPv6自动配置实现终端安全准入控制的方法和系统 | |
CN109076082A (zh) | 面向身份的网络和协议中的匿名身份 | |
CN110493366A (zh) | 一种接入点加入网络管理的方法及装置 | |
CN102547553B (zh) | 一种基于wap进行业务访问的方法、系统及装置 | |
CN102970387A (zh) | 一种域名解析方法、装置及系统 | |
CN103888554B (zh) | IPv4与IPv6互通的域名解析方法和系统 | |
CN106790502B (zh) | 一种基于NAT64前缀的IPv4终端、IPv6服务互通业务的负载均衡系统 | |
CN107222588A (zh) | 一种提高dns可用性的方法及系统 | |
CN107404438A (zh) | 网络路由方法和网络路由系统 | |
Yang et al. | A deep dive into DNS behavior and query failures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | 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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210205 Address after: 100190 room 506, building 2, courtyard 4, South 4th Street, Zhongguancun, Haidian District, Beijing Patentee after: CHINA INTERNET NETWORK INFORMATION CENTER Address before: 100190 No. four, 4 South Street, Haidian District, Beijing, Zhongguancun Patentee before: Computer Network Information Center, Chinese Academy of Sciences |