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查询请求响应报文,W及HTTP请求报文中目的地址 为基于域名的HTT的方问劫持检测与净化装置的局域网IP的报文进行监听和捕获,提取出对 应的IP信息或进行相应的HTTP的重定向处理提示。
[0040] DNS请求报文处理包括:监听并抓取客户端发起的DNS查询请求的响应报文,获取 指定DNS服务器解析的IP信息,将对应的响应报文,W及域名与IP信息传递给其它模块。
[0041] HTTP请求报文处理包括:监听并抓取客户端发起的目的地址为基于域名的HTT的方 问劫持检测与净化装置的局域网IP的HTT内青求报文,将此数据报文信息传递给装置的HTTP 重定向模块。
[0042] 其中,下文中指代的装置均指基于域名的HTT的方问劫持检测与净化装置。
[0043] 匹配模块用于对当前DNS查询响应的IP与装置的黑名单表和白名单表做匹配;装 置的监听模块监听客户端发起的DNS查询请求,抓取响应报文中的IP地址,将该IP与装置的 黑名单表做匹配,匹配成功则可W立即正确响应客户端,反之,继续做下一步分析。
[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则是通过装置智能分析后能正确确定的域名、W及其 解析IP。匹配模块中白名单的存在是为了提高装置处理DNS查询请求的效率,可w理解为装 置本地的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解析响应存在"抢答机制",贝化NS解析遭受到了DNS污染。客户端 发起DNS查询情况,装置监听模块抓取DNS响应报文,获取DNS响应报文中记录类型为"A记 录"(ipv4),id标示为0X0002的响应报文,提取对应的IP信息和响应时间。分析响应id为 0X0002的响应IP是不是同步,如果id为0X0002的报文存在抢先响应的现象,则将此响应IP 标记为待验证IP;反之,则提取DNS与IP地址信息,继续传递给DNS统计分析模块。
[004引 DNS统计分析模块:用于对抓取的DNS查询请求响应IP进行统计,获取同一IP地址 对应的不同域名的个数,具体实施如下:
[0049] DNS统计分析模块从装置的监听模块获取到DNS响应报文,从DNS响应报文中提取 出对应的域名W及IP地址,并记录域名与IP地址之间的对应关系。对抓取到的结果进行统 计,获取同一 IP地址对应的不同域名的数量,尤其区别那些不是同二级域名的域名的数量。
[0050] 对同一 IP对应的不同域名的数量,确定该IP是否为可信任IP,并保存所确定的用 于进行DNS统计分析的IP地址。
[0化1] 当客户端继续发起DNS查询请求时,W同样流程从DNS查询请求中提取出IP地址, 如果所提取出的IP地址出现在所保存的用于进行DNS统计分析的IP地址中,则把此IP标记 为待验证的IP。其中,对同一 IP对应的不同域名的数量,确定该IP是否为可信任IP的方法: 同一 IP对应的不同域名的数量,对超过预置条件的IP地址为不可信任IP,作为DNS统计分析 的IP地址,同时标记为待验证IP地址。
[0052] 装置还包括HTTP重定向模块,如果所述的匹配模块和DNS纠正模块未能确定域名 对应的正确IP时,HTTP重定向模块用于对HTTP请求报文中目的IP为所述一种基于域名的 HTT的方问劫持检测与净化装置的局域网IP的请求报文进行本地的重定向处理,将请求页面 重定向到基于域名的HTT的方问劫持检测与净化装置内部自定义的静态页面。
[0053] HTTP重定向模块用于对HTTP请求报文中目的IP为装置局域网IP的请求报文进行 装置本地的重定向处理,将请求页面重定向到装置内部自定义的静态页面,便于用户端进 行二次处理。
[0054] 当DNS查询请求经过装置的DNS检测处理后未能最终确定域名对应的正确IP,返回 给客户端的DNS解析IP则为装置对应的局域网IP地址(如:一般路由器配置的局域网IP地址 192.168.1.1);客户端再基于运个解析IP发起HTTP请求时,装置在本地重定向此类报文请 求;重定向的静态页面可w由用户自定义,也可w是装置默认的预警导航静态页面。
[0055] 在预警导航页面用户能做Ξ种选择操作:第一是继续访问,则用户发起的HTTP请 求报文目的IP会沿用当前用户发起的DNS查询请求的响应IP;第二是人工净化,用户可W自 定义指定配置此类域名所对应的解析IP;第Ξ是自动净化,贝化TTP请求报文目的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不在白名单表中,一种基于域名的HTT的方问劫持检测与净化装置 通过Ξ个国外公共DNS服务器各发起DNS查询请求,一种基于域名的HTTP访问劫持检测与净 化装置将两个响应最快的DNS解析结果与待验证的IP匹配,如果两个响应最快的DNS解析结 果与待验证的IP匹配成功,则将两个响应最快的DNS解析结果的IP响应给客户端,同时将域 名和IP信息记录在