CN103581363B - 对恶意域名和非法访问的控制方法及装置 - Google Patents

对恶意域名和非法访问的控制方法及装置 Download PDF

Info

Publication number
CN103581363B
CN103581363B CN201310618133.0A CN201310618133A CN103581363B CN 103581363 B CN103581363 B CN 103581363B CN 201310618133 A CN201310618133 A CN 201310618133A CN 103581363 B CN103581363 B CN 103581363B
Authority
CN
China
Prior art keywords
domain name
module
address
black
bag
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.)
Expired - Fee Related
Application number
CN201310618133.0A
Other languages
English (en)
Other versions
CN103581363A (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.)
Harbin Institute of Technology Weihai
Original Assignee
Harbin Institute of Technology Weihai
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 Harbin Institute of Technology Weihai filed Critical Harbin Institute of Technology Weihai
Priority to CN201310618133.0A priority Critical patent/CN103581363B/zh
Publication of CN103581363A publication Critical patent/CN103581363A/zh
Application granted granted Critical
Publication of CN103581363B publication Critical patent/CN103581363B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

本发明涉及网络安全技术领域,具体地说是一种对恶意域名和非法访问的控制方法及装置,其特征在于所述中间件包括内核态协议栈数据包拦截模块、用户态DNS解析模块、控制策略模块、黑/白名单索引数据库模块、黑/白名单匹配模块以及日志模块,其中所述内核态协议栈数据包拦截模块位于用户态DNS解析模块的前端,控制策略模块与用户态DNS解析模块的输出相连,控制策略模块的输出端与日志模块相连接,控制策略模块与黑/白名单匹配模块相连接,黑/白名单匹配模块与黑/白名单索引数据库模块相连接,本发明与现有技术相比,从通用性、可用性、可控性、安全性、及时性和有效性等多个角度提高域名服务的安全性。

Description

对恶意域名和非法访问的控制方法及装置
技术领域
本发明涉及网络安全技术领域,具体地说是一种通过将安全域名服务器中间件部署在运行DNS服务器软件(BIND 9)的服务器上,实现对恶意域名访问进行高效的阻断与隔离,同时,也对非法访问者进行有效的控制的对恶意域名和非法访问的控制方法及装置。
背景技术
DNS即域名系统(Domain Name System),是逐级授权的分布式数据查询系统,主要用于完成域名到IP 地址的翻译转换功能。绝大多数互联网通信都必须先通过域名系统完成域名到IP地址的寻址转换,因此域名系统成为整个互联网能够正常运作的关键基础设施之一。
目前,DNS成为网络安全的最薄弱环节。网络诈骗、网络窃密等这些高科技犯罪手段日益引起了社会的关注。对此,政府部门相继完善了有关利用计算机实施犯罪的法律法规,同时相关的技术管理部门也采取了多种措施从各个角度来提升网络的安全性,如增强网络中数据传送保密性,严厉打击恶意网站,对网络的流量进行实时监控等等。尽管如此,网络中还是存在一些非法用户意图利用互联网络盗取他人信息或财产,以及利用一些恶意网站发布虚假广告,这些行为对正常使用互联网络的用户的个人信息与经济财产构成了极大的威胁。因此,现如今迫切需要一种切实有效的系统来阻断与隔离非法用户对网络的攻击,以及避免互联网用户登录到恶意的网站上,以避免个人财产遭到威胁。
现有技术中,针对恶意域名的处理技术主要包括四种:(1)利用域名解析软件:目前95%以上的域名解析软件使用BIND,BIND自带黑名单过滤功能,但存在如下缺陷:黑名单更新需要停止域名解析服务,极大的影响系统的可用性;当数据量很大时影响系统的性能,并且黑名单的数量有限。(2)面向DNS过滤的网关系统:贝尔实验室的Cheswick等人提出了一种面向DNS过滤的安全网关系统,以防火墙的形式运行在网络中,缺点是使用过滤规则进行处理,速度和效率较低,当过滤域名较多时,会大大降低域名解析服务的可用性。(3)具有安全功能的DNS系统,如OpenDNS,通过其收集的恶意网站列表实现恶意网站的过滤,虽然提高了安全性,但其适用范围小,用户量非常少,通用性差。(4)路由器级DNS安全解决方案:通过在路由器级别进行DNS的过滤和控制等功能,如国外的Cisco IOS Content Filtering,提供针对恶意域名和恶意Web访问的过滤和控制。缺陷:只能针对特定的接入区域进行相应的配置型过滤,但不能针对DNS服务器进行针对有效的安全过滤,同时由于大多采用基于路由器过滤规则的处理方式,不适合处理大规模海量的黑白名单过滤业务,无法满足实时性的处理要求。(5)安全域名服务器技术在BIND源码上进行了修改,破环了域名服务器的完整性。上述现有的恶意域名控制技术在可用性、通用性和可控性等方面都存在一定的问题,因此急需一种既不影响域名解析正常服务,又能保证安全的控制方法。
发明内容
本发明针对现有技术中存在的缺点和不足,提出了一种通过将中间件部署在运行DNS服务器软件(BIND 9)的服务器上,实现对恶意域名访问进行高效的阻断与隔离,同时,也对非法访问者进行有效的控制的对恶意域名和非法访问的控制方法及装置。
本发明可以通过以下措施达到:
一种对恶意域名和非法访问的控制方法,其特征在于包括以下步骤:
步骤1:建立黑/白名单索引数据库,包含域名黑/白名单和IP黑/白名单索引数据库,其中IP黑/白名单包括非法访问者IP地址和响应包资源记录中出现的IP地址;
步骤2:内核态协议栈捕获拦截模块获取服务器的DNS请求与应答数据流,并对其进行解析,获取包中的目的IP、请求域名、首部中的标识字段、以及资源记录中的IP地址;
步骤3:根据步骤2解析DNS数据包的结果,得到包的查询类型,根据不同的类型,转入各自的控制分支,类型包括A记录、A4记录、A6记录、反向解析;
步骤4:黑/白名单匹配,不同查询类型的DNS数据包都需使用黑/白名单管理模块进行规则的匹配,范围包括DNS请求包的源IP地址与其要请求解析的域名、DNS应答包的域名与其解析出的IP地址;
步骤5:根据步骤4中的查询结果对域名或IP地址进行控制和处理,如果查询结果是请求解析域名的主机IP、请求域名以及资源记录中的IP地址均不在黑名单中或者其中任一在白名单中,则将数据包交由内核态协议栈自动处理,如果查询结果为请求解析域名的主机IP地址、请求域名以及资源记录中的IP地址中有一项在黑名单中,则将应答包交由控制策略模块进行控制处理;
步骤6:将上述控制过程中生成的日志文件进行统计分析后,将统计分析结果存入DNS数据库,与DNS数据库相连接的管理端实现对系统的管理和结果的查看。
本发明步骤1所述建立黑/白名单索引数据库具体包括以下步骤:
步骤1-1:通过管理界面直接输入或采用文件批量,将待更新的域名或IP输入管理端的黑/白名单更新模块,管理界面将配置好的规则数据插入到DNS数据库;
步骤1-2:中间件启动线程,每隔1秒轮询查询DNS数据库,如果该数据库有规则更新,则提交给中间件, 并在内存中建立B树进行存储,并把每次更新的条目加入。
本发明步骤4具体包括以下步骤:
步骤4-1:首先判断拦截到的数据包是DNS请求包还是应答包,如果是应答包,则转步骤4-5;否则首先检查该请求包的源IP地址是否在IP白名单中,(1)根据IP地址生成两个整形哈希关键字Key1和Key2,用 Key1 对哈希桶数 MAXBUCKETS 取模,以此值为索引找到哈希表中的对应项,如果对应的 B 树不为空,以 Key2 为关键字查询 B树,寻找其相关索引项;(2)找到索引项后,给定IP地址与索引项对应列表中的IP地址一一比较以判断是否匹配。若存在一个完全匹配的IP地址,则对该包放行,中间件不对该包进行控制;否则转步骤4-2;
步骤4-2:使用如步骤4-1的方法在IP黑名单中查找,若找到一个完全匹配的IP地址,则返回存在标志和该项的控制规则,转到步骤5对该DNS请求包进行控制和处理,否则返回不存在标志;
步骤4-3:如果步骤4-2返回不存在标志,则检查中文、英文域名开关是否打开,如果打开,则判断该DNS请求包所请求域名是否在域名白名单中,具体包括:(1)根据输入的请求域名生成两个整形哈希关键字Key1和Key2,用 Key1 对哈希桶数 MAXBUCKETS 取模,以此值为索引找到哈希表中的对应项,如果对应的 B 树不为空,以 Key2 为关键字查询 B树,寻找其相关索引项;(2)找到索引项后,给定域名与索引项对应列表中的域名一一比较以判断其是否匹配,若存在一个完全匹配的域名,则该包放行,中间件不对其进行控制;否则转步骤4-4;
步骤4-4:使用如步骤4-3的方法在域名黑名单中查找,若找到一个完全匹配的域名,则转到步骤5对该DNS请求包进行控制和处理,否则对该包放行,中间件不对其进行控制;
步骤4-5:如果拦截到的数据包是DNS应答包,则需判断应答包的目的IP地址、域名和资源记录中的IP地址是否在相应的白名单和黑名单中,具体匹配过程与步骤4-1至步骤4-4相同,即首先判断应答包的目的IP地址是否在白名单和黑名单中;如果没有则判断应答包的域名是否在白名单和黑名单中;如果没有则要判断应答包资源记录解析到的IP地址是否在白名单和黑名单中,这一步与前两步不同的是,应答包的资源记录中的IP地址可能会有多个,需逐个进行匹配。
本发明步骤5中控制策略模块控制处理的具体包括:
步骤5-1:判断控制方式,并依据匹配到的结果取出规则策略,所述规则策略包括三种,分别为隔离与阻断、欺骗、重定向,如果为隔离与阻断策略,则直接丢弃该包,如果为欺骗策略,则返回查询结果不存在;如果为重定向策略,则返回重定向IP地址;
步骤5-2:日志记录生成,对每一个拦截到的数据包及中间件对其控制方式等信息生成相应的日志记录。
本发明步骤1讲述黑/白名单索引数据库的建立与更新,为保证匹配黑、白名单效率,系统设计了一种高效的内存索引结构,并且通过对索引结构的加锁,并实现黑、白名单库中的记录添加、删除、更新做到无缝操作其具体方法为:将黑名单或白名单库空间分成N组,同样将待更新的域名集合也分成N组,然后锁定黑名单库的一组数据,并将相应的待更新组更新到黑名单库中,假设更新这批数据的总时间为T,则经过分组后每组的更新时间为T/N,因此能够有效缩短黑名单库的单次锁定时间;另外,由于一次只锁定一组数据,那么在更新数据的同时,其他组的黑名单数据仍被允许查询,减小了因更新给查询带来的影响。
一种采用如上所述对恶意域名和非法访问的控制方法的装置,包括中间件,数据库模块,监控管理模块,管理端,其中中间件与监控管理模块以及数据库模块分别连接,数据库模块与管理端实现通信,其特征在于所述中间件包括内核态协议栈数据包拦截模块、用户态DNS解析模块、控制策略模块、黑/白名单索引数据库模块、黑/白名单匹配模块以及日志模块,其中所述内核态协议栈数据包拦截模块位于用户态DNS解析模块的前端,控制策略模块与用户态DNS解析模块的输出相连,控制策略模块的输出端与日志模块相连接,控制策略模块与黑/白名单匹配模块相连接,黑/白名单匹配模块与黑/白名单索引数据库模块相连接。
本发明中所述内核态协议栈数据包拦截模块,用于在内核态拦截DNS数据包,当DNS请求数据或应答数据被转发之前,先将其推送到用户空间实施安全控制处理,当用户空间的安全控制处理完毕后再将其推送回内核空间;所述用户态DNS解析模块,用于对内核态拦截到的数据包进行解析,得到相应信息后交由控制策略模块处理,所述控制策略模块,对黑名单内的域名或IP地址提供欺骗、重定向和丢弃三种控制策略,对白名单内的域名或IP地址采用直接放行的控制策略,并同时支持IPv4与IPv6的协议环境、支持四种资源记录类型、支持对中英文域名的管控,多种功能设置了功能开关灵活选用,控制策略模块重组的数据包再交由内核态转发,所述黑/白名单索引数据库模块,支持在系统内存中建立和更新索引数据库,存储控制规则,在中间件启动的时候,基于哈希B树结构的黑/白名单索引数据库在内存中建立并定时进行同步更新,确保其内容与外部DNS数据库一致,黑/白名单基于IP地址和域名的两种形式; IP地址又分为非法访问者IP地址和资源记录中出现的IP地址,所述黑/白名单匹配模块,配合控制策略模块进行黑/白名单的匹配;所述日志模块,产生管控日志和异常日志等,并对日志进行统计、分类与分析,得出一段时间内的热点安全事件,协助发现可疑域名、可疑服务器IP、可疑访问者IP。
本发明与现有技术相比,将安全DNS服务器中间件部署在运行DNS服务器软件(BIND 9)的服务器上,通过内核态协议栈的捕获来拦截获取DNS数据流量,并对其进行解析,同时针对解析的域名以及访问者IP地址进行实时的快速key-value的查找,按照预先设置的控制策略进行该用户态控制,再交由内核态协议栈自动处理。这种中间件的域名控制系统具有部署灵活、运行稳定、易维护等优点。除此之外,系统采用高效的黑名单建立及搜索算法,提高其存储和查找效率;采用黑名单无缝更新技术,保证在进行黑名单更新的同时,基本不影响域名解析服务,提高其可用性;系统支持IPv4与IPv6协议环境,支持的资源记录类型包括A、AAAA、A6以及PTR四种,支持中英文域名两种类型,并添加了7个功能开关,使用户能自主选择自己所需的控制功能;采用隔离、阻断、欺骗和重定向等多种方式实现对恶意域名和非法IP的分类控制,从通用性、可用性、可控性、安全性、及时性和有效性等多个角度提高域名服务的安全性。
附图说明:
附图1是本发明中中间件的结构框图。
附图2是本发明的结构框图。
附图3 是数据包拦截与解析控制流程图。
附图4 是DNS请求包黑/白名单匹配过程的流程图。
附图5 是DNS应答包黑/白名单匹配过程的流程图。
附图6 是本发明中黑名单查询流程图。
附图7是本发明中黑名单更新流程图。
附图标记:中间件1、管理端2、内核态协议栈数据包拦截模块3、黑/白名单匹配模块4、用户态DNS解析模块5、控制策略模块6、日志模块7、数据库模块8、黑/白名单索引数据库9、隔离与阻断策略模块10、欺骗策略模块11、重定向策略模块12、日志记录模块13、日志统计模块14、黑名单更新模块15、用户信息管理模块16、访问信息查询模块17、监控管理模块18。
具体实施方式:
下面结合附图对本发明作进一步的说明。
本发明针对现有技术的不足,提出一种能实现对恶意域名、非法访问进行高效控制的对恶意域名和非法访问的控制方法及装置,其中安全域名服务器中间件1部署在DNS服务器上,如附图1所示,包括内核态协议栈数据包拦截模块3、用户态DNS解析模块5,还设有黑/白名单匹配模块4、黑/白名单索引数据库9、控制策略模块6以及日志模块7。其中所述内核态协议栈数据包拦截模块3与用户态DNS解析模块5相连接,用户态DNS解析模块5与控制策略模块6相连,控制策略模块6与黑名单匹配模块4相连,黑名单匹配模块4与黑/白名单索引数据库9建立通信,黑名单匹配模块4的输出端与控制策略模块6相连,控制策略模块6与日志模块7相连,所述控制策略模块6内设有隔离与阻断策略模块10、欺骗策略模块11、重定向策略模块12,所述日志模块7内设有日志记录模块13以及日志统计模块14。
在实际实施过程中,针对用户域名解析请求的数据包依次经过内核态协议栈数据包拦截模块3、用户态DNS解析模块5与黑名单匹配模块4的处理后,根据处理结果,被送达控制策略模块6,其中控制策略模块6与日志模块7相连接,从而实现对控制策略操作的日志记录;
本发明如附图2所示,包括拥有上述结构的中间件1、用于实现对用户管理、域名管理和对结果进行查看分析的管理端2、用于存储用户对域名和IP地址的管控的规则条目和日志记录的数据库模块8,用于监测域名服务器和中间件功能和性能的监控管理模块18,在实际实施过程中,针对用户域名解析请求的应答包依次经过内核态协议栈数据包拦截模块3、用户态DNS解析模块5后由控制策略模块6处理,控制策略模块6把域名与IP地址送到黑名单匹配模块4处理,处理后返回控制策略模块6,其中控制策略模块6与日志模块7相连接,日志模块7与DNS数据库模块8相连接,从而实现将生成的日志记录写入DNS数据库模块8的操作,管理端2、黑/白名单索引数据库9分别与DNS数据库模块8相连接,从而实现根据DNS数据库模块8所存储信息进行对整个系统工作状态的监控、管理,监控管理模块18对所有管理的域名服务器当前的性能状况进行监控。
本发明中所述控制策略模块6设有七种功能开关,可根据需要打开或关闭某项功能,提高性能或验证功能可靠性。功能开关包括:中文DNS管控开关、英文DNS管控开关、A资源记录类型管控开关、AAAA资源记录类型管控开关、A6资源记录类型管控开关、正向解析管控开关和反向解析管控开关。控制策略模块6还设有三路信号处理模块,分别用于实现三种控制处理方式,包括隔离与阻断策略模块10、欺骗策略模块11、重定向策略模块12,当控制策略模块接收上一级送达的信息后,根据信息判断结果,选择相应的处理方式进行处理。
本发明中所述日志模块7内设有日志记录13及日志统计分析14两个模块,分别用于日志的写入以及对日志信息的统计分析。
本发明中所述管理端2内设有黑名单更新模块15、用户信息管理模块16及访问信息查询模块17,分别用于恶意域名或非法IP的更新、系统用户管理和日志记录统计分析结果的查看。
本发明还提出了一种基于上述安全域名服务器中间件的恶意域名、非法访问控制方法,其特征在于包括以下步骤:
步骤1:建立黑/白名单索引数据库,管理端2将域名和IP黑/白名单提交给DNS数据库模块8,由安全域名服务器中间件1建立黑名单索引数据库22,具体步骤为包括:
步骤a:通过管理端界面直接输入或者采用文件批量,将待更新域名或IP输入管理端2的黑名单更新模块15,
步骤b:管理端将界面提交的基于域名和IP地址的黑名单、白名单及其阻断规则提交到DNS数据库模块8。
步骤c:中间件1启动时,要与DNS数据库模块8连接,将数据库中的IP白名单、域名白名单、IP黑名单、域名黑名单依次取出,在内存中建立黑/白名单索引数据库9以B树进行存储。之后,使用线程每隔一秒轮询查询DNS数据库,如果该数据库有条目更新,则提交给中间件,把新加的条目更新到中间件的黑/白名单索引数据库9;
步骤2:中间件1通过内核态协议栈数据包拦截模块3获取服务器的DNS请求与应答数据流,提交给用户态DNS解析模块5对其进行解析,获取DNS数据包的首部标志位及请求者的IP地址、请求的域名与解析得到的IP地址列表;
步骤3:根据步骤2解析DNS数据包的结果,得到包的查询类型。根据不同的类型(A记录、A4记录、A6记录、反向解析),转入控制策略模块6的控制分支,具体流程如附图3所示。
步骤4:黑/白名单匹配,不同查询类型的DNS数据包都需使用黑/白名单匹配模块4对照步骤1生成的黑/白名单索引数据库9进行规则的匹配,范围包括DNS请求包的源IP地址与其请求解析的域名、DNS应答包的目的IP地址、域名与其解析出的IP地址。DNS请求包的黑/白名单匹配过程如附图4所示,DNS应答包的黑/白名单匹配过程如附图5所示,具体步骤包括:
步骤a:首先判断拦截到的数据包是DNS请求包还是应答包,如果是应答包,则转步骤e;否则首先检查该请求包的源IP地址是否在IP白名单中,具体步骤为:
步骤a1:根据IP地址生成两个整形哈希关键字Key1和Key2,用 Key1 对哈希桶数MAXBUCKETS 取模,以此值为索引找到哈希表中的对应项,如果对应的 B 树不为空,以Key2 为关键字查询 B树,寻找其相关索引项。
步骤a2:找到索引项后,给定IP地址与索引项对应列表中的IP地址一一比较以判断是否匹配。若存在一个完全匹配的IP地址,则对该包放行,中间件不对该包进行控制;否则转步骤b。
步骤b:使用上述同样方法(步骤a1)在IP黑名单中查找。若找到一个完全匹配的IP地址,则返回存在标志和该项的控制规则,转到步骤5对该DNS请求包进行控制和处理;否则返回不存在标志。
步骤c:如果步骤b返回不存在标志,则检查中文、英文域名开关是否打开。如果打开,则判断该DNS请求包所请求域名是否在域名白名单中,具体步骤如下:
步骤c1:根据输入的请求域名生成两个整形哈希关键字Key1和Key2,用 Key1 对哈希桶数 MAXBUCKETS 取模,以此值为索引找到哈希表中的对应项,如果对应的 B 树不为空,以 Key2 为关键字查询 B树,寻找其相关索引项。
步骤c2:找到索引项后,给定域名与索引项对应列表中的域名一一比较以判断其是否匹配,若存在一个完全匹配的域名,则该包放行,中间件不对其进行控制;否则转步骤d。
步骤d:使用上述同样方法(步骤c1)在域名黑名单中查找。若找到一个完全匹配的域名,则转到步骤5对该DNS请求包进行控制和处理;否则对该包放行,中间件不对其进行控制。
步骤e:如果拦截到的数据包是DNS应答包,则需判断应答包的目的IP地址、域名和资源记录中的IP地址是否在相应的白名单和黑名单中。具体匹配过程与步骤a、b、c、d相同,即首先判断应答包的目的IP地址是否在白名单和黑名单中;如果没有则判断应答包的域名是否在白名单和黑名单中;如果没有则要判断应答包资源记录解析到的IP地址是否在白名单和黑名单中,这一步与前两步不同的是,应答包的资源记录中的IP地址可能会有多个,需逐个进行匹配。附图5说明了DNS应答包黑/白名单匹配的过程。
步骤5:步骤4中的匹配结果返回控制策略模块6,对域名或IP地址进行控制和处理,如果查询结果是请求解析域名的主机IP、请求域名以及资源记录中的IP地址均不在黑名单中或者其中任一在白名单中,则将数据包交由内核态协议栈自动处理;如果查询结果为请求解析域名的主机IP地址、请求域名以及资源记录中的IP地址中有一项在黑名单中,则该将应答包交由控制策略模块进行控制处理,控制处理的具体步骤为:
步骤a:判断控制方式,并依据匹配到的结果取出规则策略所述规则策略包括三种,分别为隔离与阻断、欺骗、重定向,如果为隔离与阻断策略,则直接丢弃该包;如果为欺骗策略,则返回查询结果不存在;如果为重定向策略,则返回重定向IP地址。
步骤b:日志记录生成,对每一个拦截到的数据包及中间件对其控制方式等信息都由日志记录模块13生成相应的日志记录。
步骤5:通过日志统计分析模块14将步骤4中生成的日志文件进行统计分析后,将统计分析结果存入DNS数据库,与DNS数据库模块8相连接的管理端2实现对系统的管理和结果的查看。
附图4和图5分别是DNS请求包和应答包进行黑白名单匹配的过程,其中在黑/白名单索引数据库中查找域名或IP的过程如图6所示,包括如下操作步骤:
步骤a:根据读取的域名或IP生成两个整形的哈希关键字key1和key2。Key1: 确定该条目所对应的哈希桶。Key2: 确定该条目在B树中的索引项;
步骤b:根据Key1寻找HASH桶,如果找到转步骤c查找B树,否则返回R_NOTFOUND,结束。
步骤c:加相应B树锁;
步骤d:根据Key2在B树查找结点,如果找到返回R_FOUND,否则返回R_NOTFOUND;
步骤e:,解B树锁;结束。
黑名单更新如图7所示,包括如下操作步骤:
步骤a:输入待更新域名集合首地址;
步骤b:读取一条域名及其相关数据;
步骤c:根据读取的域名生成两个整形的哈希关键字key1和key2;
步骤d:根据key1对组数N取模的值将域名加入对应的分组链表;
步骤e:判断是否读取完毕,若结果为“否”,读取下一条域名及相关数据,并重复上述步骤c到步骤d,若结果为“是”,则锁定立即生效缓存即哈希链表结构;
步骤f:设定分组号初始化i=0;
步骤g:锁定黑名单库相应分组;
步骤h:将链表中的i中的域名逐一更新到对应的B树中;
步骤i:解锁黑名单库相应分组;
步骤j:判断i=i+1,i<N的结果,当结果为“是”,重复步骤g,当结果为“否”,完成更新。
在具体实施过程中,控制策略模块6控制处理黑/白名单中的域名或IP,系统设计了三种可配置的控制策略:隔离与阻断(丢弃该用户域名解析请求对应的应答包)、欺骗(重组该用户域名解析请求对应的应答包,重组后的应答包内容为“域名不存在”)、重定向(重组该用户域名解析请求对应的应答包,重组后的应答包内请求域名对应的IP地址为从黑名单配置查找到的预先设定的重定向IP地址),其中:
对采用隔离与阻断策略的域名或IP,控制策略模块6不再将该应答包传送回内核态。
对采用欺骗策略的域名或IP,具体实现过程可以通过DNS应答包重组技术,重组DNS应答报文,其中设置DNS头部的Flags部分的Reply Code,使其代表“No Such Name”应答包类型,以告知请求解析的用户该域名解析结果不存在,从而实现欺骗效果;
对采用重定向策略的域名或IP,需进行重新组包然后发送DNS应答报文,其中在应答包中封装相应的记录,同时设置记录对应的IP地址为黑名单索引库中查找到的该条域名或IP预设置的重定向IP地址,如果没有,则采用系统配置的默认重定向IP地址作为应答记录。这样请求解析的用户对该域名的访问将被重定向到指定的IP地址,从而实现重定向的控制策略。
本发明步骤5中所述日志的生成是指,在相应的DNS控制策略执行调用后,需要对控制操作、控制对象、控制内容、控制时间进行相应的日志记录。待记录内容包含用户的DNS请求信息,包含请求时间、用户的IP、请求的域名、控制策略、重定向的IP地址(采用重定向控制策略时),这些信息为日志分析系统提供了数据来源。实施过程中,要求记录日志不会导致DNS解析请求的能力大幅下降,DNS服务器每秒可处理几千个请求,对每个请求直接记录在磁盘上必然造成性能上的瓶颈,在此采用分时机制,先将日志记录暂时写入内存,然后根据配置的间隔时间再写入磁盘。
与此同时,对于日志文件,需要定时(如间隔一小时)统计域名解析日志文件,统计出单位时间段内的非法域名访问次数、访问者IP信息、可疑域名(去除黑名单中的非法域名、白名单中的可信域名外的其他域名)访问次数等用户关心的信息,根据日志统计模块的统计结果,构造统计报告,包括非法域名统计报告、可疑域名统计报告、非法访问者IP信息报告、可疑域名访问者IP信息报告、控制策略访问统计报告。
本发明与现有技术相比,将安全DNS服务器中间件部署在运行DNS服务器软件(BIND 9)的服务器上,通过内核态协议栈的捕获来拦截获取DNS数据流量,并对其进行解析,同时针对解析的域名以及访问者IP地址进行实时的快速key-value的查找,按照预先设置的控制策略进行该用户态控制,再交由内核态协议栈自动处理。这种中间件的域名控制系统具有部署灵活、运行稳定、易维护等优点。除此之外,系统采用高效的黑名单建立及搜索算法,提高其存储和查找效率;采用黑名单无缝更新技术,保证在进行黑名单更新的同时,基本不影响域名解析服务,提高其可用性;系统支持IPv4与IPv6协议环境,支持的资源记录类型包括A、AAAA、A6以及PTR四种,支持中英文域名两种类型,并添加了7个功能开关,使用户能自主选择自己所需的控制功能;采用隔离、阻断、欺骗和重定向等多种方式实现对恶意域名和非法IP的分类控制,从通用性、可用性、可控性、安全性、及时性和有效性等多个角度提高域名服务的安全性。

Claims (5)

1.一种对恶意域名和非法访问的控制方法,其特征在于包括以下步骤:
步骤1:建立黑/白名单索引数据库,包含域名黑/白名单和IP黑/白名单索引数据库,其中IP黑/白名单包括非法访问者IP地址和响应包资源记录中出现的IP地址;
步骤2:内核态协议栈捕获拦截模块获取服务器的DNS请求与应答数据流,并对其进行解析,获取包中的目的IP、请求域名、首部中的标识字段、以及资源记录中的IP地址;
步骤3:根据步骤2解析DNS数据包的结果,得到包的查询类型,根据不同的类型,转入各自的控制分支,类型包括A记录、A4记录、A6记录、反向解析;
步骤4:黑/白名单匹配,不同查询类型的DNS数据包都需使用黑/白名单管理模块进行规则的匹配,范围包括DNS请求包的源IP地址与其要请求解析的域名、DNS应答包的域名与其解析出的IP地址;
步骤5:根据步骤4中的查询结果对域名或IP地址进行控制和处理,如果查询结果是请求解析域名的主机IP、请求域名以及资源记录中的IP地址均不在黑名单中或者其中任一在白名单中,则将数据包交由内核态协议栈自动处理,如果查询结果为请求解析域名的主机IP地址、请求域名以及资源记录中的IP地址中有一项在黑名单中,则将应答包交由控制策略模块进行控制处理;
步骤6:将上述控制过程中生成的日志文件进行统计分析后,将统计分析结果存入DNS数据库,与DNS数据库相连接的管理端实现对系统的管理和结果的查看。
2.根据权利要求1所述的一种对恶意域名和非法访问的控制方法,其特征在于步骤1所述建立黑/白名单索引数据库具体包括以下步骤:
步骤1-1:通过管理界面直接输入或采用文件批量导入,将待更新的域名或IP输入管理端的黑/白名单更新模块,管理界面将配置好的规则数据插入到DNS数据库;
步骤1-2:中间件启动线程,每隔1秒轮询查询DNS数据库,如果该数据库有规则更新,则提交给中间件, 并在内存中建立B树进行存储,并把每次更新的条目加入。
3.根据权利要求1所述的一种对恶意域名和非法访问的控制方法,其特征在于步骤4具体包括以下步骤:
步骤4-1:首先判断拦截到的数据包是DNS请求包还是应答包,如果是应答包,则转步骤e;否则首先检查该请求包的源IP地址是否在IP白名单中,(1)根据IP地址生成两个整形哈希关键字Key1和Key2,用 Key1 对哈希桶数 MAXBUCKETS 取模,以此值为索引找到哈希表中的对应项,如果对应的 B 树不为空,以 Key2 为关键字查询 B树,寻找其相关索引项;(2)找到索引项后,给定IP地址与索引项对应列表中的IP地址一一比较以判断是否匹配,若存在一个完全匹配的IP地址,则对该包放行,中间件不对该包进行控制;否则转步骤4-2;
步骤4-2:使用如步骤4-1的方法在IP黑名单中查找,若找到一个完全匹配的IP地址,则返回存在标志和该项的控制规则,转到步骤5对该DNS请求包进行控制和处理,否则返回不存在标志;
步骤4-3:如果步骤4-2返回不存在标志,则检查中文、英文域名开关是否打开,如果打开,则判断该DNS请求包所请求域名是否在域名白名单中,具体包括:(1)根据输入的请求域名生成两个整形哈希关键字Key1和Key2,用 Key1 对哈希桶数 MAXBUCKETS 取模,以此值为索引找到哈希表中的对应项,如果对应的 B 树不为空,以 Key2 为关键字查询 B树,寻找其相关索引项;(2)找到索引项后,给定域名与索引项对应列表中的域名一一比较以判断其是否匹配,若存在一个完全匹配的域名,则该包放行,中间件不对其进行控制;否则转步骤4-4;
步骤4-4:使用如步骤4-3的方法在域名黑名单中查找,若找到一个完全匹配的域名,则转到步骤5对该DNS请求包进行控制和处理,否则对该包放行,中间件不对其进行控制;
步骤4-5:如果拦截到的数据包是DNS应答包,则需判断应答包的目的IP地址、域名和资源记录中的IP地址是否在相应的白名单和黑名单中,具体匹配过程与步骤4-1至步骤4-4相同,即首先判断应答包的目的IP地址是否在白名单和黑名单中;如果没有则判断应答包的域名是否在白名单和黑名单中;如果没有则要判断应答包资源记录解析到的IP地址是否在白名单和黑名单中,这一步与前两步不同的是,应答包的资源记录中的IP地址可能会有多个,需逐个进行匹配。
4.根据权利要求1所述的一种对恶意域名和非法访问的控制方法,其特征在于步骤5中控制策略模块控制处理的具体包括:
步骤5-1:判断控制方式,并依据匹配到的结果取出规则策略,所述规则策略包括三种,分别为隔离与阻断、欺骗、重定向,如果为隔离与阻断策略,则直接丢弃该包,如果为欺骗策略,则返回查询结果不存在;如果为重定向策略,则返回重定向IP地址;
步骤5-2:日志记录生成,对每一个拦截到的数据包及中间件对其控制方式等信息生成相应的日志记录。
5.一种采用如权利要求1-4中任意一项对恶意域名和非法访问的控制方法的装置,包括中间件,数据库模块,监控管理模块,管理端,其中中间件与监控管理模块以及数据库模块分别连接,数据库模块与管理端实现通信,其特征在于所述中间件包括内核态协议栈数据包拦截模块、用户态DNS解析模块、控制策略模块、黑/白名单索引数据库模块、黑/白名单匹配模块以及日志模块,其中所述内核态协议栈数据包拦截模块位于用户态DNS解析模块的前端,控制策略模块与用户态DNS解析模块的输出相连,控制策略模块的输出端与日志模块相连接,控制策略模块与黑/白名单匹配模块相连接,黑/白名单匹配模块与黑/白名单索引数据库模块相连接。
CN201310618133.0A 2013-11-29 2013-11-29 对恶意域名和非法访问的控制方法及装置 Expired - Fee Related CN103581363B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310618133.0A CN103581363B (zh) 2013-11-29 2013-11-29 对恶意域名和非法访问的控制方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310618133.0A CN103581363B (zh) 2013-11-29 2013-11-29 对恶意域名和非法访问的控制方法及装置

Publications (2)

Publication Number Publication Date
CN103581363A CN103581363A (zh) 2014-02-12
CN103581363B true CN103581363B (zh) 2017-12-12

Family

ID=50052270

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310618133.0A Expired - Fee Related CN103581363B (zh) 2013-11-29 2013-11-29 对恶意域名和非法访问的控制方法及装置

Country Status (1)

Country Link
CN (1) CN103581363B (zh)

Families Citing this family (56)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103973704B (zh) * 2014-05-23 2017-04-05 北京奇虎科技有限公司 基于wifi设备的域名解析方法、装置及系统
CN104092792A (zh) * 2014-07-15 2014-10-08 北京奇虎科技有限公司 基于域名解析请求来实现流量优化的方法及系统、客户端
CN104092698A (zh) * 2014-07-21 2014-10-08 北京网秦天下科技有限公司 对网络资源的访问控制方法及装置
CN104601557B (zh) * 2014-12-29 2018-12-21 广东顺德中山大学卡内基梅隆大学国际联合研究院 一种基于软件定义网络的恶意网站防护方法及系统
CN106341373B (zh) * 2015-07-09 2019-07-23 安一恒通(北京)科技有限公司 用于检测和阻止恶意点击广告链接的方法和装置
CN104994117A (zh) * 2015-08-07 2015-10-21 国家计算机网络与信息安全管理中心江苏分中心 一种基于dns解析数据的恶意域名检测方法及系统
CN105592046B (zh) * 2015-08-25 2019-04-12 新华三技术有限公司 一种免认证访问方法和装置
EP3151520B1 (en) * 2015-10-02 2020-03-18 Efficient IP SAS Quarantining an internet protocol address
CN112231606B (zh) * 2015-10-14 2024-03-12 创新先进技术有限公司 一种网页处理方法和装置
CN106936791B (zh) * 2015-12-31 2021-02-19 阿里巴巴集团控股有限公司 拦截恶意网址访问的方法和装置
CN105813083A (zh) * 2016-05-24 2016-07-27 中国联合网络通信集团有限公司 一种钓鱼wifi处理方法、装置、平台和系统
CN106302498B (zh) * 2016-08-25 2019-05-14 杭州汉领信息科技有限公司 一种基于登录参数的数据库准入防火墙系统
CN106549944A (zh) * 2016-10-17 2017-03-29 上海斐讯数据通信技术有限公司 一种基于Linux内核哈希表的域名过滤方法
CN106412100A (zh) * 2016-11-03 2017-02-15 天脉聚源(北京)科技有限公司 一种处理同一用户id的高频服务请求的方法及装置
CN106453436B (zh) * 2016-12-21 2019-05-31 北京奇虎科技有限公司 一种网络安全的检测方法和装置
US20180183799A1 (en) * 2016-12-28 2018-06-28 Nanning Fugui Precision Industrial Co., Ltd. Method and system for defending against malicious website
CN108418780A (zh) * 2017-02-10 2018-08-17 阿里巴巴集团控股有限公司 Ip地址的过滤方法及装置、系统、dns服务器
CN108632202A (zh) * 2017-03-16 2018-10-09 哈尔滨英赛克信息技术有限公司 一种海量数据包场景下的dns欺骗方法
CN109804610B (zh) * 2017-03-23 2022-05-13 柏思科技有限公司 限制具有网络功能的设备的数据流量传输的方法和系统
CN107135203B (zh) * 2017-04-05 2019-03-08 北京明朝万达科技股份有限公司 一种终端访问控制策略优化的方法及系统
CN107018144A (zh) * 2017-05-05 2017-08-04 四川长虹电器股份有限公司 一种短地址安全校验系统及方法
CN106899711A (zh) * 2017-05-09 2017-06-27 南京赢纳信息科技有限公司 一种基于Linux的动态域名解析模块及其黑白名单实现方法
CN107094153A (zh) * 2017-06-06 2017-08-25 青岛海信移动通信技术股份有限公司 终端访问网站的方法及系统、终端
CN109246256A (zh) * 2017-07-10 2019-01-18 中国电信股份有限公司 域名解析方法和系统、授信域名系统服务器
CN107395643B (zh) * 2017-09-01 2020-09-11 天津赞普科技股份有限公司 一种基于扫描探针行为的源ip保护方法
CN107645503B (zh) * 2017-09-20 2020-01-24 杭州安恒信息技术股份有限公司 一种基于规则的恶意域名所属dga家族的检测方法
CN107948127A (zh) * 2017-09-27 2018-04-20 北京知道未来信息技术有限公司 一种基于回馈和监督学习的waf检测方法及系统
CN107623693B (zh) * 2017-09-30 2021-03-19 北京奇虎科技有限公司 域名解析防护方法及装置、系统、计算设备、存储介质
CN109756454B (zh) * 2017-11-03 2022-01-11 阿里巴巴集团控股有限公司 数据交互的方法、装置和系统
CN107707569A (zh) * 2017-11-10 2018-02-16 北京知道创宇信息技术有限公司 Dns请求处理方法及dns系统
CN108023877B (zh) * 2017-11-20 2020-10-30 烽火通信科技股份有限公司 一种基于家庭网关实现防火墙域名控制的系统方法
CN109922030B (zh) * 2017-12-13 2021-11-19 南京领创信息科技有限公司 基于Android设备的全局网络访问控制方法
CN109688236B (zh) * 2018-01-26 2021-07-30 北京微步在线科技有限公司 Sinkhole域名处理方法及服务器
CN108600405A (zh) * 2018-03-14 2018-09-28 中国互联网络信息中心 一种加速dns解析软件日志记录的方法和系统
CN109413015B (zh) * 2018-04-28 2021-06-08 武汉思普崚技术有限公司 一种dns劫持的防御方法和装置
CN110445743A (zh) * 2018-05-02 2019-11-12 福建天晴数码有限公司 一种检测服务端非法请求的方法和系统
CN108777709A (zh) * 2018-05-31 2018-11-09 康键信息技术(深圳)有限公司 网站访问方法、装置、计算机设备和存储介质
US10911460B2 (en) * 2018-07-02 2021-02-02 Juniper Networks, Inc. Methods and devices for blocking, detecting, and/or preventing malicious traffic
CN108737452B (zh) * 2018-08-09 2021-03-12 孙晨 基于dns协议的访问控制和病毒防御方法和系统
CN109361658B (zh) * 2018-09-26 2021-04-23 杭州安恒信息技术股份有限公司 基于工控行业的异常流量信息存储方法、装置及电子设备
CN109688117B (zh) * 2018-12-11 2021-10-15 国家电网公司信息通信分公司 一种大容量ip地址拦截方法和设备
CN110868379B (zh) * 2018-12-19 2021-09-21 北京安天网络安全技术有限公司 基于dns解析报文的入侵威胁指标拓展方法、装置及电子设备
CN110336782A (zh) * 2019-05-09 2019-10-15 苏州乐米信息科技股份有限公司 数据访问安全认证方法及系统
CN110336805B (zh) * 2019-06-27 2022-02-08 维沃移动通信有限公司 网络访问管理方法和移动终端
CN110661799B (zh) * 2019-09-24 2020-11-20 北京安信天行科技有限公司 一种arp欺骗行为的检测方法及系统
CN110855543B (zh) * 2019-10-24 2021-05-28 广西信恒科技有限公司 基于云技术的网址过滤方法及装置
CN111538984B (zh) * 2020-04-17 2023-04-25 南京东科优信网络安全技术研究院有限公司 一种可信白名单快速匹配装置与方法
TWI811545B (zh) * 2020-05-18 2023-08-11 安碁資訊股份有限公司 域名系統中惡意域名的偵測方法與偵測裝置
CN111953702B (zh) * 2020-08-19 2022-11-22 深信服科技股份有限公司 一种网络访问的控制方法及相关装置
CN111988447A (zh) * 2020-09-01 2020-11-24 北京微步在线科技有限公司 网络安全防护方法及dns递归服务器
CN113242152B (zh) * 2021-06-07 2022-11-08 四川九州电子科技股份有限公司 一种基于光网络批量升级数据终端的方法
CN113329036B (zh) * 2021-08-02 2021-11-05 南京大数据集团有限公司 一种黑名单系统工作方法
CN113660275B (zh) * 2021-08-18 2023-02-24 中国电信股份有限公司 域名系统请求的处理方法、装置、电子设备和存储介质
CN113794733A (zh) * 2021-09-26 2021-12-14 杭州安恒信息技术股份有限公司 一种请求处理方法、装置、设备及存储介质
CN114143083B (zh) * 2021-11-30 2023-11-14 北京天融信网络安全技术有限公司 黑名单策略匹配方法、装置、电子设备及存储介质
CN114640515A (zh) * 2022-03-09 2022-06-17 京东科技信息技术有限公司 基于流量阻断的数据处理方法、装置及相关设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170585A (zh) * 2007-11-13 2008-04-30 中兴通讯股份有限公司 一种域名查询方法
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
CN102291268A (zh) * 2011-09-23 2011-12-21 杜跃进 一种安全域名服务器及基于此的恶意域名监控系统和方法
CN103327025A (zh) * 2013-06-28 2013-09-25 北京奇虎科技有限公司 网络访问控制方法及装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120084423A1 (en) * 2010-10-04 2012-04-05 Openwave Systems Inc. Method and system for domain based dynamic traffic steering

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101170585A (zh) * 2007-11-13 2008-04-30 中兴通讯股份有限公司 一种域名查询方法
CN101572701A (zh) * 2009-02-10 2009-11-04 中科正阳信息安全技术有限公司 针对DNS服务的抗DDoS攻击安全网关系统
CN101702660A (zh) * 2009-11-12 2010-05-05 中国科学院计算技术研究所 异常域名检测方法及系统
CN102291268A (zh) * 2011-09-23 2011-12-21 杜跃进 一种安全域名服务器及基于此的恶意域名监控系统和方法
CN103327025A (zh) * 2013-06-28 2013-09-25 北京奇虎科技有限公司 网络访问控制方法及装置

Also Published As

Publication number Publication date
CN103581363A (zh) 2014-02-12

Similar Documents

Publication Publication Date Title
CN103581363B (zh) 对恶意域名和非法访问的控制方法及装置
CN103634315B (zh) 域名服务器的前端控制方法及系统
CN106559382B (zh) 基于opc协议的安全网关防护系统访问控制方法
US11570173B2 (en) Behavioral baselining from a data source perspective for detection of compromised users
US8683035B2 (en) Attributes of captured objects in a capture system
US8010689B2 (en) Locational tagging in a capture system
CN102291268B (zh) 一种基于安全域名服务器系统的恶意域名监控方法
CN100556031C (zh) 智能集成网络安全设备
US8887249B1 (en) Protecting against denial of service attacks using guard tables
US20110047610A1 (en) Modular Framework for Virtualization of Identity and Authentication Processing for Multi-Factor Authentication
CN109791594A (zh) 为了在多个不可变数据结构上持续存储而对数据进行分段
KR101236822B1 (ko) Arp록킹 기능을 이용한 arp스푸핑 공격 탐지 방법과 그 방법을 실행하기 위한 프로그램이 기록된 기록매체
CN108616544B (zh) 用于检测对域名系统记录系统的更新的方法、系统和介质
US8549581B1 (en) Distributed network security system deploying guard tables
CN105229597A (zh) 分布式特征收集与关联引擎
CN108243143A (zh) 一种基于web代理的网闸穿透方法及系统
EP3332533B1 (en) Parallel detection of updates to a domain name system record system using a common filter
US11757755B1 (en) Techniques for in-band topology connections in a proxy
US20230334140A1 (en) Management of applications’ access to data resources
Yang et al. An SDN‐based MTD model
US11770377B1 (en) Non-in line data monitoring and security services
CN112311776B (zh) 一种防范api网关泛洪攻击的系统及方法
CN108924101A (zh) 一种数据库的操作方法及相关设备
CN1649346A (zh) 网络应用层攻击的检测、过滤、阻断和记录的方法
WO2021034441A1 (en) Intruder detection for a network

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Zhang Zhaoxin

Inventor after: Xu Haiyan

Inventor after: Yan Jianen

Inventor after: Li Ting

Inventor after: Guo Chengqing

Inventor after: Li Zhengmin

Inventor after: Huang Daochao

Inventor before: Zhang Zhaoxin

Inventor before: Xu Haiyan

Inventor before: Li Ting

Inventor before: Yan Jianen

Inventor before: Chi Lejun

Inventor before: Li Bin

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20171109

Address after: 264200 Weihai Cultural Road West, Shandong, No. 2

Applicant after: HARBIN INSTITUTE OF TECHNOLOGY (WEIHAI)

Address before: 264209 Weihai Cultural Road West, Shandong, No. 2

Applicant before: Du Yuejin

GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20171212