基于布隆过滤器的威胁检测方法和系统技术方案

技术编号:28126187 阅读:24 留言:0更新日期:2021-04-19 11:40
本申请涉及一种基于布隆过滤器的威胁检测方法和系统;所述方法包括:DNS服务器将接收到的DNS请求发送到布隆过滤器;布隆过滤器对DNS请求进行筛选,将DNS请求分为非威胁请求和疑似威胁请求;将非威胁请求返回到DNS服务器,将疑似威胁请求发送到威胁数据库;威胁数据库对疑似威胁请求进行查询,并将查询结果发送到DNS服务器;DNS服务器对非威胁请求进行正常响应,丢弃威胁请求。本申请方案通过在DNS服务器与威胁情报系统之间布置布隆过滤器,在执行代价较大的威胁数据查询前进行一次过滤,布隆过滤器能够将大部分的非威胁请求过滤掉,使其直接继续进行DNS相关的解析;这样就能够减少非威胁域名的查询操作,保证在不漏判威胁域名的情况下提升DNS服务性能。情况下提升DNS服务性能。情况下提升DNS服务性能。

【技术实现步骤摘要】
基于布隆过滤器的威胁检测方法和系统


[0001]本申请涉及域名解析
,具体涉及一种基于布隆过滤器的威胁检测方法和系统。

技术介绍

[0002]当前的DNS服务器开始与威胁情报系统(以下简称为TI)联动,可承担一定威胁拦截的职责,这样的应用开始变得更加普遍和成熟。另一方面,TI的体量也比较大,所以具体实现上,DNS服务器通常是与它解耦的。这也带来维护上的便利,但同时需要着重考虑性能上是否能够满足需求,因为跨进程甚至是跨设备的威胁信息查询必然会带来性能上的损失。
[0003]相关技术中,在使用DNS服务器与TI相联动的系统中,大部分的域名请求都不会在威胁数据库(TI内)中查询到,而这样大量的无效查询拖累了整个系统的性能。

技术实现思路

[0004]为至少在一定程度上克服相关技术中存在的问题,本申请提供一种基于布隆过滤器的威胁检测方法和系统。
[0005]根据本申请实施例的第一方面,提供一种基于布隆过滤器的威胁检测方法,包括:
[0006]DNS服务器将接收到的DNS请求发送到布隆过滤器;
[0007]布隆过滤器对DNS请求进行筛选,将DNS请求分为非威胁请求和疑似威胁请求;
[0008]将非威胁请求返回到DNS服务器,将疑似威胁请求发送到威胁数据库;
[0009]威胁数据库对疑似威胁请求进行查询,并将查询结果发送到DNS服务器;
[0010]DNS服务器对非威胁请求进行正常响应,丢弃威胁请求。
[0011]进一步地,所述方法还包括:r/>[0012]服务器与威胁数据库之间约定有过滤表的同步协议,所述同步协议约定一个同步周期,所述同步周期等于威胁数据库更新数据的周期;
[0013]在每个同步周期,DNS服务器的独立线程向威胁数据库请求过滤表;所述过滤表由威胁数据库定期生成,内容为当前全量威胁数据;
[0014]DNS服务器端收到过滤表后通过哈希算法生成对应的位向量。
[0015]进一步地,DNS服务器的过滤表的有效期是所述同步协议约定的同步周期。
[0016]进一步地,所述布隆过滤器对DNS请求进行筛选,包括:
[0017]通过所述位向量对DNS请求进行匹配;
[0018]如果未命中,则该DNS请求为非威胁请求;如果命中,则该DNS请求为疑似威胁请求。
[0019]根据本申请实施例的第二方面,提供一种基于布隆过滤器的威胁检测系统,包括:
[0020]DNS服务器,用于将接收到的DNS请求发送到布隆过滤器;
[0021]布隆过滤器,用于对DNS请求进行筛选,将DNS请求分为非威胁请求和疑似威胁请
求;将非威胁请求返回到DNS服务器,将疑似威胁请求发送到威胁数据库;
[0022]威胁数据库,用于对疑似威胁请求进行查询,并将查询结果发送到DNS服务器;
[0023]DNS服务器还用于对非威胁请求进行正常响应,丢弃威胁请求。
[0024]进一步地,所述服务器与所述威胁数据库之间约定有过滤表的同步协议,所述同步协议约定一个同步周期,所述同步周期等于威胁数据库更新数据的周期;
[0025]在每个同步周期,DNS服务器的独立线程向威胁数据库请求过滤表;所述过滤表由威胁数据库定期生成,内容为当前全量威胁数据;
[0026]DNS服务器端收到过滤表后通过哈希算法生成对应的位向量。
[0027]进一步地,所述DNS服务器的过滤表的有效期是所述同步协议约定的同步周期。
[0028]进一步地,所述布隆过滤器用于对DNS请求进行筛选,具体包括:
[0029]通过所述位向量对DNS请求进行匹配;
[0030]如果未命中,则该DNS请求为非威胁请求;如果命中,则该DNS请求为疑似威胁请求。
[0031]本申请的实施例提供的技术方案具备以下有益效果:
[0032]本申请方案通过在DNS服务器与威胁情报系统之间布置布隆过滤器,在执行代价较大的威胁数据查询前进行一次过滤,布隆过滤器能够将大部分的非威胁请求过滤掉,使其直接继续进行DNS相关的解析;疑似威胁请求会穿过过滤器,再与威胁情报系统进行通信来查询;这样就能够减少非威胁域名的查询操作,保证在不漏判威胁域名的情况下提升DNS服务性能。
[0033]应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
[0034]此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
[0035]图1是根据一示例性实施例示出的一种基于布隆过滤器的威胁检测方法的流程图。
[0036]图2是根据一示例性实施例示出的一种基于布隆过滤器的威胁检测系统的流程示意图。
具体实施方式
[0037]这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的方法和装置的例子。
[0038]图1是根据一示例性实施例示出的一种基于布隆过滤器的威胁检测方法的流程图。该方法可以包括以下步骤:
[0039]步骤S1:DNS服务器将接收到的DNS请求发送到布隆过滤器;
[0040]步骤S2:布隆过滤器对DNS请求进行筛选,将DNS请求分为非威胁请求和疑似威胁
请求;
[0041]步骤S3:将非威胁请求返回到DNS服务器,将疑似威胁请求发送到威胁数据库;
[0042]步骤S4:威胁数据库对疑似威胁请求进行查询,并将查询结果发送到DNS服务器;
[0043]步骤S5:DNS服务器对非威胁请求进行正常响应,丢弃威胁请求。
[0044]本申请方案通过在DNS服务器与威胁情报系统之间布置布隆过滤器,在执行代价较大的威胁数据查询前进行一次过滤,布隆过滤器能够将大部分的非威胁请求过滤掉,使其直接继续进行DNS相关的解析;疑似威胁请求会穿过过滤器,再与威胁情报系统进行通信来查询;这样就能够减少非威胁域名的查询操作,保证在不漏判威胁域名的情况下提升DNS服务性能。
[0045]应当理解的是,虽然图1的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本申请方案中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,图1中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。
[0046]为进一步详述本申请的技术方案,首先具体解释布隆过滤器。<本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种基于布隆过滤器的威胁检测方法,其特征在于,包括:DNS服务器将接收到的DNS请求发送到布隆过滤器;布隆过滤器对DNS请求进行筛选,将DNS请求分为非威胁请求和疑似威胁请求;将非威胁请求返回到DNS服务器,将疑似威胁请求发送到威胁数据库;威胁数据库对疑似威胁请求进行查询,并将查询结果发送到DNS服务器;DNS服务器对非威胁请求进行正常响应,丢弃威胁请求。2.根据权利要求1所述的方法,其特征在于,还包括:服务器与威胁数据库之间约定有过滤表的同步协议,所述同步协议约定一个同步周期,所述同步周期等于威胁数据库更新数据的周期;在每个同步周期,DNS服务器的独立线程向威胁数据库请求过滤表;所述过滤表由威胁数据库定期生成,内容为当前全量威胁数据;DNS服务器端收到过滤表后通过哈希算法生成对应的位向量。3.根据权利要求2所述的方法,其特征在于:DNS服务器的过滤表的有效期是所述同步协议约定的同步周期。4.根据权利要求2所述的方法,其特征在于,所述布隆过滤器对DNS请求进行筛选,包括:通过所述位向量对DNS请求进行匹配;如果未命中,则该DNS请求为非威胁请求;如果命中,则该DNS请求为疑似威胁请求。5.一种基于布隆过滤器的...

【专利技术属性】
技术研发人员:陈超孙浩然吴琦邢志杰毛伟
申请(专利权)人:互联网域名系统北京市工程研究中心有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1