报文检测方法、装置、网络设备和计算机可读存储介质与流程

文档序号:20039019发布日期:2020-02-28 11:40阅读:109来源:国知局
报文检测方法、装置、网络设备和计算机可读存储介质与流程

本发明涉及网络安全领域,具体而言,涉及一种报文检测方法、装置、网络设备和计算机可读存储介质。



背景技术:

隐蔽信道是指允许进程以危害系统安全策略的方式传输信息的通信通道。隐蔽信道在公开信道的掩盖下,采用特殊的编码方式,传输非法或私密的信息而不被人发现,其广泛存在于操作系统、网络系统和应用系统中。

dns(domainnamesystem,域名系统)隐蔽信道是一种基于dns协议的隐蔽信道,由于dns协议是互联网上最为关键的基础协议,也是互联网上大部分服务和应用正常运转和实施的基础,故大部分网络防火墙和ids(intrusiondetectionsystems,入侵检测系统)等网络安全设备对dns报文都是采取放行方式,使得恶意攻击者可基于dns协议搭建隐蔽信道并执行非法操作,从而对网络信息系统的安全构成了严重威胁。

因此,如何检测是否存在dns隐蔽信道传输dns报文,也即如何检测dns报文是否属于dns隐蔽信道报文,成为本领域技术人员亟待解决的问题。



技术实现要素:

有鉴于此,本发明的目的在于提供一种报文检测方法、装置、网络设备和计算机可读存储介质,其能够实现待检测dns报文是否属于dns隐蔽信道报文的准确检测。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供一种报文检测方法,所述方法包括:

获取待检测dns报文对应的请求域名;

去除所述请求域名中的注册域名,得到待处理域名;

提取所述待检测dns报文的至少两个报文特征;其中,所述至少两个报文特征包括所述待处理域名的域名特征;

根据所述至少两个报文特征和预先训练的报文检测模型,得到所述待检测dns报文是否属于dns隐蔽信道报文的检测结果。

第二方面,本发明实施例提供一种报文检测装置,所述装置包括:

请求域名获取模块,用于获取待检测dns报文对应的请求域名;

注册域名去除模块,用于去除所述请求域名中的注册域名,得到待处理域名;

报文特征提取模块,用于提取所述待检测dns报文的至少两个报文特征;其中,所述至少两个报文特征包括所述待处理域名的域名特征;

检测模块,用于根据所述至少两个报文特征和预先训练的报文检测模型,得到所述待检测dns报文是否属于dns隐蔽信道报文的检测结果。

第三方面,本发明实施例提供一种网络设备,包括存储有计算机程序的存储器和处理器,所述计算机程序被所述处理器读取并运行时,实现如前述实施方式中任一项所述的方法。

第四方面,本发明实施例提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器读取并运行时,实现如前述实施方式中任一项所述的方法。

本发明实施例提供的报文检测方法、装置、网络设备和计算机可读存储介质,通过获取待检测dns报文对应的请求域名,并去除请求域名中的注册域名,得到待处理域名,通过提取待检测dns报文的至少两个报文特征,其中,该至少两个报文特征包括待处理域名的域名特征,根据该至少两个报文特征和预先训练的报文检测模型,可得到该待检测dns报文是否属于dns隐蔽信道报文的检测结果。可见,本发明实施例通过去除请求域名中的注册域名排除了注册域名对检测结果的干扰,并将待检测dns报文的至少两个报文特征作为检测指标,来检测待检测dns报文是否属于dns隐蔽信道报文,故可以有效提高检测精度和准确度,减少误报率。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1示出了本发明实施例提供的网络设备的方框示意图;

图2示出了搭建的dns隐蔽信道环境的示意图;

图3示出了报文检测模型的网络结构示意图;

图4示出了本发明实施例提供的报文检测方法的一种流程示意图;

图5示出了待检测dns报文的示意图;

图6示出了本发明实施例提供的报文检测方法的另一种流程示意图;

图7示出了本发明实施例提供的报文检测方法的又一种流程示意图;

图8示出了本发明实施例提供的报文检测方法的又一种流程示意图;

图9示出了本发明实施例提供的报文检测装置的一种功能模块图;

图10示出了本发明实施例提供的报文检测装置的另一种功能模块图。

图标:100-网络设备;600-报文检测装置;110-存储器;120-处理器;130-通信模块;610-请求域名获取模块;620-注册域名去除模块;630-报文特征提取模块;640-检测模块;650-域名匹配模块;660-计数模块;670-比值计算模块。

具体实施方式

下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。

因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,术语“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

在实现本发明实施例的技术方案的过程中,经发明人研究发现,由于受到dns协议规范的限制,dns数据包长度有限,无法携带较多数据,若要满足文件传输、远程桌面控制等需求,则需要进行大量的dns报文传输。因此,目前的dns隐蔽信道检测技术大致可以分为两大类:dns有效载荷分析和统计分析法。其中,dns有效载荷分析包括以下几种检测方式:主机名长度检测、域名的熵值检测、域名中数字占比及词频检测、下传数据非典型记录类型检测、dns信道中的fqdn(fullyqualifieddomainname,全限定域名)检测、使用dpi(deeppacketinspection,深度包检测)技术检测特征字符串等;统计分析法包括以下几种检测方式:检测不同ip地址的dns流量总量、检测不同域名的dns流量总量、检测dns流量速率及持续时间、检测不存在关联的dns请求、检测请求域名的记录类型等。

在目前的dns隐蔽信道报文检测方案中,通常是对待检测dns报文的单个特征进行检测,来判断该待检测dns报文是否为dns隐蔽信道报文,从而确定是否存在dns隐蔽信道在进行数据传输。由于不同的dns报文具备的特征存在差异,比如a报文的主机名长度比较符合dns隐蔽信道报文的特点,b报文的请求域名的记录类型比较符合dns隐蔽信道报文的特点,故仅采用单个特征作为检测指标,极容易引起误报,导致检测准确率较低。

基于对上述缺陷的研究,本发明实施例提出了一种通过去除注册域名的干扰,并将待检测dns报文的至少两个报文特征作为检测指标,来检测待检测dns报文是否属于dns隐蔽信道报文的方案,以提高dns隐蔽信道报文的检测精度和准确度,减少误报率。下面,将结合附图对本发明实施例提供的技术方案进行详细介绍。

请参照图1,是本实施例提供的网络设备100的方框示意图。该网络设备100包括存储器110、处理器120及通信模块130。存储器110、处理器120以及通信模块130各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。

其中,存储器110用于存储程序或者数据。存储器110可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。

处理器120用于读/写存储器110中存储的数据或程序,并执行相应地功能。例如,当存储器110存储的计算机程序被处理器120执行时,能够实现本发明各实施例所揭示的报文检测方法。

通信模块130用于通过网络建立网络设备100与其它通信终端之间的通信连接,并用于通过网络收发数据。例如,网络设备100可以通过通信模块130从其它通信终端获取待检测dns报文。

应当理解的是,图1所示的结构仅为网络设备100的结构示意图,网络设备100还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。图1中所示的各组件可以采用硬件、软件或其组合实现。可选地,本发明实施例中的网络设备100可以为网关、防火墙等网络安全设备,当然也可以为其他设备,具体根据实际情况而定。

本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器120执行时实现本发明各实施例所揭示的报文检测方法。

由于本发明实施例需要利用多个检测指标来检测dns报文是否属于dns隐蔽信道报文,故针对每个检测指标(报文特征),需要设置合理的比例系数(权重),以实现较优的权重分配,从而确保检测准确度。基于此,本发明实施例利用深度学习算法训练每个检测指标对应的权重,得到一个报文检测模型,后续利用该报文检测模型即可准确检测出待检测dns报文是否属于dns隐蔽信道报文。下面,先对报文检测模型的训练过程进行详细介绍。

在本实施例中,为了便于抓取大量的训练样本,该训练样本包括dns隐蔽信道报文样本和非dns隐蔽信道报文样本,可以搭建图2所示的dns隐蔽信道环境,目标服务器的注册域名为strage.com,则利用主机a或主机b与目标服务器之间的双向通信,可以获取上述训练样本,并对训练样本进行数据打标,即为每个训练样本打上属于dns隐蔽信道报文样本或者属于非dns隐蔽信道报文样本的标签,得到每个训练样本对应的标注结果。在对所收集的训练样本进行数据打标后,将这些训练样本解析成文本格式,针对每一训练样本,从文本信息中获取请求域名,并去除请求域名中的注册域名,得到待处理域名,然后提取出该训练样本的至少两个报文特征,其中,该至少两个报文特征包括待处理域名的域名特征。

在本实施例中,通过将注册域名从请求域名中分离出去,保留由dns隧道工具引起的特殊编码部分(即待处理域名),可以排除注册域名对后续训练结果的影响。例如,假设获取的请求域名为:m56bgaabade5nevgotmyruiwrjhbodleotvcnzzemdddqkfbrdleodi4ntg4odk.=auth.ns.strage.lxw,则去除注册域名strage.lxw,保留部分为:m56bgaabade5nevgotmyruiwrjhbodleotvcnzzemdddqkfbrdleodi4ntg4odk.=auth.ns,该保留部分即为待处理域名。需要说明的是,在本实施例中,该注册域名为请求域名的一级域名;在其他实施例中,该注册域名为还可以为二级域名、三级域名等,因此,可以根据实际应用需求选择去除请求域名中的一级域名、二级域名、三级域名等。

在提取出训练样本的至少两个报文特征后,将该至少两个报文特征输入预先建立的报文检测模型中,利用深度学习算法进行特征提取及数据训练,可以得到训练样本对应的预测结果,然后根据预测结果和训练样本对应的标注结果更新报文检测模型的模型参数,该模型参数包括报文检测模型中各个神经元的权重、至少两个报文特征各自对应的权重等,经过多次迭代计算和参数更新后,可得到训练好的报文检测模型。

具体地,可以根据预测结果和训练样本对应的标注结果计算损失函数,然后根据损失函数更新模型参数,当报文检测模型达到收敛状态时,则停止模型参数的更新,从而有效地对报文特征进行权重分配,进而得到训练好的报文检测模型。其中,该损失函数用于衡量训练样本对应的预测结果与标注结果之间的不一致程度,损失函数越小,表明预测结果与标注结果之间的差异越小,报文检测模型的性能越好,当损失函数达到设定值或者迭代次数已经达到设定的上限值时,表明报文检测模型已达到收敛状态。

在本实施例中,该深度学习算法可以包括cnn(convlutionalneuralnetworks,卷积神经网络)算法、rnn(recurrentneuralnetwork,循环神经网络)算法、随机森林算法,本实施例中以cnn算法为例,对报文检测模型的网络结构进行说明。如图3所示,该报文检测模型的网络结构包括特征处理网络和模型预测网络,特征处理网络用于对输入报文检测模型的数据进行编码处理,将其转换为对应的报文特征矩阵,模型预测网络用于根据特征处理网络编码处理得到的报文特征矩阵进行预测,得到预测结果。

可选地,该特征处理网络包括嵌入层(embedding层),本质为词嵌入层,主要用于对输入报文检测模型的数据进行编码处理,从而得到一个报文特征矩阵。模型预测网络包括卷积层、池化层、随机丢失(dropout)层、全连接层和逻辑回归(softmax)层,卷积层主要用于特征提取,包括浅层特征提取和深层特征提取。浅层特征提取主要是根据嵌入层输入的报文特征矩阵进行特征学习,提取一些简单的浅层特征;深层特征提取包括对提取的浅层特征之间的关联度进行学习,以及对待处理域名中的特殊字符进行学习,从而提取出待处理域名中的特殊字符特征。池化层主要用于对卷积层提取的特征进行采样处理,以减少参数数量;dropout层主要用于防止训练过程中出现过拟合。全连接层用于对经过卷积层、池化层及dropout层处理得到的特征进行降维处理,得到一维向量,将一维向量输入逻辑回归层进行分类,并输出训练样本的预测结果。

可以理解,在对该报文检测模型训练时,是通过迭代计算的方式不断获取训练样本的预测结果,并根据预测结果与对应的标注结果对卷积层、池化层、随机丢失层、全连接层和逻辑回归层中的各个神经元的权重以及该至少两个报文特征各自对应的权重进行更新,直到报文检测模型达到收敛状态,最终得到训练好的报文检测模型。

需要说明的是,该报文检测模型的模型参数在训练前和训练完成后发生了变化,但是报文检测模型的网络结构在训练前和训练完成后不会发生变化。在该报文检测模型的训练阶段,可以根据实际需求选择输入报文检测模型的至少两个报文特征的种类,且通过增加输入报文检测模型的报文特征的种类,有利于提高报文检测模型的识别准确率。可以理解,当输入报文检测模型的报文特征种类不同时,训练得到的神经元的权重、各报文特征对应的权重会存在差异,故最终得到的报文检测模型不同。

在后续利用训练好的报文检测模型对待检测dns报文进行预测时,通过提取出待检测dns报文的至少两个报文特征(与提取的训练样本的至少两个报文特征的种类相同),并将该至少两个报文特征作为该报文检测模型的输入,由特征处理网络对待检测dns报文的至少两个报文特征进行编码处理,得到报文特征矩阵,将该报文特征矩阵输入训练好的模型预测网络后,模型预测网络根据训练好的各个神经元的权重、至少两个报文特征各自对应的权重进行预测,然后输出待检测dns报文是否属于dns隐蔽信道报文的检测结果。下面,对待检测dns报文的检测过程进行详细介绍。

请参照图4,为本发明实施例提供的报文检测方法的一种流程示意图。需要说明的是,本发明实施例提供的报文检测方法并不以图4以及以下的具体顺序为限制,应当理解,在其他实施例中,本发明实施例提供的报文检测方法其中部分步骤的顺序可以根据实际需要相互交换,或者其中的部分步骤也可以省略或删除。该报文检测方法可以应用在图1所示的网络设备100中,下面将对图4所示的具体流程进行详细阐述。

步骤s201,获取待检测dns报文对应的请求域名。

在本实施例中,网络设备100在获取到待检测dns报文时,先将dns报文解析成文本格式,然后从解析出的文本信息中获得对应的请求域名。例如,假设网络设备100获取到如图5所示的待检测dns报文(包括请求和响应两部分),则该待检测dns报文对应的请求域名为m54/xa6lagh0dha.=connect.ns.strage.lxw。

步骤s202,去除请求域名中的注册域名,得到待处理域名。

例如,将请求域名m54/xa6lagh0dha.=connect.ns.strage.lxw去除注册域名strage.lxw后,得到待处理域名为:m54/xa6lagh0dha.=connect.ns。

步骤s203,提取待检测dns报文的至少两个报文特征;其中,至少两个报文特征包括待处理域名的域名特征。

由于dns隐蔽信道报文中,一般去除注册域名后的请求域名的域名特征相对dns隐蔽信道报文的其他报文特征更为明显,为了避免注册域名带来的检测干扰,将待检测dns报文的待处理域名的域名特征作为报文特征参与检测,可以有效提高检测准确性。

步骤s204,根据至少两个报文特征和预先训练的报文检测模型,得到待检测dns报文是否属于dns隐蔽信道报文的检测结果。

在本实施例中,网络设备100在获取待检测dns报文的至少两个报文特征后,将该至少两个报文特征作为预先训练的报文检测模型的输入,然后根据报文检测模型输出的检测结果即可知道待检测dns报文是否属于dns隐蔽信道报文。

可见,本发明实施例提供的报文检测方法通过去除请求域名中的注册域名排除了注册域名对检测结果的干扰,将待检测dns报文的至少两个报文特征作为预先训练的报文检测模型的输入,并根据报文检测模型输出的检测结果来判断待检测dns报文是否属于dns隐蔽信道报文,有效提高了检测精度和准确度,减少了误报率。

可选地,该报文检测模型包括特征处理网络和模型预测网络,该检测结果可以包括待检测dns报文属于dns隐蔽信道报文的第一概率值和待检测dns报文属于非dns隐蔽信道报文的第二概率值,如图6所示,该步骤s204具体包括如下子步骤:

子步骤s2041,利用特征处理网络对至少两个报文特征进行编码,得到报文特征矩阵。

在本实施例中,将该至少两个报文特征输入报文检测模型后,通过嵌入层对该至少两个报文特征进行编码,然后组合成一个报文特征矩阵。

子步骤s2042,将报文特征矩阵输入模型预测网络,得到第一概率值和第二概率值,当第一概率值大于第二概率值时,确定待检测dns报文属于dns隐蔽信道报文。

在本实施例中,将经过嵌入层编码处理得到的报文特征矩阵输入模型预测网络,该报文特征矩阵依次经过卷积层、池化层、dropout层、全连接层及逻辑回归层的处理后,由逻辑回归层最终输出待检测dns报文属于dns隐蔽信道报文的第一概率值和待检测dns报文属于非dns隐蔽信道报文的第二概率值,当第一概率值大于第二概率值时,可确定待检测dns报文属于dns隐蔽信道报文。

例如,当逻辑回归层输出的检测结果为[0.985462,0.254868]时,可知该待检测dns报文属于dns隐蔽信道报文的第一概率值为0.985462,该待检测dns报文属于非dns隐蔽信道报文的第二概率值为0.254868,且第一概率值大于第二概率值,从而确定该待检测dns报文属于dns隐蔽信道报文。

可选地,该待处理域名的域名特征可以包括待处理域名的域名长度,和/或,待处理域名的域名字符列表,域名长度可以通过对待处理域名进行长度计数得到,域名字符列表可以通过对待处理域名的字符进行映射处理处理得到。

其中,映射处理指的是利用数字来表示待处理域名中的字符,故本实施例中的域名字符列表为按照预设的字符与数字的对应关系,将待处理域名中的每个字符转换为对应的数字构成的。例如,可以预先设置字符与数字的对应关系如下:'+':1,'-':2,'/':3,'.':4,'1':5,'0':6,'3':7,'2':8,'5':9,'4':10,'7':11,'6':12,'9':13,'8':14,'=':15,'\\':16,'a':17,'c':18,'b':19,'e':20,'d':21,'g':22,'f':23,'i':24,'h':25,'k':26,'j':27,'m':28,'l':29,'o':30,'n':31,'q':32,'p':33,'s':34,'r':35,'u':36,'t':37,'w':38,'v':39,'y':40,'x':41,'z':42。

在一个示例中,将待处理域名m54/xa6lagh0dha.=connect.ns进行长度计数,可得到该待处理域名的域名长度为27;将待处理域名m54/xa6lagh0dha.=connect.ns按照上述预先设置的字符与数字的对应关系进行映射处理后,所得到的域名字符列表为:[28,9,10,3,41,17,12,29,17,22,25,6,21,25,17,4,15,18,30,31,31,20,18,37,4,31,34]。

在本实施例中,该至少两个报文特征除了包括域名长度和/或域名字符列表以外,还可以包括待检测dns报文的域名记录类型、请求和响应的时间间隔、待检测dns报文的传输速率、具有待检测dns报文的ip地址的报文的总数量和具有请求域名的报文的总数量中的至少一种。其中,待检测dns报文包括请求和响应两部分内容,请求和响应构成一个会话,故请求和响应的时间间隔可以理解为该会话的会话时长,该待检测dns报文的域名记录类型一般包括a、aaaa、txt、cname、nm、null等。

例如,根据图5所示的待检测dns报文可提取出该待检测dns报文的域名记录类型为txt,请求和响应的时间间隔为0.005966-0.003278=0.002688s。

下面,以域名长度、域名字符列表、请求和响应的时间间隔以及域名记录类型四个报文特征为例,对待检测dns报文的检测过程进行详细阐述。在提取出待检测dns报文的域名长度、域名字符列表、请求和响应的时间间隔以及域名记录类型这四个报文特征后,将该四个报文特征输入报文检测模型,通过特征处理网络对输入的域名长度、域名字符列表、请求和响应的时间间隔以及域名记录类型进行编码得到报文特征矩阵,然后将报文特征矩阵输入到模型预测网络,模型预测网络根据训练好的各个神经元的权重、以及该四个报文特征各自对应的权重进行预测,最终输出待检测dns报文是否属于dns隐蔽信道报文的检测结果。

可以理解,在报文检测模型的训练阶段和预测阶段,模型预测网络对于输入的报文特征矩阵的处理流程基本一致,区别在于训练阶段需要不断地迭代计算并更新神经元的权重和报文特征的权重,直至报文检测模型达到收敛状态,而预测阶段由于模型预测网络中神经元的权重以及报文特征的权重都已经确定,故模型预测网络直接根据训练好的神经元的权重、报文特征的权重得到检测结果即可,不会进行迭代计算。

可选地,为了确认待检测dns报文的请求域名是否属于恶意域名,需对属于dns隐蔽信道报文的待检测dns报文对应的注册域名进行情报匹配。基于此,在图4的基础上,请参照图7,该报文检测方法还包括:

步骤s401,当检测结果为待检测dns报文属于dns隐蔽信道报文时,将注册域名与预存的域名情报库进行匹配。

其中,该域名情报库中存储有多个已确定的恶意域名,当检测到待检测dns报文属于dns隐蔽信道报文时,为了确认该待检测dns报文的请求域名是否属于恶意域名,可将该请求域名中的注册域名与域名情报库中的恶意域名进行匹配。

可选地,还可以在获取到待检测dns报文后,获取到注册域名时,将注册域名与预存的域名情报库进行匹配,然后再执行步骤s402。

步骤s402,当域名情报库中存在与注册域名匹配的域名时,确定待检测dns报文的请求域名为恶意域名。

在本实施例中,当检测结果为待检测dns报文属于dns隐蔽信道报文时,并且域名情报库中也存在与待检测dns报文的注册域名匹配的域名,则可以确定该待检测dns报文的请求域名为恶意域名,便于预知更深层次的攻击。此外,当待检测dns报文的注册域名在域名情报库中没有匹配上相应的域名时,则可以通过溯源的方式来确认该待检测dns报文的请求域名是否为恶意域名。在基于溯源的方式确定该待检测dns报文的请求域名为恶意域名后,还可根据该待检测dns报文的请求域名更新域名情报库,这样可以提高恶意域名检测效率。

可选地,在图4的基础上,请参照图8,该报文检测方法还包括:

步骤s501,确定具有注册域名的报文的第一计数值。

例如,网络设备100会对历次接收到的待检测dns报文进行计数操作,对不同的注册域名的待检测dns报文分别进行计数,如首次接收到携带新的注册域名的待检测dns报文,则对该新的注册域名的第一计数值记为1,下次接收到携带该新的注册域名的待检测dns报文后,更新上述第一计数值为2,依次类推。当接收到待检测dns报文后,发现待检测dns报文对应的注册域名为strage.com,通过查找发现注册域名为strage.com的报文对应的第一计数值为2,则对该待检测dns报文进行第一计数操作,得到具有注册域名strage.com的报文的第一计数值为3;当网络设备100再次接收到注册域名为strage.com的待检测dns报文后,查找到具有注册域名strage.com的报文对应的第一计数值为3,则对该待检测dns报文进行第一计数操作,得到具有注册域名strage.com的报文的第一计数值为4。如此,网络设备100针对不同注册域名的报文,都会进行相应的计数。

需要说明的是,对待检测dns报文进行第一计数操作既可以在得到待检测dns报文是否属于dns隐蔽信道报文的检测结果后进行,也可以在获取请求域名后进行,本实施例对此不做限制。

步骤s502,当检测结果为待检测dns报文属于dns隐蔽信道报文时,确定属于dns隐蔽信道报文并且具有注册域名的报文的第二计数值。

本步骤中计数方法与步骤s501中的计数方法类似,例如,假设检测结果得出之前网络设备100中记录的具有注册域名strage.com的报文中属于dns隐蔽信道报文的有7个,当检测结果为注册域名为strage.com的待检测dns报文属于dns隐蔽信道报文时,通过对待检测dns报文进行第二计数操作,将得到属于dns隐蔽信道报文并且具有注册域名的报文的第二计数值“8”,即此时具有注册域名strage.com的报文中属于dns隐蔽信道报文的有8个。

步骤s503,计算第一计数值与第二计数值的比值,以确定具有注册域名的报文属于dns隐蔽信道报文的概率。

具体实施时,结合步骤s501和s502,假设当前统计的具有注册域名strage.com的报文的第一计数值为10个,具有注册域名strage.com的报文中属于dns隐蔽信道报文的第二计数值为8个,则可确定具有注册域名strage.com的报文属于dns隐蔽信道报文的概率为8/10,从而便于判断同一个注册域名的报文属于dns隐蔽信道报文的可能性。如果判断具有该注册域名的报文属于dns隐蔽信道报文的可能性较大,并且通过前述步骤s401~s402中的注册域名的情报匹配,检测到该注册域名为恶意域名,则可以确定出dns隐蔽信道报文传输恶意域名的可能性比较高,从而确定该dns隐蔽信道本身可能存在问题。

为了执行上述实施例及各个可能的方式中的相应步骤,下面给出一种报文检测装置的实现方式。请参阅图9,图9为本发明实施例提供的报文检测装置600的一种功能模块图。需要说明的是,本实施例所提供的报文检测装置600,其基本原理及产生的技术效果和上述实施例相同,为简要描述,本实施例部分未提及之处,可参考上述的实施例中相应内容。该报文检测装置600包括请求域名获取模块610、注册域名去除模块620、报文特征提取模块630和检测模块640。

可选地,上述模块可以软件或固件(firmware)的形式存储于图1所示的存储器110中或固化于该网络设备100的操作系统(operatingsystem,os)中,并可由图1中的处理器120执行。同时,执行上述模块所需的数据、程序的代码等可以存储在存储器110中。

该请求域名获取模块610用于获取待检测dns报文对应的请求域名。

可以理解,该请求域名获取模块610可以执行上述步骤s201。

该注册域名去除模块620用于去除请求域名中的注册域名,得到待处理域名。

可以理解,该注册域名去除模块620可以执行上述步骤s202。

该报文特征提取模块630用于提取待检测dns报文的至少两个报文特征;其中,至少两个报文特征包括待处理域名的域名特征。

可选地,该待处理域名的域名特征包括待处理域名的域名长度,和/或,待处理域名的域名字符列表,其中,该域名字符列表为按照预设的字符与数字的对应关系,将待处理域名中的每个字符转换为对应的数字构成的。

可以理解,该报文特征提取模块630可以执行上述步骤s203。

该检测模块640用于根据至少两个报文特征和预先训练的报文检测模型,得到待检测dns报文是否属于dns隐蔽信道报文的检测结果。

可选地,报文检测模型包括特征处理网络和模型预测网络,该检测结果可以包括待检测dns报文属于dns隐蔽信道报文的第一概率值和待检测dns报文属于非dns隐蔽信道报文的第二概率值,该检测模块640用于利用特征处理网络对至少两个报文特征进行编码,得到报文特征矩阵,并将报文特征矩阵输入模型预测网络,得到第一概率值和第二概率值,当第一概率值大于第二概率值时,确定待检测dns报文属于dns隐蔽信道报文。

可以理解,该检测模块640可以执行上述子步骤s2041、子步骤s2042及步骤s204。

可选地,如图10所示,该报文检测装置600还可以包括域名匹配模块650,该域名匹配模块650用于当检测结果为待检测dns报文属于dns隐蔽信道报文时,将注册域名与预存的域名情报库进行匹配,当域名情报库中存在与注册域名匹配的域名时,确定待检测dns报文的请求域名为恶意域名。

可以理解,该域名匹配模块650可以执行上述步骤s401及步骤s402。

可选地,该报文检测装置600还可以包括计数模块660和比值计算模块670。

该计数模块660用于确定具有注册域名的报文的第一计数值,以及当检测结果为待检测dns报文属于dns隐蔽信道报文时,确定属于dns隐蔽信道报文并且具有注册域名的报文的第二计数值。

可以理解,该计数模块660可以执行上述步骤s501及步骤s502。

该比值计算模块670用于计算第一计数值与第二计数值的比值,以确定具有注册域名的报文属于dns隐蔽信道报文的概率。

可以理解,该比值计算模块670可以执行上述步骤s503。

综上所述,本发明实施例提供的报文检测方法、装置、网络设备和计算机可读存储介质,通过获取待检测dns报文对应的请求域名,并去除请求域名中的注册域名,得到待处理域名,通过提取待检测dns报文的至少两个报文特征,其中,该至少两个报文特征包括待处理域名的域名特征,根据该至少两个报文特征和预先训练的报文检测模型,可得到待检测dns报文是否属于dns隐蔽信道报文的检测结果。可见,本发明实施例通过去除注册域名的干扰,将待检测dns报文对应的域名长度、域名字符列表、请求和响应的时间间隔以及域名记录类型等多个报文特征作为检测指标输入报文检测模型,从而得到待检测dns报文是否属于dns隐蔽信道报文的检测结果,故可以有效提高检测精度和准确度,减少误报率。

在本申请所提供的几个实施例中,应该理解到,所揭露的装置和方法,也可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,附图中的流程图和框图显示了根据本发明的多个实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现方式中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

另外,在本发明各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

所述功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1