首页 / 专利库 / 电脑安全 / 恶意广告 / 一种基于域名的HTTP访问劫持检测与净化装置及方法

一种基于域名的HTTP访问劫持检测与净化装置及方法

阅读:23发布:2020-05-22

专利汇可以提供一种基于域名的HTTP访问劫持检测与净化装置及方法专利检索,专利查询,专利分析的服务。并且本 发明 涉及网络安全技术领域,尤其涉及一种基于域名的HTTP 访问 劫持检测与 净化 装置及方法,本发明能够自定义域名与IP的对应解析规则,直接由用户 指定 域名与IP的解析关系,解决了一般性企业或集群网络管理人员对公司员工上网行为、集群服务连网的控制。另外,能够基于域名智能检测出DNS污染或DNS劫持行为,自动检测和解决DNS污染或DNS劫持问题,使用户在遭受到DNS恶意劫持时候,智能友好的提示用户处于的恶意的上网环境,避免被蒙蔽在恶意的上网行为监控之中,同时避免用户受到广告或导航页面等劫持页面的干扰,避免遭受不必要的经济损失和精神损失。,下面是一种基于域名的HTTP访问劫持检测与净化装置及方法专利的具体信息内容。

1.一种基于域名的HTTP访问劫持检测与净化装置,其特征在于,包括监听模、匹配模块和DNS纠正模块,
监听模块:监听客户端发起的DNS查询请求,抓取DNS服务器解析的DNS查询请求响应报文中的IP地址;
匹配模块:所述的匹配模块包括黑名单表和白名单表,所述的匹配模块将监听模块抓取的IP地址和黑名单表进行匹配,如果匹配成功,则将黑名单表中记录的域名对应的正确IP作为客户端发起的DNS查询请求的解析IP;如果匹配失败,则将监听模块抓取的DNS查询请求响应报文传递给DNS纠正模块进行处理;
DNS纠正模块:所述的DNS纠正模块包括DNS同步检测模块和DNS统计分析模块,DNS同步检测模块:用于分析DNS查询请求响应报文中记录类型为“A记录”,即对id为
0x0002的响应IP信息和响应时间进行记录分析,判定DNS查询请求响应报文是否存在不同步情况,如果id为0x0002的报文存在抢先响应的现象,即DNS查询请求响应报文不同步,则将此响应IP标记为待验证IP,如果DNS查询请求响应报文同步,DNS同步检测模块提取DNS与IP信息,传递给DNS统计分析模块;
DNS统计分析模块,对于DNS查询请求响应报文同步的IP,所述的DNS统计分析模块获取同一IP对应的不同域名个数,分析IP对应的域名个数是否超过预设阈值,如果IP对应的域名个数不超过预设阈值,DNS统计分析模块正常响应客户端的DNS查询请求,如果IP对应的域名个数超过预设阈值,则将此响应IP标记为待验证IP,将待验证IP与所述的白名单表作匹配,如果待验证IP在白名单表中,则将白名单表中IP作为DNS查询请求的响应IP,响应给客户端。
2.根据权利要求1所述的一种基于域名的HTTP访问劫持检测与净化装置,其特征在于,所述的一种基于域名的HTTP访问劫持检测与净化装置还包括HTTP重定向模块,如果所述的匹配模块和DNS纠正模块未能确定域名对应的正确IP时,所述的HTTP重定向模块用于对HTTP请求报文中目的IP为所述一种基于域名的HTTP访问劫持检测与净化装置的局域网IP的请求报文进行本地的重定向处理,将请求页面重定向到基于域名的HTTP访问劫持检测与净化装置内部自定义的静态页面。
3.根据权利要求1所述的一种基于域名的HTTP访问劫持检测与净化装置,其特征在于,所述的一种基于域名的HTTP访问劫持检测与净化装置还包括三个国外公共的DNS服务器,GoogleDNS、OpenDNS、UltraDNS。
4.根据权利要求1所述的一种基于域名的HTTP访问劫持检测与净化装置,其特征在于,所述的黑名单表包括四个字段,分别是域名、错误IP、矫正IP和URI路径,所述的错误IP是DNS遭受劫持或污染后解析出的错误IP地址;矫正IP是正确的IP地址,URI路径是上传自定义的导航页面。
5.一种采用基于域名的HTTP访问劫持检测与净化装置的检测与净化方法,其特征在于:包括如下步骤:
1)客户端发起基于HTTP的请求,首先会发生DNS查询请求,监听模块抓取DNS服务器解析的DNS查询请求响应报文中的IP地址;
2)匹配模块将监听模块抓取DNS服务器解析的DNS查询请求响应报文中的IP地址与黑名单表进行匹配,如果IP地址在黑名单列表中,匹配模块将域名对应的正确IP送给客户端;
如果IP地址不在黑名单列表中,匹配模块将监听模块抓取DNS服务器解析的DNS查询请求响应报文同时传递给DNS同步检测模块和DNS统计分析模块;
3)DNS同步检测模块分析监听模块抓取DNS服务器解析的DNS查询请求响应报文,对id为0x0002的响应IP信息和响应时间进行记录分析,判定DNS查询请求响应报文是否存在不同步情况,如果DNS查询请求响应报文同步并且DNS统计分析模块统计的IP对应的域名个数不超过预设阈值,所述的DNS统计分析模块将对应的正确IP送给客户端;如果DNS查询请求响应报文不同步或者是DNS统计分析模块统计的IP对应的域名个数超过预设阈值,将监听模块抓取的IP地址标记为待验证的IP,待验证的IP与白名单表做匹配,如果待验证的IP在白名单表中,则将白名单表中IP作为DNS查询请求的响应IP,响应给客户端。
6.根据权利要求5所述一种采用基于域名的HTTP访问劫持检测与净化装置的检测与净化方法,其特征在于:如果待验证的IP不在白名单表中,所述一种基于域名的HTTP访问劫持检测与净化装置通过三个国外公共DNS服务器,GoogleDNS、OpenDNS、UltraDNS各发起DNS查询请求,所述一种基于域名的HTTP访问劫持检测与净化装置将两个响应最快的DNS解析结果与待验证的IP匹配,如果两个响应最快的DNS解析结果与待验证的IP匹配成功,则将两个响应最快的DNS解析结果的IP响应给客户端,同时将域名和IP信息记录在白名单表中;如果两个响应最快的DNS解析结果与待验证的IP匹配不成功,将域名地址和国外公共DNS解析的IP地址记录在临时表中,同时将局域网的IP地址响应给客户端。
7.根据权利要求6所述一种采用基于域名的HTTP访问劫持检测与净化装置的检测与净化方法,其特征在于:如果HTTP请求响应的IP地址为局域网的IP地址,基于域名的HTTP访问劫持检测与净化装置将做三种处理:
1)继续访问,客户端使用客户端发起的DNS查询请求的响应IP地址继续访问;
2)人工净化,用户自定义域名对应的解析IP,客户端访问用户自定义域名对应的解析IP;
3)自动净化,HTTP请求报文目的IP地址为所述临时表中记录的IP地址,客户端访问临时表中记录的IP地址。

说明书全文

一种基于域名的HTTP访问劫持检测与净化装置及方法

技术领域

[0001] 本发明涉及网络安全技术领域,尤其涉及一种基于域名的HTTP访问劫持检测与净化装置及方法。

背景技术

[0002] 随着互联网时代的进入,互联网的运用越加普及,用户对网络的需求越来越大。用户在日常访问网站时最常见的方法是通过域名方式访问,而网络报文寻址过程中识别的还是需要真实主机的IP地址,此时就会涉及到一个域名解析问题,它是由用户指定的域名服务器负责解析。其中,域名服务器是保存在网络中所有主机的域名和对应的IP地址,并具有将域名转换为特定IP地址的功能。
[0003] 在实际中,经常会出现域名无法正常解析的情况。当域名无法正常访问,运营商便可能会执行DNS劫持,同时向用户展示一个广告页面或是导航页面等替换正常应该访问的页面。当用户访问的域名遭受到恶意破坏者的恶意攻击或恶意干扰时,给用户带来日常生活的干扰,影响日常工作和生活,造成用户反感,严重情况,账号密码遗失,造成经济损失,并且很多时候普通用户都未感知访问网站已被DNS污染。
[0004] 网络被劫持的原因通常包括:用户计算机被植入病毒或木导致主机hosts文件或注册表被篡改;系统服务或是浏览器被植入恶意代码;运营商使用篡改DNS、重定向HTTP请求修改HTTP数据包导致正常网站无法正常访问。
[0005] 如今存在的一些基于域名的HTTP劫持检测方法更多的依赖于对DNS通信协议类型(UDP转变成TCP)、通信端口(使用非53的端口)的改变,甚至是对DNS通信报文进行加密处理;或者是在DNS解析之后的HTTP请求数据报文做二次分析,通过URI的关键字符串进行字典匹配。这样的一些操作一定程度、一定时间内能确保DNS解析免受DNS污染,但不是根本解决方法,而且不通用;同时依赖于与URI的关键字匹配的字典库,增加维护代价的同时,带来了更多的不准确性因素。
[0006] 因此,迫切需要一种基于域名的HTTP访问劫持方法检测和净化的技术,解决用户在访问网页的遭受的DNS污染或DNS感染,智能检测DNS劫持或DNS污染行为,并主动净化上网行为。

发明内容

[0007] 本发明的目的是克服现有技术存在的缺陷,提供一种基于域名的HTTP访问劫持检测与净化装置及方法,能够人工增添、自动检测、净化及缓存DNS解析IP的技术方案,解决网络管理员对上网行为的控制,自定义不同域名的劫持页面,避免用户遭受到广告商或运营商导航等劫持页面的干扰。
[0008] 实现本发明目的的技术方案是:一种基于域名的HTTP访问劫持检测与净化装置,包括监听模、匹配模块和DNS纠正模块,
[0009] 监听模块:监听客户端发起的DNS查询请求,抓取DNS服务器解析的DNS查询请求响应报文中的IP地址;
[0010] 匹配模块:匹配模块包括黑名单表和白名单表,匹配模块将监听模块抓取的IP地址和黑名单表进行匹配,如果匹配成功,则将黑名单表中记录的域名对应的正确IP作为客户端发起的DNS查询请求的解析IP;如果匹配失败,则将监听模块抓取的DNS查询请求响应报文传递给DNS纠正模块进行处理;
[0011] DNS纠正模块:DNS纠正模块包括DNS同步检测模块和DNS统计分析模块,[0012] DNS同步检测模块:用于分析DNS查询请求响应报文中记录类型为“A记录”,即对id为0x0002的响应IP信息和响应时间进行记录分析,判定DNS查询请求响应报文是否存在不同步情况,如果id为0x0002的报文存在抢先响应的现象,即DNS查询请求响应报文不同步,则将此响应IP标记为待验证IP,如果DNS查询请求响应报文同步,DNS同步检测模块提取DNS与IP信息;
[0013] DNS统计分析模块,DNS统计分析模块获取同一IP对应的不同域名个数,分析IP对应的域名个数是否超过预设阈值,如果IP对应的域名个数不超过预设阈值,DNS统计分析模块正常响应客户端的DNS查询请求,如果IP对应的域名个数超过预设阈值,则将此响应IP标记为待验证IP,将待验证IP与所述的白名单表作匹配,如果待验证IP在白名单表中,则将白名单表中IP作为DNS查询请求的响应IP,响应给客户端。
[0014] 作为本发明的优化方案,一种基于域名的HTTP访问劫持检测与净化装置还包括HTTP重定向模块,如果所述的匹配模块和DNS纠正模块未能确定域名对应的正确IP时,所述的HTTP重定向模块用于对HTTP请求报文中目的IP为所述一种基于域名的HTTP访问劫持检测与净化装置的局域网IP的请求报文进行本地的重定向处理,将请求页面重定向到基于域名的HTTP访问劫持检测与净化装置内部自定义的静态页面。
[0015] 作为本发明的优化方案,一种基于域名的HTTP访问劫持检测与净化装置还包括三个国外公共的DNS服务器。
[0016] 作为本发明的优化方案,黑名单表包括四个字段,分别是域名、错误IP、矫正IP和URI路径,所述的错误IP是DNS遭受劫持或污染后解析出的错误IP地址;矫正IP是正确的IP地址,URI路径是上传自定义的导航页面。
[0017] 作为本发明的优化方案,一种采用基于域名的HTTP访问劫持检测与净化装置的检测与净化方法,包括如下步骤:
[0018] 1)客户端发起基于HTTP的请求,首先会发生DNS查询请求,监听模块抓取DNS服务器解析的DNS查询请求响应报文中的IP地址;
[0019] 2)匹配模块将监听模块抓取DNS服务器解析的DNS查询请求响应报文中的IP地址与黑名单表进行匹配,如果IP地址在黑名单列表中,匹配模块将域名对应的正确IP送给客户端;如果IP地址不在黑名单列表中,匹配模块将监听模块抓取DNS服务器解析的DNS查询请求响应报文同时传递给DNS同步检测模块和DNS统计分析模块;
[0020] 3)DNS同步检测模块分析监听模块抓取DNS服务器解析的DNS查询请求响应报文,对id为0x0002的响应IP信息和响应时间进行记录分析,判定DNS查询请求响应报文是否存在不同步情况,如果DNS查询请求响应报文同步并且DNS统计分析模块统计的IP对应的域名个数不超过预设阈值,所述的DNS统计分析模块将对应的正确IP送给客户端;如果DNS查询请求响应报文不同步或者是DNS统计分析模块统计的IP对应的域名个数超过预设阈值,将监听模块抓取的IP地址标记为待验证的IP,待验证的IP与白名单表做匹配,如果待验证的IP在白名单表中,则将白名单表中IP作为DNS查询请求的响应IP,响应给客户端。
[0021] 作为本发明的优化方案,如果待验证的IP不在白名单表中,所述一种基于域名的HTTP访问劫持检测与净化装置通过三个国外公共DNS服务器各发起DNS查询请求,所述一种基于域名的HTTP访问劫持检测与净化装置将两个响应最快的DNS解析结果与待验证的IP匹配,如果两个响应最快的DNS解析结果与待验证的IP匹配成功,则将两个响应最快的DNS解析结果的IP响应给客户端,同时将域名和IP信息记录在白名单表中;如果两个响应最快的DNS解析结果与待验证的IP匹配不成功,将域名地址和国外公共DNS解析的IP地址记录在临时表中,同时将局域网的IP地址响应给客户端。
[0022] 作为本发明的优化方案,如果HTTP请求响应的IP地址为局域网的IP地址,基于域名的HTTP访问劫持检测与净化装置将做三种处理:
[0023] 1)继续访问,客户端使用客户端发起的DNS查询请求的响应IP地址继续访问;
[0024] 2)人工净化,用户自定义域名对应的解析IP,客户端访问用户自定义域名对应的解析IP;
[0025] 3)自动净化,HTTP请求报文目的IP地址为所述临时表中记录的IP地址,客户端访问临时表中记录的IP地址。
[0026] 本发明具有积极的效果:本发明能够自定义域名与IP的对应解析规则,直接由用户指定域名与IP的解析关系,解决了一般性企业或集群网络管理人员对公司员工上网行为、集群服务连网的控制。另外,能够基于域名智能检测出DNS污染或DNS劫持行为,自动检测和解决DNS污染或DNS劫持问题,使用户在遭受到DNS恶意劫持时候,智能友好的提示用户处于的恶意的上网环境,避免被蒙蔽在恶意的上网行为监控之中,同时避免用户受到广告或导航页面等劫持页面的干扰,避免遭受不必要的经济损失和精神损失。附图说明
[0027] 为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明,其中:
[0028] 图1是本发明的流程图
[0029] 图2是DNS纠正模块的处理流程图;
[0030] 图3是DNS同步检测模块的处理流程图;
[0031] 图4是DNS统计分析模块的处理流程图;
[0032] 图5是HTTP访问劫持响应的流程图。

具体实施方式

[0033] 本发明公开了一种基于域名的HTTP访问劫持检测与净化装置,包括监听模块、匹配模块和DNS纠正模块,
[0034] 监听模块:监听客户端发起的DNS查询请求,抓取DNS服务器解析的DNS查询请求响应报文中的IP地址;
[0035] 匹配模块:匹配模块包括黑名单表和白名单表,所述的匹配模块将监听模块抓取的IP地址和黑名单表进行匹配,如果匹配成功,则将黑名单表中记录的域名对应的正确IP作为客户端发起的DNS查询请求的解析IP;如果匹配失败,则将监听模块抓取的DNS查询请求响应报文传递给DNS纠正模块进行处理;
[0036] DNS纠正模块:DNS纠正模块包括DNS同步检测模块和DNS统计分析模块:
[0037] DNS同步检测模块:用于分析DNS查询请求响应报文中记录类型为“A记录”,即对id为0x0002的响应IP信息和响应时间进行记录分析,判定DNS查询请求响应报文是否存在不同步情况,如果id为0x0002的报文存在抢先响应的现象,即DNS查询请求响应报文不同步,则将此响应IP标记为待验证IP,如果DNS查询请求响应报文同步,DNS同步检测模块提取DNS与IP信息;
[0038] DNS统计分析模块,DNS统计分析模块获取同一IP对应的不同域名个数,分析IP对应的域名个数是否超过预设阈值,如果IP对应的域名个数不超过预设阈值,DNS统计分析模块正常响应客户端的DNS查询请求,如果IP对应的域名个数超过预设阈值,则将此响应IP标记为待验证IP,将待验证IP与所述的白名单表作匹配,如果待验证IP在白名单表中,则将白名单表中IP作为DNS查询请求的响应IP,响应给客户端。
[0039] 其中,监听模块对客户端的DNS查询请求响应报文,以及HTTP请求报文中目的地址为基于域名的HTTP访问劫持检测与净化装置的局域网IP的报文进行监听和捕获,提取出对应的IP信息或进行相应的HTTP的重定向处理提示。
[0040] DNS请求报文处理包括:监听并抓取客户端发起的DNS查询请求的响应报文,获取指定DNS服务器解析的IP信息,将对应的响应报文,以及域名与IP信息传递给其它模块。
[0041] HTTP请求报文处理包括:监听并抓取客户端发起的目的地址为基于域名的HTTP访问劫持检测与净化装置的局域网IP的HTTP请求报文,将此数据报文信息传递给装置的HTTP重定向模块。
[0042] 其中,下文中指代的装置均指基于域名的HTTP访问劫持检测与净化装置。
[0043] 匹配模块用于对当前DNS查询响应的IP与装置的黑名单表和白名单表做匹配;装置的监听模块监听客户端发起的DNS查询请求,抓取响应报文中的IP地址,将该IP与装置的黑名单表做匹配,匹配成功则可以立即正确响应客户端,反之,继续做下一步分析。
[0044] 匹配模块包含一张黑名单表,第一,网络管理员可批量增加待本地重定向的域名及IP信息,第二,黑名单表用于对每次DNS查询响应IP的匹配,如果IP在黑名单中,能准确、快速的纠正、响应客户端请求。另外,此黑名单表也是DNS净化后的IP输出,当DNS查询请求通过装置的DNS解析处理后输出“可疑IP”后,客户端基于HTTP的请求经过装置的本地重定向后,能自动或人工净化受污染的DNS,同时将净化后的IP信息录入黑名单表。黑名单的作用就是存储“受污染域名服务”的解析信息,供二次请求时,相同域名的快速、高效响应,此黑名单表拥有四个字段:域名、错误IP、矫正IP、URI路径,域名即是待本地重定向的域名;错误IP,即是DNS遭受DNS劫持或DNS污染后解析出的错误IP地址;矫正IP,即是通过本装置处理后输出的正确IP信息,同时也是DNS在此装置的本地DNS缓存,当用户再次发起DNS解析请求时,如果请求的域名在此黑名单列表中,则直接响应客户端正确的IP地址。URI路径,是用于管理员上传自定义的导航页面,用于指定什么样的域名本地重定向到什么样的导航页面,用于实现不同功能的页面导向功能。
[0045] 匹配模块还包括另外一张白名单表,此表结构相对简单,只有二个字段:域名、IP;域名则是客户端发起的域名请求,IP则是通过装置智能分析后能正确确定的域名、以及其解析IP。匹配模块中白名单的存在是为了提高装置处理DNS查询请求的效率,可以理解为装置本地的DNS缓存表。
[0046] DNS纠正模块的处理流程:客户端发起的DNS查询请求响应报文在经过装置的匹配模块中的黑名单表匹配失败之后,将被传递给DNS纠正模块中的DNS同步检测模块和DNS统计分析模块处理,还未确定正确的DNS时,会再与装置匹配模块的白名单表作匹配,如果请求的域名在白名单表内,能第一时间正确响应客户端,反之将与DNS纠正模块中发起的国外公共DNS请求解析结果做匹配。
[0047] DNS同步检测模块:此模块是用于对客户端发起的DNS查询请求响应报文中记录类型为“A记录”,id为0x0002的响应IP信息和响应时间进行记录分析,判定响应报文是否存在不同步情况。DNS查询请求采用的是UDP协议进行通讯,一个正常的DNS查询请求,一般会有三个步骤,请求队列的每次查询有一个id进行标识,从0x0001到0x0003,同时客户端与DNS服务器端查询响应过程都是一步步紧接着完成的,如果存在查询id为0x0002的响应报文有不同步的情况,则说明DNS解析响应存在“抢答机制”,则DNS解析遭受到了DNS污染。客户端发起DNS查询情况,装置监听模块抓取DNS响应报文,获取DNS响应报文中记录类型为“A记录”(ipv4),id标示为0X0002的响应报文,提取对应的IP信息和响应时间。分析响应id为0X0002的响应IP是不是同步,如果id为0X0002的报文存在抢先响应的现象,则将此响应IP标记为待验证IP;反之,则提取DNS与IP地址信息,继续传递给DNS统计分析模块。
[0048] DNS统计分析模块:用于对抓取的DNS查询请求响应IP进行统计,获取同一IP地址对应的不同域名的个数,具体实施如下:
[0049] DNS统计分析模块从装置的监听模块获取到DNS响应报文,从DNS响应报文中提取出对应的域名以及IP地址,并记录域名与IP地址之间的对应关系。对抓取到的结果进行统计,获取同一IP地址对应的不同域名的数量,尤其区别那些不是同二级域名的域名的数量。
[0050] 对同一IP对应的不同域名的数量,确定该IP是否为可信任IP,并保存所确定的用于进行DNS统计分析的IP地址。
[0051] 当客户端继续发起DNS查询请求时,以同样流程从DNS查询请求中提取出IP地址,如果所提取出的IP地址出现在所保存的用于进行DNS统计分析的IP地址中,则把此IP标记为待验证的IP。其中,对同一IP对应的不同域名的数量,确定该IP是否为可信任IP的方法:同一IP对应的不同域名的数量,对超过预置条件的IP地址为不可信任IP,作为DNS统计分析的IP地址,同时标记为待验证IP地址。
[0052] 装置还包括HTTP重定向模块,如果所述的匹配模块和DNS纠正模块未能确定域名对应的正确IP时,HTTP重定向模块用于对HTTP请求报文中目的IP为所述一种基于域名的HTTP访问劫持检测与净化装置的局域网IP的请求报文进行本地的重定向处理,将请求页面重定向到基于域名的HTTP访问劫持检测与净化装置内部自定义的静态页面。
[0053] HTTP重定向模块用于对HTTP请求报文中目的IP为装置局域网IP的请求报文进行装置本地的重定向处理,将请求页面重定向到装置内部自定义的静态页面,便于用户端进行二次处理。
[0054] 当DNS查询请求经过装置的DNS检测处理后未能最终确定域名对应的正确IP,返回给客户端的DNS解析IP则为装置对应的局域网IP地址(如:一般路由器配置的局域网IP地址192.168.1.1);客户端再基于这个解析IP发起HTTP请求时,装置在本地重定向此类报文请求;重定向的静态页面可以由用户自定义,也可以是装置默认的预警导航静态页面。
[0055] 在预警导航页面用户能做三种选择操作:第一是继续访问,则用户发起的HTTP请求报文目的IP会沿用当前用户发起的DNS查询请求的响应IP;第二是人工净化,用户可以自定义指定配置此类域名所对应的解析IP;第三是自动净化,则HTTP请求报文目的IP会选用临时表中记录的IP地址,即由三个国外公共DNS服务器解析的IP地址。
[0056] 一种采用基于域名的HTTP访问劫持检测与净化装置的检测与净化方法,包括如下步骤:
[0057] 1)客户端发起基于HTTP的请求,首先会发生DNS查询请求,监听模块抓取DNS服务器解析的DNS查询请求响应报文中的IP地址;
[0058] 2)匹配模块将监听模块抓取DNS服务器解析的DNS查询请求响应报文中的IP地址与黑名单表进行匹配,如果IP地址在黑名单列表中,匹配模块将域名对应的正确IP送给客户端;如果IP地址不在黑名单列表中,匹配模块将监听模块抓取DNS服务器解析的DNS查询请求响应报文同时传递给DNS同步检测模块和DNS统计分析模块;
[0059] 3)DNS同步检测模块分析监听模块抓取DNS服务器解析的DNS查询请求响应报文,对id为0x0002的响应IP信息和响应时间进行记录分析,判定DNS查询请求响应报文是否存在不同步情况,如果DNS查询请求响应报文同步并且DNS统计分析模块统计的IP对应的域名个数不超过预设阈值,所述的DNS统计分析模块将对应的正确IP送给客户端;如果DNS查询请求响应报文不同步或者是DNS统计分析模块统计的IP对应的域名个数超过预设阈值,将监听模块抓取的IP地址标记为待验证的IP,待验证的IP与白名单表做匹配,如果待验证的IP在白名单表中,则将白名单表中IP作为DNS查询请求的响应IP,响应给客户端。
[0060] 如果待验证的IP不在白名单表中,一种基于域名的HTTP访问劫持检测与净化装置通过三个国外公共DNS服务器各发起DNS查询请求,一种基于域名的HTTP访问劫持检测与净化装置将两个响应最快的DNS解析结果与待验证的IP匹配,如果两个响应最快的DNS解析结果与待验证的IP匹配成功,则将两个响应最快的DNS解析结果的IP响应给客户端,同时将域名和IP信息记录在白名单表中;如果两个响应最快的DNS解析结果与待验证的IP匹配不成功,将域名地址和国外公共DNS解析的IP地址记录在临时表中,同时将局域网的IP地址响应给客户端。
[0061] 客户发起基于HTTP的请求,首先会发生DNS的查询请求,装置的监听模块将会提取DNS查询请求的IP解析结果,如果DNS查询请求的响应IP有多个,装置的DNS纠正模块中的DNS同步检测模块会同时记录各个IP及各个IP的响应时间。
[0062] 将提取的响应IP信息同装置内置的黑名单IP表进行内容匹配,如果响应IP信息存在于黑名单表中,则忽略本次DNS查询请求的返回信息。将黑名单表中此域名对应的“正确IP”响应给客户端用户;如果响应IP信息不在黑名单表,则将DNS查询的响应报文同时传递给DNS同步检测模块和DNS统计分析模块。
[0063] DNS同步检测模块对DNS查询请求的响应报文进行分析,常见的DNS污染在响应DNS解析器的时候采用抢先机制,解析器在第一时间先收到的响应报文当作本次DNS查询请求响应结果;因此当发生DNS污染时,经常会出现正确的IP报文会慢于被欺骗的IP响应报文。DNS同步检测模块分析DNS查询请求的响应报文,尤其对响应数据报文中队列标记着编号id为0x0002的A查询(IPv4)结果的响应报文信息,分析是否有查询id为0x0002的A记录不同步的问题;如果存在不同步的问题,则说明DNS解析响应存在“抢答机制”,则DNS解析遭受到了DNS污染,则将IP响应报文信息传递给DNS统计分析模块;反之,则将此响应IP标记为待验证IP。
[0064] DNS统计分析模块获取DNS查询请求响应报文中的IP信息,从所述数据包中提取对应的域名以及IP地址,获取并统计IP地址对应的不同域名的数量;根据同一IP地址对应的不同域名的数量,尤其区别那类不是同二级域名的数量,对超过预设值数量的IP地址标记为待验证IP;否则,正常响应用户客户端的DNS查询请求。
[0065] 标记的待验证IP同装置匹配模块里的白名单IP列表对匹配,如果此域名与响应IP信息存在于白名单IP列表中,则直接响应用户客户端的DNS查询请求。待验证IP对应的域名,通过本装置内置的三个非标端口的国外公共DNS(GoogleDNS、OpenDNS、UltraDNS)各发起DNS查询请求,综合2个响应最快的DNS解析结果,然后与上述标记的待验证IP对匹配,如果响应IP匹配,则正常响应用户客户端,同时将域名和IP信息录入装置内置的白名单列表;反之,丢弃本次用户客户端的DNS查询结果,将域名地址和国外公共DNS解析的IP地址记录在临时表中,同时将装置的局域网IP(如,192.168.1.1)响应给用户客户端。
[0066] 用户客户端根据响应的DNS解析IP发起HTTP请求,装置监听HTTP协议的请求报文,尤其捕获请求报文中目的IP为装置的局域网IP(如:192.168.1.1)的报文信息。将此类请求报文重定向本地静态导航界面,并作出警示操作提示。此处的警示操作提示包括:继续访问、自动净化和人工净化。“继续访问”则是根据用户客户端第一次DNS查询请求的结果响应HTTP请求,此时装置已不再干涉处理当前同类的HTTP的数据报文。
[0067] “自动净化”则是根据上述DNS检测处理后输出到临时表的IP信息进行DNS净化处理;具体是:丢弃用户客户端第一次发起DNS查询请求的响应IP,使用装置临时表记录的IP地址作为HTTP请求的目的IP,封装客户端发起的HTTP请求。这样,当用户客户端再发起的HTTP查询请求,则是使用的通过装置净化后的DNS查询请求的解析IP,同时将自动净化选择的DNS响应的IP地址录入装置匹配模块的“黑名单表”。
[0068] “人工净化”则是装置提醒用户进行DNS人工干涉净化,具体是:装置根据用户客户端DNS查询请求的IP地址和装置DNS查询请求的IP地址为提示,用户端可以选择提示的二类DNS处理对应的IP地址,也可以自定义输入指定的IP地址,之后发起的HTTP请求则是根据用户自己选择的IP地址进行报文响应,同时将用户添加的IP地址信息和域名录入装置的黑名单表。
[0069] 此方法和装置运用的实施列一:
[0070] 某企业拥有自己的一套局域网环境,内部员工日常PC机上网都是在此环境上网,网络管理员发现工作时间,有几个视频网站和几个游戏站点的流量较为突出,为此,网络管理人员为了健康员工此类的上网行为,并做出警示,做了如下操作:
[0071] 网络管理员在装置的管理WEB端上传了自定义的警示静态页面,并在装置匹配模块的黑名单表中选配添加了如下所示的内容:
[0072]
[0073] 这样,当员工再次访问域名“abc.video1.com”时,装置就会根据黑名单表的匹配结果将DNS解析到装置所在的局域网IP地址(192.168.1.1),同时员工基于此IP发起的HTTP请求在路由到装置时,所有请求报文会被装置重定向到URL路径:HTTP://192.168.1.1/index/abc_video1.html,从而警示用户的上网行为,其他域名的处理同理。
[0074] 以上实施例是用在对上网行为的管控中,在生活中,我们更希望有这样的一种设备能智能检测到上网行为的异常,同时可以警示用户做出相应的处理。
[0075] 此方法和装置运用的实施列二:
[0076] 此实施例更加彻底得体现此装置的功能,用户在PC端配置了DNS,但此DNS服务器正好遭受到了劫持,劫持者通过某些手段取得某域名的解析记录控制权,进而修改了此域名的解析结果。
[0077] 默认情况下,这样的DNS劫持操作将会导致对该域名的访问由原IP地址转入到修改后的指定IP,其结果就是对特定的网址不能访问或访问的是假网址,从而实现窃取资料或者破坏原有正常服务的目的。
[0078] 此时,在用户所在的本地局域网环境,新增一台网关型装置,即本发明描述的装置,并配置了外网IP(x.x.x.x)和局域网IP(192.168.1.1),局域网的上网环境都通过此网关型装置路由上网。
[0079] 当用户在本地PC机器上打开浏览器,访问了一个网页,会产生一个网页访问的请求,首先会由本地配置DNS服务器完成请求域名的解析工作。当DNS查询请求和DNS服务器响应报文经过装置时,装置将对这类数据报文进行监听处理,具体流程参见图1,具体流程如下:
[0080] 装置的监听模块监听并抓取客户端发起的DNS查询请求的响应报文,获取指定DNS服务器解析的IP信息。首先将提取出的IP信息同装置的匹配模块中的“黑名单表”进行匹配,如果匹配成功,则将“黑名单表”中记录的此域名对应的“纠正IP”作为本次用户端DNS查询请求的解析IP;反之,如果“黑名单表”中没有此域名的匹配结果,则将响应报文传递给装置的DNS纠正模块处理,DNS纠正模块处理后将输出一个IP地址作为本次用户端DNS查询请求的解析IP。
[0081] 如图2是DNS纠正模块的处理流程,当DNS查询响应报文中提取出的IP地址不在装置匹配模块的“黑名单表”中,则说明此域名在本次访问之前未出现过异常。监听模块将响应报文信息同时传递给DNS纠正模块中的DNS同步检测模块和DNS统计分析模块。
[0082] 只有当“DNS同步检测模块”检测到响应报文中不存在查询id为0x0002的响应报文有不同步的情况,同时“DNS统计分析模块”分析IP对应的域名个数未超过预设阀值时,才将此IP正常响应给用户客户端。反之,则说明“DNS同步检测模块”和“DNS统计分析模块”未成功标示此IP为正确解析IP,则标记此IP为待验证IP。
[0083] 被标记为待验证的IP地址会与装置的匹配模块中的“白名单表”做匹配,如果待验证IP地址在“白名单表”中,则将“白名单表”中IP地址作为本次DNS查询请求的响应IP,响应给用户端。反之,待验证IP不在“白名单表”内,则说明此IP在本次DNS请求之前未被装置正常匹配过。
[0084] 具体的白名单表内容如下:
[0085]
[0086] 通过“白名单表”未被匹配到,装置会基于本次DNS查询请求的域名地址,通过装置内置的三个非标端口国外公共DNS(GoogleDNS、OpenDNS、UltraDNS)各发起DNS查询请求,综合2个响应最快的DNS解析结果,然后与上述标记的待验证IP对匹配,如果响应IP匹配,则正常响应用户客户端,同时将域名和IP信息录入装置内置的白名单列表;反之,丢弃本次用户客户端的DNS查询结果,将域名地址和国外公共DNS解析的IP地址记录在临时表中,同时将装置所在的局域网IP地址(192.168.1.1)响应给用户客户端。
[0087] 图3是DNS同步检测模块的处理流程图,“DNS同步检测模块”会对本次DNS查询请求的响应报文中的DNS解析IP是否同步进行分析,如果存在查询id为0x0002的响应报文有不同步的情况,则说明DNS解析响应存在“抢答机制”,则DNS解析遭受到了DNS污染,则将查询id为0x0002的第一个抢先响应的IP标记为待验证IP;反之,则说明本次DNS查询请求未遭受到DNS污染行为,则等待“DNS统计分析模块”分析结果。
[0088] 图4是DNS统计分析模块的处理流程图,DNS统计分析模块从装置的监听模块获取到DNS响应报文,从DNS响应报文中提取出对应的域名以及IP地址,并记录域名与IP地址之间的对应关系。对抓取到的结果进行统计,获取同一IP地址对应的不同域名的数量,尤其区别那类不是同二级域名的域名数量,对超过预置条件数量的IP地址标记为待验证IP地址。
[0089] 当DNS服务器遭受到了劫持,劫持者通过某些手段取得所有域名(或大部分)的解析记录控制权,进而修改了所有域名(或大部分)的解析结果,这样用户发起的DNS查询请求结果,就会反应一个现象:在装置的“DNS统计分析模块”中,能统计到一个IP地址对应着多个域名,而且这个域名基本上是无任何二级相关性;这样装置的“DNS统计分析模块”能输出一个用户端发起的DNS查询请求对应的待验证IP地址。
[0090] 其中,涉及到概念“同二级域名的域名”:域名是由一串用点分隔的名字组成的互联网上某一台计算机或计算机组的名称,用于在互联网上数据传输时标识计算机的电子方位,如abc.com。简单的说,域名是计算机或计算机组在互联网上注册的名称,用户可以通过这个注册的名称访问到对应的计算机或计算机组。同时域名还有级别的差异,如上述的abc.com是一个顶级域名,顶级域名由专的国际组织分配,顶级域名下可以有二级域名、三级域名,如news.abc.com是一个二级域名。
[0091] 所谓的“同二级域名的域名”是指两个域名的顶级域名部分都相同,只是二级或三级域名有不同,如:musci.abc.com和sport.abc.com,或是musci.abc.com和ifeng.musci.abc.com。因为相同二级域名绑定到同一个IP地址的情况比较常见,因此需要尤其区别那类不是同二级域名的域名的数量。
[0092] 图5描述了HTTP访问劫持响应的流程图,当用户在本地PC机器上打开浏览器,访问了一个网页,DNS解析工作由装置经过上述流程处理后,会响应用户端一个IP(DNS服务器正确解析的IP地址或装置上配置的局域网IP地址),当响应给用户端的IP地址为装置的局域网IP地址(192.168.1.1)时,基于浏览器发起的HTTP请求的目的IP地址则为装置的局域网IP,装置的监听模块监听此类HTTP请求报文,在本地重定向此类报文请求;重定向的静态页面可以由用户自定义,也可以是装置默认的预警导航静态页面:
[0093] 在预警导航页面用户能做三种选择操作:第一是继续访问,则用户发起的HTTP请求报文目的IP会沿用当前用户发起的DNS查询请求的响应IP;第二是人工净化,用户可以自定义指定配置此类域名所对应的解析IP;第三是自动净化,则HTTP请求报文目的IP会选用临时表中记录的IP地址,即由三个非标端口的国外公共DNS服务器解析的IP地址。
[0094] 当用户选择了具体的某种操作时,装置的HTTP重定向模块会将每种操作对应的响应IP重组封装(重装)本次HTTP请求报文,并将该操作对应的IP录入装置匹配模块的“黑名单表”,供下次请求直接使用。
[0095] 此外,装置内置的黑名单列表和白名单列表除了在日常DNS处理流程中丰富表中的规则,还会定期更新两张表中域名的状态,避免因为实际站点服务的更换带来的响应错误或响应延迟问题。
[0096] 以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈