数据报文的检测方法及装置的制作方法

文档序号:7871326阅读:163来源:国知局
专利名称:数据报文的检测方法及装置的制作方法
技术领域
本发明涉及网络安全领域,具体而言,涉及一种数据报文的检测方法及装置。
背景技术
肉鸡就是被黑客攻破,种植了木马病毒的电脑,黑客可以随意操纵它并利用它做任何事情,就像傀偏一样。通常情况下,如果DNS请求包小于512字节用UDP协议,只有大于512字节的请求包才会采用TCP协议进行传输。UDP本身是无连接的,DNS请求也是无连接的,在用UDP协议做DNS请求时,通常是一应一答的方式,客户端向服务器发送一个Query包,服务器回应 一个 Request 包。随着互联网的迅猛发展,同时由于域名资源的投资需要,网络上的合法域名不断增加,合法域名的字符组成甚至可以没有明显的语法规范和字符分布规律,导致将随机构造的域名与真实存在的域名精确高效地区分开来十分困难。本发明主要解决的问题就是由于DNS请求时使用UDP协议本身的无连接性、以及真假域名不易分辨的特性,导致黑客利用少量肉鸡就可以对DNS服务器进行DNS随机请求攻击就可以造成DNS服务器的DD0S,攻击成本较低,而无需像流量型DDOS攻击那样需要消耗大量肉鸡资源。DOS (Denial of Service)为拒绝服务,凡是导致合法用户不能正常访问网络服务的行为都算是拒绝服务攻击;DDOS (Distributed Denial of Service)即分布式拒绝服务,DDOS主要是通过大量的“僵尸主机”向受害主机发送大量看似合法的网络包,从而造成网络阻塞或者服务器资源耗尽而导致拒绝服务,分布式拒绝服务攻击一旦实施,攻击网络就会像洪水般涌向受害主机,从而把合法用户的网络包淹没,导致合法用户无法正常访问服务器资源。因此,拒绝服务攻击又被称作“泛洪攻击”。UDP Flood是日益猖獗的流量型D0S/DD0S攻击,常见的情况是利用大量的UDP(用户数据包协议)小包冲击DNS服务器或Radius认证服务器、流媒体视频服务器。由于UDP是无连接的协议,因此攻击者可以仿造无数个IP地址发送数据包。DNS随机请求攻击采用的方法是向被攻击的服务器发送大量的UDP随机域名解析请求,这些请求解析的域名通常是随机生成或者是网络世界上根本不存在的域名,被攻击的DNS服务器在接收到这种域名解析请求的时候首先会在服务器上查找是否有对应的缓存,如果查找不到并且.该域名无法直接由服务器解析的时候,DNS服务器会向其上层DNS服务器递归查询域名信息。域名解析的过程给服务器带来了很大的负载,每秒钟随机域名解析请求超过一定的数量就会造成DNS服务器解析域名超时,从而导致合法用户无法正常访问DNS服务器。根据微软的统计数据,一台DNS服务器所能承受的动态域名查询的上限是每秒钟9000个请求,而在一台P3的PC机上可以轻易地构造出每秒钟几万个随机域名解析请求,足以使一台硬件配置极高的DNS服务器瘫痪,由此可见DNS服务器的脆弱性。
为了使合法用户正常访问DNS服务器,现有技术可以通过防护设备做基于访问频率的限速功能来限制对服务器的访问量,该技术主要是基于访问频率的阈值的限制,当访问频率达到用户设定的阈值后,便丢弃后续数据。假如用户设置的阈值为N (次)/秒,当流经防火墙的DNS的请求次数达到N次/秒这个频率后,防火墙会丢弃超过这个阈值的DNS请求包;如图I所示,防火墙不会去识别是否是DDOS的攻击流量,则防火墙虽然屏蔽掉了一部分攻击流量对DNS服务器的访问,但是同时也使一部分正常流量不能正常访问DNS服务器。在上述解决方案中,防火墙识别攻击流量不够准确,会导致大量的攻击流量流向服务器,同时会丢弃大量正常访问流量,而且由于网络中充斥着大量攻击流量,低于用户设置阈值的流量里大部分也是攻击流量,用户设置的阈值固定,会导致大量正常访问被阻断,攻击流量的攻击效果没有减缓。另外,还可以通过增加DNS服务器的冗余设备来来增加服务带宽,以保障正常服务的提供,但是这样会大大增加运营成本,随着黑客用来攻击的肉鸡数量的增加,需要增加 更多的带宽和冗余设备数量。针对现有技术中防火墙无法准确识别非法数据报文,导致大量的非法数据报文流向服务器,从而导致合法用户无法正常访问DNS服务器的问题,目前尚未提出有效的解决方案。

发明内容
针对相关技术防火墙无法准确识别攻击流量,导致大量的攻击流量流向服务器,从而导致合法用户无法正常访问DNS服务器的问题,目前尚未提出有效的解决方案,为此,本发明的主要目的在于提供一种数据报文的检测方法及装置,以解决上述问题。为了实现上述目的,根据本发明的一个方面,提供了一种数据报文的检测方法,该方法包括读取接收到的第一数据报文的域名参数;将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值,其中,预设域名参数为预先设定的合法数据报文的域名参数;判断随机程度分值是否大于阻断阈值;以及在随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文。进一步地,在读取接收到的第一数据报文的域名参数之前,方法包括获取通过防火墙的初始数据报文;判断是否成功获取到与初始数据报文对应的报文响应;当确定成功获取到与初始数据报文对应的报文响应时,将初始数据报文的域名参数作为预设域名参数。进一步地,预设域名参数保存在域名库中,第一数据报文的域名参数包括顶级域名、二级域名以及三级域名,其中,将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值的步骤包括检测域名库中是否存在与第一数据报文的顶级域名相同的预设域名参数,其中,在域名库中存在与第一数据报文的顶级域名相同的预设域名参数的情况下,第一数据报文的第一随机程度参数为零,在域名库中不存在与第一数据报文的顶级域名相同的预设域名参数的情况下,将第一数据报文的第一随机程度参数设置为阻断阈值;检测域名库中是否存在与第一数据报文的二级域名相同的预设域名参数,其中,在域名库中存在与第一数据报文的二级域名相同的预设域名参数的情况下,第一数据报文的第二随机程度参数为零,在域名库中不存在与第一数据报文的二级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第二随机程度参数 S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,Fblock 为阻断阈值,Ql 为阻断阈值的权重参数,LI为二级域名与域名库中第一匹配域名参数的相同部分的长度,L2为二级域名与第一匹配域名参数的不同部分的长度,Q2为LI的权重参数,Q3为LI的权重参数,Pl为二级域名的字符分布参数,Q4为二级域名的字符分布参数的权重参数,第一匹配域名参数为域名库中与二级域名不完全相同的预设域名参数;检测域名库中是否存在与第一数据报文的三级域名相同的预设域名参数,其中,在域名库中存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q5,其中,L3为三级域名的长度,Q5为L3的第一权重参数;在域名库中不存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q6+P2*Q7,其中,Q6为L3的第二权重参数,P2为三级域名的字符分布参数,Q7为三级域名的字符分布参数的权重参数,第二匹配域名参数为域名库中与三级域名不完全相同的预设域名参数;通过如下公式计算随机程度分值Fr Fr=Sl+S2+S3+L*Q8,其中,SI为第一随机程度参数,S2为第二随机程度参数,S3为第三随机 程度参数,Q8为随机程度参数的权重参数,L为第一数据报文的域名的总长度。进一步地,第一数据报文为多个,其中,将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值的步骤包括将多个第一数据报文保存在数据报文集中;当将第一个第一数据报文保存在数据报文集中时,开始计时,以获取保存时间;检测保存时间是否达到预设保存时间;在保存时间达到预设保存时间时,获取数据报文集中第一数据报文的报文数量;计算报文数量与保存时间的比值,以获取数据报文集的访问频率;比较访问频率与访问阈值的大小;在访问频率小于访问阈值的情况下,确定第一数据报文为合法的数据报文;在访问频率大于或等于访问阈值的情况下,将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值。进一步地,在判断随机程度分值是否大于阻断阈值之前,方法还包括对数据报文集中的所有第一数据报文的随机程度分值进行求平均值计算,以获取随机程度平均值;通过如下公式对阻断阈值进行反馈控制计算,以获取处理后的阻断阈值Fblock =Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,Finit为阻断阈值的初始值,Faccess为访问频率,Frandom为随机程度平均值,Q9为预设的访问频率的权重参数,QlO为预设的随机程度平均值的权重参数。进一步地,第一数据报文的域名参数包括域名名称,其中,在将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值之前,方法还包括检测域名库中是否存在第一数据报文的域名名称;在预设域名库中存在域名名称的情况下,确定第一数据报文为合法的数据报文。进一步地,当确定成功获取到与初始数据报文对应的报文响应时,将初始数据报文的域名参数作为预设域名参数的步骤包括当确定成功获取到与初始数据报文对应的报文响应时,将与初始数据报文对应的报文响应保存在域名库中。进一步地,在在预设域名库中存在域名名称的情况下,确定第一数据报文为合法的数据报文之后,方法还包括将与第一数据报文相对应的报文响应发送给客户端。为了实现上述目的,根据本发明的一个方面,提供了一种数据报文的检测装置,该装置包括第一读取模块,用于读取接收到的第一数据报文的域名参数;第一处理模块,用于将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值,其中,预设域名参数为预先设定的合法数据报文的域名参数;第二处理模块,用于判断随机程度分值是否大于阻断阈值;以及第三处理模块,用于在随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文。进一步地,装置包括第一获取模块,用于获取通过防火墙的初始数据报文;第一判断模块,用于判断是否成功获取到与初始数据报文对应的报文响应;第四处理模块,用于当确定成功获取到与初始数据报文对应的报文响应时,将初始数据报文的域名参数作为预设域名参数。进一步地,预设域名参数保存在域名库中,第一数据报文的域名参数包括顶级域名、二级域名以及三级域名,其中,第二处理模块包括第一检测模块,用于检测域名库、中是否存在与第一数据报文的顶级域名相同的预设域名参数;第一计算模块,用于在域名库中存在与第一数据报文的顶级域名相同的预设域名参数的情况下,第一数据报文的第一随机程度参数为零;第二计算模块,用于在域名库中不存在与第一数据报文的顶级域名相同的预设域名参数的情况下,将第一数据报文的第一随机程度参数设置为阻断阈值;第二检测模块,用于检测域名库中是否存在与第一数据报文的二级域名相同的预设域名参数;第三计算模块,用于在域名库中存在与第一数据报文的二级域名相同的预设域名参数的情况下,第一数据报文的第二随机程度参数为零;第四计算模块,用于在域名库中不存在与第一数据报文的二级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第二随机程度参数 S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,Fblock 为阻断阈值,Ql为阻断阈值的权重参数,LI为二级域名与域名库中第一匹配域名参数的相同部分的长度,L2为二级域名与第一匹配域名参数的不同部分的长度,Q2为LI的权重参数,Q3为LI的权重参数,Pl为二级域名的字符分布参数,Q4为二级域名的字符分布参数的权重参数,第一匹配域名参数为域名库中与二级域名不完全相同的预设域名参数;第三检测模块,用于检测域名库中是否存在与第一数据报文的三级域名相同的预设域名参数;第五计算模块,用于在域名库中存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q5,其中,L3为三级域名的长度,Q5为L3的第一权重参数;第六计算模块,用于在域名库中不存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q6+P2*Q7,其中,Q6为L3的第二权重参数,P2为三级域名的字符分布参数,Q7为三级域名的字符分布参数的权重参数,第二匹配域名参数为域名库中与三级域名不完全相同的预设域名参数;第七计算模块,用于通过如下公式计算随机程度分值Fr Fr=Sl+S2+S3+L*Q8,其中,SI为第一随机程度参数,S2为第二随机程度参数,S3为第三随机程度参数,Q8为随机程度参数的权重参数,L为第一数据报文的域名的总长度。进一步地,第一数据报文为多个,其中,第一处理模块还包括存储模块,用于将多个第一数据报文保存在数据报文集中;计时模块,用于当将第一个第一数据报文保存在数据报文集中时,开始计时,以获取保存时间;第四检测模块,用于检测保存时间是否达到预设保存时间;第二获取模块,用于在保存时间达到预设保存时间时,获取数据报文集中第一数据报文的报文数量;第八计算模块,用于计算报文数量与保存时间的比值,以获取数据报文集的访问频率;比较模块,用于比较访问频率与访问阈值的大小;第五处理模块,用于在访问频率小于访问阈值的情况下,确定第一数据报文为合法的数据报文;第六处理模块,用于在访问频率大于或等于访问阈值的情况下,将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值。进一步地,装置还包括第九计算模块,用于对数据报文集中的所有第一数据报文的随机程度分值进行求平均值计算,以获取随机程度平均值;第十计算模块,用于通过如下公式对阻断阈值进行反馈控制计算,以获取处理后的阻断阈值Fblock Fblock=Finit-Faccess*Q9+Frandom*Q10,其中,Finit为阻断阈值的初始值,Faccess为访问频率,Frandom为随机程度平均值,Q9为预设的访问频率的权重参数,QlO为预设的随机程度平均值的权重参数。进一步地,第一数据报文的域名参数包括域名名称,其中,装置还包括第五检测模块,用于检测域名库中是否存在第一数据报文的域名名称;第七处理模块,用于在预设域名库中存在域名名称的情况下,确定第一数据报文为合法的数据报文。进一步地,第四处理模块包括第八处理模块,用于当确定成功获取到与初始数据报文对应的报文响应时,将与初始数据报文对应的报文响应保存在域名库中。进一步地,装置还包括发送模块,用于将与第一数据报文相对应的报文响应发送给客户端。通过本发明,通过对预设的合法数据报文的域名参数与防火墙当前接收到的第一数据报文的域名参数的进行随机程度计算,获取第一数据报文的域名参数的随机程度分值,并在该随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文,从而解决了现有技术中防火墙无法准确识别攻击流量,导致大量的攻击流量流向服务器,从而导致合法用户无法正常访问DNS服务器的问题,实现了准确识别非法数据报文,从而可以从所有DNS随机请求的流量中分理出非法的数据报文,从而能够有效而且高效地清洗DNS随即请求非法数据报文,从而使得DNS随机请求攻击失去DDOS效果。


此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中图I是现有技术的限制数据报文访问服务器的方法的示意图;图2是根据本发明实施例的数据报文的检测装置的结构示意图;图3是根据图2所示实施例的数据报文的检测装置的结构示意图;图4是根据图2所示实施例的数据报文的检测装置的系统结构示意图;以及图5是根据本发明实施例的数据报文的检测方法的流程图。
具体实施例方式需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
图2是根据本发明实施例的获取数据报文类型的装置的结构示意图。图3是根据图2所示实施例的获取数据报文类型的装置的结构示意图。如图2所示,该装置可以包括第一读取模块10,用于读取接收到的第一数据报文的域名参数;第一处理模块30,用于将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值,其中,预设域名参数为预先设定的合法数据报文的域名参数;第二处理模块50,用于判断随机程度分值是否大于阻断阈值;以及第三处理模块70,用于在随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文。采用本发明,通过第一读取模块读取接收到的第一数据报文的域名参数,然后第一处理模块,用于将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值,其中,预设域名参数为预先设定的合法数据报文的域名参数,并使用第二处理模块判断随机程度分值是否大于阻断阈值,并且第三处理模块在随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文。通过本发明,通过对预设的合法数据报文的域名参数与防火墙当前接收到的第一数据报文的域名参数的比较,获取第一数据报文的域名参数与预设域名参数的随机程度分值,并在该随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文,从而解决了现有技术中防火 墙无法准确识别攻击流量,导致大量的攻击流量流向服务器,从而导致合法用户无法正常访问DNS服务器的问题,实现了准确识别非法数据报文,从而可以从所有DNS随机请求的流量中分理出非法的数据报文,从而能够有效而且高效地清洗DNS随即请求非法数据报文,从而使得DNS随机请求攻击失去DDOS效果。在本发明的上述实施例中,装置可以包括第一获取模块,用于获取通过防火墙的初始数据报文;第一判断模块,用于判断是否成功获取到与初始数据报文对应的报文响应;第四处理模块,用于当确定成功获取到与初始数据报文对应的报文响应时,将初始数据报文的域名参数作为预设域名参数。具体地,如图3所示,第一获取模块与第一判断模块可以设置在第一读取模块10中,第三处理模块70可以内置在第一处理模块中。根据本发明的上述实施例,预设域名参数可以保存在域名库中,第一数据报文的域名参数包括顶级域名、二级域名以及三级域名,其中,第二处理模块50可以包括第一检测模块,用于检测域名库中是否存在与第一数据报文的顶级域名相同的预设域名参数;第一计算模块,用于在域名库中存在与第一数据报文的顶级域名相同的预设域名参数的情况下,第一数据报文的第一随机程度参数为零;第二计算模块,用于在域名库中不存在与第一数据报文的顶级域名相同的预设域名参数的情况下,将第一数据报文的第一随机程度参数设置为阻断阈值;第二检测模块,用于检测域名库中是否存在与第一数据报文的二级域名相同的预设域名参数;第三计算模块,用于在域名库中存在与第一数据报文的二级域名相同的预设域名参数的情况下,第一数据报文的第二随机程度参数为零;第四计算模块,用于在域名库中不存在与第一数据报文的二级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第二随机程度参数S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,Fblock为阻断阈值,Ql为阻断阈值的权重参数,LI为二级域名与域名库中第一匹配域名参数的相同部分的长度,L2为二级域名与第一匹配域名参数的不同部分的长度,Q2为LI的权重参数,Q3为LI的权重参数,Pl为二级域名的字符分布参数,Q4为二级域名的字符分布参数的权重参数,第一匹配域名参数为域名库中与二级域名不完全相同的预设域名参数;第三检测模块,用于检测域名库中是否存在与第一数据报文的三级域名相同的预设域名参数;第五计算模块,用于在域名库中存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q5,其中,L3为三级域名的长度,Q5为L3的第一权重参数;第六计算模块,用于在域名库中不存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q6+P2*Q7,其中,Q6为L3的第二权重参数,P2为三级域名的字符分布参数,Q7为三级域名的字符分布参数的权重参数,第二匹配域名参数为域名库中与三级域名不完全相同的预设域名参数;第七计算模块,用于通过如下公式计算随机程度分值Fr :Fr=Sl+S2+S3+L*Q8,其中,SI为第一随机程度参数,S2为第二随机程度参数,S3为第三随机程度参数,Q8为随机程度参数的权重参数,L为第一数据报文的域名的总长度。其中,L可以为顶级域名、二级域名、三级域名以及其他级别的域名的长度总和。在本发明的上述实施例中,第一数据报文为多个,其中,第一处理模块50可以包括存储模块,用于将多个第一数据报文保存在数据报文集中;计时模块,用于当将第一个 第一数据报文保存在数据报文集中时,开始计时,以获取保存时间;第四检测模块,用于检测保存时间是否达到预设保存时间;第二获取模块,用于在保存时间达到预设保存时间时,获取数据报文集中第一数据报文的报文数量;第八计算模块,用于计算报文数量与保存时间的比值,以获取数据报文集的访问频率;比较模块,用于比较访问频率与访问阈值的大小;第五处理模块,用于在访问频率小于访问阈值的情况下,确定第一数据报文为合法的数据报文;第六处理模块,用于在访问频率大于或等于访问阈值的情况下,将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值。根据本发明的上述实施例,装置还可以包括第九计算模块,用于对数据报文集中的所有第一数据报文的随机程度分值进行求平均值计算,以获取随机程度平均值;第十计算模块,用于通过如下公式对阻断阈值进行反馈控制计算,以获取处理后的阻断阈值 Fblock :Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,Finit 为阻断阈值的初始值,Faccess为访问频率,Frandom为随机程度平均值,Q9为预设的访问频率的权重参数,QlO为预设的随机程度平均值的权重参数。具体地,第九计算模块可以内置于第一处理模块中,第十计算模块可以内置于第二处理模块中。在本发明的上述实施例中,第一数据报文的域名参数包括域名名称,其中,装置还包括第五检测模块,用于检测域名库中是否存在第一数据报文的域名名称;第七处理模块,用于在预设域名库中存在域名名称的情况下,确定第一数据报文为合法的数据报文。在上述实施例中,该装置还可以包括保存模块,用于将第一数据报文的报文以及报文响应保存在数据报文集中。根据本发明的上述实施例,第四处理模块可以包括第八处理模块,用于当确定成功获取到与初始数据报文对应的报文响应时,将与初始数据报文对应的报文响应保存在域名库中,并且该装置还包括发送模块,用于将与第一数据报文相对应的报文响应发送给客户端。
如图4所示,采用本发明的上述实施例的装置,可以透明的部署在客户端和服务器之间,不改变DNS的交互流程,就可以实现有效而且高效地清洗DNS随即请求非法数据报文,从而使得DNS随机请求攻击失去DDOS效果。图5是根据本发明实施例的数据报文的检测方法的流程图,如图5所示该方法包括如下步骤步骤S102,读取接收到的第一数据报文的域名参数。步骤S104,将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值,其中,预设域名参数为预先设定的合法数据报文的域名参数。步骤S106,判断随机程度分值是否大于阻断阈值。 步骤S108,在随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文。采用本发明,在读取接收到的第一数据报文的域名参数之后,将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值,其中,预设域名参数为预先设定的合法数据报文的域名参数,然后判断随机程度分值是否大于阻断阈值,其中,在随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文。通过本发明,通过对预设的合法数据报文的域名参数与防火墙当前接收到的第一数据报文的域名参数的比较,获取第一数据报文的域名参数的随机程度分值,并在该随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文,从而解决了现有技术中防火墙无法准确识别攻击流量,导致大量的攻击流量流向服务器,从而导致合法用户无法正常访问DNS服务器的问题,实现了准确识别非法数据报文,从而可以从所有DNS随机请求的流量中分理出非法的数据报文,从而能够有效而且高效地清洗DNS随即请求非法数据报文,从而使得DNS随机请求攻击失去DDOS效果。其中,预设域名参数可以保存在域名库中,域名库可以包括知名域名库,预设域名参数可以包括域名的顶级域、域名的级数、域名的总长度、各级域名的长度、各级域名的字符分布。知名域名库可以是预先收集的已知的合法域名以及域名交易市场中价格较高的域名。根据本发明的上述实施例,在读取接收到的第一数据报文的域名参数之前,方法还可以包括获取通过防火墙的初始数据报文;判断是否成功获取到与初始数据报文对应的报文响应;当确定成功获取到与初始数据报文对应的报文响应时,将初始数据报文的域名参数作为预设域名参数。具体地,获取通过防火墙的初始数据报文,然后判断是否成功获取到与初始数据报文对应的报文响应,当确定成功获取到与初始数据报文对应的报文响应时,将初始数据报文的域名参数保存在域名库中。其中的初始数据报文的域名参数可以包括域名的顶级域、域名的级数、域名的总长度、各级域名的长度、各级域名的字符分布。在本发明的上述实施例中,第一数据报文的域名参数可以包括域名名称,其中,在将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值之前,方法还包括检测域名库中是否存在第一数据报文的域名名称;在预设域名库中存在域名名称的情况下,确定第一数据报文为合法的数据报文。具体地,该方法还包括步骤将第一数据报文的报文以及报文响应保存在数据报文集中。通过上述步骤可以只对域名库中不存在第一数据报文的域名参数的情况下,对第一数据报文进行随机程度分值得计算,从而减化了流程,加快了清洗非法的数据报文的速度。在本发明的上述实施例中,当确定成功获取到与初始数据报文对应的报文响应时,将初始数据报文的域名参数作为预设域名参数的步骤可以包括当确定成功获取到与初始数据报文对应的报文响应时,将与初始数据报文对应的报文响应保存在域名库中。具体地,在在预设域名库中不存在域名名称的情况下,确定第一数据报文为合法的数据报文之后,方法还包括将与第一数据报文相对应的报文响应发送给客户端。 其中,与初始数据报文对应的报文响应即为从服务器返回的正确的报文响应。在上述步骤中也可以将上述与初始数据报文对应的报文响应保存在域名库中,在将初始数据报文的域名参数保存在域名库中之后,读取接收到的第一数据报文的域名参数,如果可以在域名库中查找到与第一数据报文的域名参数一致的第一域名参数,则获取与第一域名参数相对应的第一报文响应,防火墙直接将该第一报文响应返回给客户端,而不再通过DNS服务器。如果在域名库中查找不到与第一数据报文的域名参数一致的第一域名参数,则执行将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数与随机程度分值的步骤。在本发明的上述实施例中,预设域名参数保存在域名库中,第一数据报文的域名参数包括顶级域名、二级域名以及三级域名,其中,将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值的步骤可以包括检测域名库中是否存在与第一数据报文的顶级域名相同的预设域名参数,其中,在域名库中存在与第一数据报文的顶级域名相同的预设域名参数的情况下,第一数据报文的第一随机程度参数为零,在域名库中不存在与第一数据报文的顶级域名相同的预设域名参数的情况下,将第一数据报文的第一随机程度参数设置为阻断阈值;检测域名库中是否存在与第一数据报文的二级域名相同的预设域名参数,其中,在域名库中存在与第一数据报文的二级域名相同的预设域名参数的情况下,第一数据报文的第二随机程度参数为零,在域名库中不存在与第一数据报文的二级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第二随机程度参数S2 S2=Fblock*Ql- (L1*Q2-L2*Q3+P1*Q4),其中,Fblock为阻断阈值,Ql为阻断阈值的权重参数,LI为二级域名与域名库中第一匹配域名参数的相同部分的长度,L2为二级域名与第一匹配域名参数的不同部分的长度,Q2为LI的权重参数,Q3为LI的权重参数,Pl为二级域名的字符分布参数,Q4为二级域名的字符分布参数的权重参数,第一匹配域名参数为域名库中与二级域名不完全相同的预设域名参数;检测域名库中是否存在与第一数据报文的三级域名相同的预设域名参数,其中,在域名库中存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q5,其中,L3为三级域名的长度,Q5为L3的第一权重参数;在域名库中不存在与第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算第一数据报文的第三随机程度参数S3 :S3=L3*Q6+P2*Q7,其中,Q6为L3的第二权重参数,P2为三级域名的字符分布参数,Q7为三级域名的字符分布参数的权重参数,第二匹配域名参数为域名库中与三级域名不完全相同的预设域名参数;通过如下公式计算随机程度分值Fr :Fr=Sl+S2+S3+L*Q8,其中,SI为第一随机程度参数,Q8为随机程度参数的权重参数,L为第一数据报文的域名的总长度。具体地,DNS域名是以点号做分级的,例如www. abc. com这样的域名,com是顶级域,abc是二级域名,www是三级域名。顶级域名都是已知的国家域名或通用域名;二级域名可能是已知的通用域名、也可能是像baidu这样的知名域名;三级域名一般是www、maps、home这样的知名子域名,也可能是其他不知名字符串;三级以下的域名就比较随意了。而且为了方便用户记忆,大部分合法域名的前三级都具有上述特征,并且每一级的域名长度都在一个比较小的范围内。上述实施例中的P2*Q7与P1*Q4,也可以分别通过三级域名的字符分布参数与预设域名参数的字符分布的偏差值和二级域名的字符分布参数与预设域名参数的字符分布的偏差值来实现,另外,上述实施例中的权重参数都可以是预设的权重参数,这些权重参数都可以是针对各个参数的特征,通过一系列的实验得到的经验值,并且这些权重参数均为0-1范围内的浮点数。具体地,合法的数据报文的域名的随机程度分值与阻断阈值相比,会比较低,而大部分的非法的数据报文的随机构造域名的随机程度分值会很高。根据本发明的上述实施例,第一数据报文为多个,其中,将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值的步骤包括将多个第一数据报文保存在数据报文集中;当将第一个第一数据报文保存在数据报文集中时,开始计时,以获取保存时间;检测保存时间是否达到预设保存时间;在保存时间达到预设保存时间时,获取数据报文集中第一数据报文的报文数量;计算报文数量与保存时间的比值,以获取数据报文集的访问频率;比较访问频率与访问阈值的大小;在访问频率小于访问阈值的情况下,确定第一数据报文为合法的数据报文;在访问频率大于或等于访问阈值的情况下,将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值。
具体地,如果计算获取的访问频率小于访问阈值,则确定第一数据报文为合法的数据报文,防火墙直接放过该第一数据报文,如果访问频率大于或等于访问阈值,则将第一数据报文的域名参数与域名库中的预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值。在本发明的上述实施例中,可以仅仅计算没有在域名库查找到相同的域名参数的第一数据报文的访问频率,这样使得对非法数据报文的判断更加准确。在本发明的上述实施例中,在判断随机程度分值是否大于阻断阈值之前,方法还包括对数据报文集中的所有第一数据报文的随机程度分值进行求平均值计算,以获取随机程度平均值;通过如下公式对阻断阈值进行反馈控制计算,以获取处理后的阻断阈值 Fblock :Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,Finit 为阻断阈值的初始值,Faccess为访问频率,Frandom为随机程度平均值,Q9为预设的访问频率的权重参数,QlO为预设的随机程度平均值的权重参数。其中的权重参数都是0-1范围内的浮点数。具体地,在判断随机程度分值是否大于阻断阈值,以获取第一数据报文的检测结果之前,方法还可以包括对数据报文集中的所有第一数据报文的随机程度分值进行求平均值计算,以获取随机程度平均值;使用随机程度平均值和访问频率对阻断阈值进行反馈控制计算,以获取处理后的阻断阈值。具体地,在获取到随机程度分值之后,计算所有第一数据报文的随机程度分值的平均值,这个平均值可以是所有第一数据报文的随机程度分值的算术平均值,也可以是一个期望值,而只有合法的数据报文的随机程度分值会低于该随机程度平均值,而非法的数据报文的随机程度分值会高于该随机程度平均值。然后,可以通过访问频率以及随机程度平均值对阻断阈值进行反馈调整,以获取调整后的阻断阈值。在上述实施例中,由于发生非法数据报文流量的攻击时,访问频率的变化程度会大于随机程度平均值的变化程度,在攻击速率越高时,则阻断阈值越低,通过阻断阈值检测的也越可能是合法的数据报文;当有大量的合法的数据报文掺杂在非法的数据报文的流量中时,随机程度平均值会降低,阻断阈值也随之降低,可以更准确地确定更多的非法的数据、报文,从而可以使得防火墙阻断更多的非法的数据报文,由于合法的数据报文的随机程度分值比阻断阈值高,所以合法的数据报文仍然可以正常通过。在本发明的上述实施例中,由于阻断阈值是可以根据攻击速率和攻击数量进行动态调节的,通过阻断阈值检测的数据报文的报文数量将始终保持在一个固定的比例范围,不会随着攻击流量的增大而大幅变动,从而保证DNS服务器接收到的动态域名查询数量始终保持咋iyige很低的数字,从而使得DNS随机请求攻击失效。需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。从以上的描述中,可以看出,本发明实现了如下技术效果通过本发明,通过对预设的合法数据报文的域名参数与防火墙当前接收到的第一数据报文的域名参数的随机程度计算,获取第一数据报文的域名参数随机程度分值,并在该随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文,从而解决了现有技术中防火墙无法准确识别攻击流量,导致大量的攻击流量流向服务器,从而导致合法用户无法正常访问DNS服务器的问题,实现了准确识别非法数据报文,从而可以从所有DNS随机请求的流量中分理出非法的数据报文,从而能够有效而且高效地清洗DNS随即请求非法数据报文,从而使得DNS随机请求攻击失去DDOS效果。通过本发明可以统计突发的非法的数据报文的访问频率进行统计,并且使用突发的非法的数据报文的域名的随机程度分值与阻断阈值的大小关系来分离合法的数据报文和非法的数据报文,另外还使用突发的非法的数据报文的访问频率和突发的非法的数据报文的访问频率对阻断阈值进行反馈调整,使得阻断阈值处于一个动态平衡中,从而能够有效且高效地清洗DNS随即请求非法数据报文。显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种数据报文的检测方法,其特征在于,包括 读取接收到的第一数据报文的域名参数; 将所述第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取所述第一数据报文的域名参数的随机程度分值,其中,所述预设域名参数为预先设定的合法数据报文的域名参数; 判断所述随机程度分值是否大于阻断阈值;以及 在所述随机程度分值大于所述阻断阈值时,确定所述第一数据报文为非法的数据报文。
2.根据权利要求I所述的方法,其特征在于,在读取接收到的第一数据报文的域名参数之前,所述方法包括 获取通过防火墙的初始数据报文; 判断是否成功获取到与所述初始数据报文对应的报文响应; 当确定成功获取到与所述初始数据报文对应的报文响应时,将所述初始数据报文的域名参数作为所述预设域名参数。
3.根据权利要求2所述的方法,其特征在于,所述预设域名参数保存在域名库中,所述第一数据报文的域名参数包括顶级域名、二级域名以及三级域名,其中,将所述第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取所述第一数据报文的域名参数的随机程度分值的步骤包括 检测所述域名库中是否存在与所述第一数据报文的顶级域名相同的所述预设域名参数,其中,在所述域名库中存在与所述第一数据报文的顶级域名相同的所述预设域名参数的情况下,所述第一数据报文的第一随机程度参数为零,在所述域名库中不存在与所述第一数据报文的顶级域名相同的所述预设域名参数的情况下,将所述第一数据报文的所述第一随机程度参数设置为所述阻断阈值; 检测所述域名库中是否存在与所述第一数据报文的二级域名相同的所述预设域名参数,其中,在所述域名库中存在与所述第一数据报文的二级域名相同的所述预设域名参数的情况下,所述第一数据报文的第二随机程度参数为零,在所述域名库中不存在与所述第一数据报文的二级域名相同的所述预设域名参数的情况下,通过如下公式计算所述第一数据报文的所述第二随机程度参数S2 S2=Fblock*Ql- (L1*Q2_L2*Q3+P1*Q4),其中,Fblock 为所述阻断阈值,Ql 为所述阻断阈值的权重参数,LI为所述二级域名与所述域名库中第一匹配域名参数的相同部分的长度,L2为所述二级域名与所述第一匹配域名参数的不同部分的长度,Q2为所述LI的权重参数,Q3为所述LI的权重参数,Pl为所述二级域名的字符分布参数,Q4为所述二级域名的字符分布参数的权重参数,所述第一匹配域名参数为所述域名库中与所述二级域名不完全相同的预设域名参数; 检测所述域名库中是否存在与所述第一数据报文的三级域名相同的所述预设域名参数,其中,在所述域名库中存在与所述第一数据报文的三级域名相同的所述预设域名参数的情况下,通过如下公式计算所述第一数据报文的第三随机程度参数S3 S3=L3*Q5,其中,L3为所述三级域名的长度,Q5为所述L3的第一权重参数; 在所述域名库中不存在与所述第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算所述第一数据报文的所述第三随机程度参数S3 S3=L3*Q6+P2*Q7,其中,Q6为所述L3的第二权重参数,P2为所述三级域名的字符分布参数,Q7为所述三级域名的字符分布参数的权重参数,所述第二匹配域名参数为所述域名库中与所述三级域名不完全相同的预设域名参数; 通过如下公式计算所述随机程度分值Fr Fr = S1+S2+S3+L*Q8,其中,SI为所述第一随机程度参数,S2为所述第二随机程度参数,S3为所述第三随机程度参数,Q8为随机程度参数的权重参数,所述L为所述第一数据报文的域名的总长度。
4.根据权利要求3所述的方法,其特征在于,所述第一数据报文为多个,其中,将所述第一数据报文的域名参数与所述域名库中的预设域名参数进行随机程度计算,以获取所述第一数据报文的域名参数的随机程度分值的步骤包括 将多个所述第一数据报文保存在数据报文集中; 当将第一个所述第一数据报文保存在所述数据报文集中时,开始计时,以获取保存时间; 检测所述保存时间是否达到预设保存时间; 在所述保存时间达到所述预设保存时间时,获取所述数据报文集中第一数据报文的报文数量; 计算所述报文数量与所述保存时间的比值,以获取所述数据报文集的访问频率; 比较所述访问频率与访问阈值的大小; 在所述访问频率小于所述访问阈值的情况下,确定所述第一数据报文为所述合法的数据报文; 在所述访问频率大于或等于所述访问阈值的情况下,将所述第一数据报文的域名参数与所述域名库中的预设域名参数进行随机程度计算,以获取所述第一数据报文的域名参数的随机程度分值。
5.根据权利要求4所述的方法,其特征在于,在判断所述随机程度分值是否大于阻断阈值之前,所述方法还包括 对所述数据报文集中的所有所述第一数据报文的所述随机程度分值进行求平均值计算,以获取随机程度平均值; 通过如下公式对所述阻断阈值进行反馈控制计算,以获取处理后的阻断阈值Fblock FbIock=Finit-Faccess*Q9+Frandom*Q10,其中,Finit 为所述阻断阈值的初始值,Faccess为所述访问频率,Frandom为所述随机程度平均值,Q9为预设的所述访问频率的权重参数,QlO为预设的所述随机程度平均值的权重参数。
6.根据权利要求2至5中任意一项所述的方法,其特征在于,所述第一数据报文的域名参数包括域名名称,其中,在将所述第一数据报文的域名参数与所述域名库中的预设域名参数进行随机程度计算,以获取所述第一数据报文的域名参数的随机程度分值之前,所述方法还包括 检测所述域名库中是否存在所述第一数据报文的域名名称; 在所述预设域名库中存在所述域名名称的情况下,确定所述第一数据报文为所述合法的数据报文。
7.根据权利要求6所述的方法,其特征在于,当确定成功获取到与所述初始数据报文对应的报文响应时,将所述初始数据报文的域名参数作为所述预设域名参数的步骤包括当确定成功获取到与所述初始数据报文对应的报文响应时,将与所述初始数据报文对应的报文响应保存在所述域名库中。
8.根据权利要求7所述的方法,其特征在于,在在所述预设域名库中存在所述域名名称的情况下,确定所述第一数据报文为所述合法的数据报文之后,所述方法还包括 将与所述第一数据报文相对应的报文响应发送给客户端。
9.一种数据报文的检测装置,其特征在于,包括 第一读取模块,用于读取接收到的第一数据报文的域名参数; 第一处理模块,用于将所述第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取所述第一数据报文的域名参数的随机程度分值,其中,所述预设域名参数为预先设定的合法数据报文的域名参数; 第二处理模块,用于判断所述随机程度分值是否大于阻断阈值;以及第三处理模块,用于在所述随机程度分值大于所述阻断阈值时,确定所述第一数据报文为非法的数据报文。
10.根据权利要求9所述的装置,其特征在于,所述装置包括 第一获取模块,用于获取通过防火墙的初始数据报文; 第一判断模块,用于判断是否成功获取到与所述初始数据报文对应的报文响应;第四处理模块,用于当确定成功获取到与所述初始数据报文对应的报文响应时,将所述初始数据报文的域名参数作为所述预设域名参数。
11.根据权利要求10所述的装置,其特征在于,所述预设域名参数保存在域名库中,所述第一数据报文的域名参数包括顶级域名、二级域名以及三级域名,其中,所述第二处理模块包括 第一检测模块,用于检测所述域名库中是否存在与所述第一数据报文的顶级域名相同的所述预设域名参数; 第一计算模块,用于在所述域名库中存在与所述第一数据报文的顶级域名相同的所述预设域名参数的情况下,所述第一数据报文的第一随机程度参数为零; 第二计算模块,用于在所述域名库中不存在与所述第一数据报文的顶级域名相同的所述预设域名参数的情况下,将所述第一数据报文的所述第一随机程度参数设置为所述阻断阈值; 第二检测模块,用于检测所述域名库中是否存在与所述第一数据报文的二级域名相同的所述预设域名参数; 第三计算模块,用于在所述域名库中存在与所述第一数据报文的二级域名相同的所述预设域名参数的情况下,所述第一数据报文的第二随机程度参数为零; 第四计算模块,用于在所述域名库中不存在与所述第一数据报文的二级域名相同的所述预设域名参数的情况下,通过如下公式计算所述第一数据报文的所述第二随机程度参数S2 :S2=Fblock*Ql-(Ll*Q2-L2*Q3+Pl*Q4),其中,Fblock 为所述阻断阈值,Ql 为所述阻断阈值的权重参数,LI为所述二级域名与所述域名库中第一匹配域名参数的相同部分的长度,L2为所述二级域名与所述第一匹配域名参数的不同部分的长度,Q2为所述LI的权重参数,Q3为所述LI的权重参数,Pl为所述二级域名的字符分布参数,Q4为所述二级域名的字符分布参数的权重参数,所述第一匹配域名参数为所述域名库中与所述二级域名不完全相同的预设域名参数; 第三检测模块,用于检测所述域名库中是否存在与所述第一数据报文的三级域名相同的所述预设域名参数; 第五计算模块,用于在所述域名库中存在与所述第一数据报文的三级域名相同的所述预设域名参数的情况下,通过如下公式计算所述第一数据报文的第三随机程度参数S3 S3=L3*Q5,其中,L3为所述三级域名的长度,Q5为所述L3的第一权重参数; 第六计算模块,用于在所述域名库中不存在与所述第一数据报文的三级域名相同的预设域名参数的情况下,通过如下公式计算所述第一数据报文的所述第三随机程度参数S3 S3=L3*Q6+P2*Q7,其中,Q6为所述L3的第二权重参数,P2为所述三级域名的字符分布参数,Q7为所述三级域名的字符分布参数的权重参数,所述第二匹配域名参数为所述域名库中与所述三级域名不完全相同的预设域名参数; 第七计算模块,用于通过如下公式计算所述随机程度分值Fr Fr=Sl+S2+S3+L*Q8,其中,SI为所述第一随机程度参数,S2为所述第二随机程度参数,S3为所述第三随机程度参数,Q8为随机程度参数的权重参数,所述L为所述第一数据报文的域名的总长度。
12.根据权利要求11所述的装置,其特征在于,所述第一数据报文为多个,其中,所述第一处理模块还包括 存储模块,用于将多个所述第一数据报文保存在数据报文集中; 计时模块,用于当将第一个所述第一数据报文保存在所述数据报文集中时,开始计时,以获取保存时间; 第四检测模块,用于检测所述保存时间是否达到预设保存时间; 第二获取模块,用于在所述保存时间达到所述预设保存时间时,获取所述数据报文集中第一数据报文的报文数量; 第八计算模块,用于计算所述报文数量与所述保存时间的比值,以获取所述数据报文集的访问频率; 比较模块,用于比较所述访问频率与访问阈值的大小; 第五处理模块,用于在所述访问频率小于所述访问阈值的情况下,确定所述第一数据报文为所述合法的数据报文; 第六处理模块,用于在所述访问频率大于或等于所述访问阈值的情况下,将所述第一数据报文的域名参数与所述域名库中的预设域名参数进行随机程度计算,以获取所述第一数据报文的域名参数的随机程度分值。
13.根据权利要求12所述的装置,其特征在于,所述装置还包括 第九计算模块,用于对所述数据报文集中的所有所述第一数据报文的所述随机程度分值进行求平均值计算,以获取随机程度平均值; 第十计算模块,用于通过如下公式对所述阻断阈值进行反馈控制计算,以获取处理后的阻断阈值 Fblock :Fblock=Finit_Faccess*Q9+Frandom*Q10,其中,Finit 为所述阻断阈值的初始值,Faccess为所述访问频率,Frandom为所述随机程度平均值,Q9为预设的所述访问频率的权重参数,QlO为预设的所述随机程度平均值的权重参数。
14.根据权利要求10至13中任意一项所述的装置,其特征在于,所述第一数据报文的域名参数包括域名名称,其中,所述装置还包括 第五检测模块,用于检测所述域名库中是否存在所述第一数据报文的域名名称;第七处理模块,用于在所述预设域名库中存在所述域名名称的情况下,确定所述第一数据报文为所述合法的数据报文。
15.根据权利要求14所述的装置,其特征在于,所述第四处理模块包括 第八处理模块,用于当确定成功获取到与所述初始数据报文对应的报文响应时,将与所述初始数据报文对应的报文响应保存在所述域名库中。
16.根据权利要求15所述的装置,其特征在于,所述装置还包括 发送模块,用于将与所述第一数据报文相对应的报文响应发送给客户端。
全文摘要
本发明公开了一种数据报文的检测方法及装置。其中,该方法包括数据报文的检测方法,该方法包括读取接收到的第一数据报文的域名参数;将第一数据报文的域名参数与预设域名参数进行随机程度计算,以获取第一数据报文的域名参数的随机程度分值,其中,预设域名参数为预先设定的合法数据报文的域名参数;判断随机程度分值是否大于阻断阈值;以及在随机程度分值大于阻断阈值时,确定第一数据报文为非法的数据报文。通过本发明,实现了准确识别非法数据报文,从而可以从所有DNS随机请求的流量中分理出非法的数据报文,从而能够有效而且高效地清洗DNS随即请求非法数据报文,从而使得DNS随机请求攻击失去DDOS效果。
文档编号H04L12/70GK102984178SQ20121059386
公开日2013年3月20日 申请日期2012年12月31日 优先权日2012年12月31日
发明者邓富镭 申请人:山石网科通信技术(北京)有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1