一种基于幂级数RNN的多态网络蠕虫特征码提取的制作方法

文档序号:20686167发布日期:2020-05-08 18:50阅读:282来源:国知局
一种基于幂级数RNN的多态网络蠕虫特征码提取的制作方法

本发明属于特征码提取技术领域,涉及一种基于幂级数rnn的多态网络蠕虫特征码提取。



背景技术:

随着科学技术的进步和最新科研成果的普及,互联网在人们的生活中起着越来越重要的作用。人们的互联、互信、互通都经过互联网来完成,甚至个人信息都需要上传至网络来完成如征信,报税等工作。互联网用户也越来越多的利用互联网来存储私人数据。互联网在方便着人们生活工作的同时,可却也带来了一定的危机。层出不穷的恶意程序活跃在互联网中,无时无刻地觊觎着各种各样的信息。这对于数据存储甚至整个互联网的安全都带来了全新的挑战,并且随着编程难度的下降新的恶意程序获得的门槛也日渐降低,这大大增加了网络安全维护的难度。

表1-1蠕虫,木马,病毒区别

恶意程序主要分为以下几种:第一,后门程序:是指那些绕过安全性控制而获取对程序或系统访问权的程序方法,为某位系统的使用者提供控制计算机的途径。第二,计算机病毒:是一种恶意的软件程序,当它运行的时候通过修改其它电脑程序或插入自己的代码,来达到自主复制的效果。当复制结束的时候,受影响的区域则称其感染了蠕虫。但是它本身不能独立运行,需要通过它感染的程序运行之后将其激活。第三,木马:对用户隐藏自己真实目标的程序,当用户执行的时候才会感染文件,种植木马的人可以通过木马对主机进行控制,还可以获取感染主机中所存储的信息。第四,网络蠕虫:通过网络自身传输到其他节点上的可以独立运行的程序代码。主要是通过文件、邮件和网络共享等方式进行传播,主要特点是通过扫描其他节点主机的漏洞,利用系统的漏洞来攻击其它主机。表1-1则展示了四种恶意程序的不同。

由于网络蠕虫是一种不需要人工干预就可以自动运行的恶意代码,所以其越来越多的受到不法分子的使用。2017年5月在世界范围内爆发的“勒索病毒”即是蠕虫的一种,造成了约80亿美元的经济损失。然而目前阻止蠕虫感染的主流方法是对系统漏洞和软件漏洞打补丁来阻断蠕虫的传播,可是由于蠕虫传播速度特别快,而且打补丁所花费的时间较长,导致蠕虫得以在短时间内传遍整个网络。并且随着蠕虫技术的发展,多态蠕虫由于其每个实例都有不同字符序列的特点,更进一步增加了蠕虫防治的难度。

在互联网发展的同时,对深度学习的研究也逐渐深入。神经网络是深度学习的一种,并且由于其具有适应性的简单单元组成的广泛并行互联的网络,他的组织能够模拟生物神经系统对真实的世界物体所做出交互反应。深度神经网络是指两层及以上的神经网络相连接,而神经网络的层数直接决定了它对现实的刻画能力——利用每层更少的神经元拟合更加复杂的函数。

随着计算机运算能力的提升,深度神经网络的应用也越来越宽泛,在2006年hinton提出了用自主学习初始化参数,通过逐步调优的方法来解决深度网络学习问题,深度学习的发展进入了全新的阶段。cnn与rnn分别是深度神经网络的两个实现方式,已经在图像分类方面和自然语言的处理等方面取得了可观的成绩。



技术实现要素:

鉴于病毒特征码的重要性,本发明使用了基于幂级数rnn作为解码器的深度神经网络进行了蠕虫特征码提取操作。实验前先获取基于cnn的蠕虫分类实验所获得的蠕虫有效载荷和已知的该种蠕虫的特征码。蠕虫的有效载荷由于多态的缘故每个实例的信息都是不同的,但是蠕虫的特征码在每个蠕虫实例的多态信息中全部都是相同的。特征码可以用来标记蠕虫,检测网络流量中出现了蠕虫特征码即表明出现了蠕虫病毒。再对蠕虫及特征码依据ascii表进行相应的映射化处理后,使蠕虫作为提取源,同时蠕虫特征码作为提取目标。并且由于幂级数可以将函数在某点的值依照某种规则展开为幂级数的形式,而这跟rnn网络中解码器的功能是类似,故据此提出了全新的幂级数rnn并进行了介绍,最后将幂级数rnn作为解码器进行了实验并讨论了实验的优劣。

本发明包括如下技术方案:

一种基于幂级数rnn的多态网络蠕虫特征码提取,基于幂级数rnn的网络结构分为:处理输入数据/预处理、seq-to-seq加attention模型、解码、beamsearch方法生成摘要四个部分。

所述seq-to-seq的网络模型,输入层与输出层之间加入中间层;中间层的作用是固定长度每次由输入层输出的字节长度,同输出层所得到的字节长度是一致的,即中间层的字节长度是固定的;

seq-to-seq中最为核心的就是encoder-decoder机制,它通过引入中间量的方式,从而达到了seq-to-seq的设计目标;在模型设计时引入了attention机制,在综合考虑整个文本的基础上,对每个基本单元进行概率计算。

编码器就是encoder,encoder通过对输入的数据通过某种变换函数的计算从而生成了一种语义,这种中间语义就可以交给decoder进行解码操作;解码器即decoder,其任务根据解码器所生成的中间语义和之前通过训练生成的所有历史信息来生成某一时刻要生成的单词;

幂级数是函数在某一点按照某种规则展开的无限级数格式,以下公式就是一个幂级数的展示,其中an代表第n项的系数,c是常数;一个独立于x并且可以展开为n的函数:

seq-to-seq网络中编码器的作用是将输入数据编码成中间值,解码器需要将编码器生成的中间值解码为特征码,由于幂级数可以将函数在某点的值展开成幂级数的形式,而这跟解码器的功能类似,故拟采用幂级数展开式理论来设计解码器,即为幂级数rnn解码器。

根据幂级数的展开形式,将rnn的记忆细胞在时刻t-1用矩阵ht-1∈d*k来表示,其中d表示状态的维数,k代表分解的维数;那么借鉴于传统的lstm理论,rnn网络应该同时考虑过去状态的门限和当前的短记忆ht-1,因此,网络的记忆细胞单元计算公式如下:

其中就是ht-1在t-1这一时刻展开的函数公式;

表示ft的k-1阶导数,输入门it表示流入当前存储单元最新的信息量,忘记门ft来控制在存储单元中应该保存多少过去状态的信息。那么根据幂级数理论,忘记门ft,输入门it计算方法如下:

it=sigmoid(wixt+uiht+bi)(4.3)

ft=sigmoid(wfxt+ufht+bf)(4.4)

jt可以看作是一个在两个连续时间戳之间的中间状态,其计算方法如下:

jt=tanh(wjxt+ujht-1+bj)(4.5)

最后,输出门则综合历史状态以及当前状态信息,最终计算方法如下:

ot=sigmoid(woxt+uoht+bo)(4.6)

因此,网络通过不断迭代公式(4.6)和(4.7)来完成不断记忆和学习的过程,在这个过程中忘记门,输入门和输出门发挥了重要的作用,使得网络可以有效的记忆并且学习恶意代码的特征;幂级数rnn同lstm最大的不同之处就在于对短记忆ht-1的处理方面,分别将ht-1进行幂级数的展开,然后再将按照幂级数方式展开的ht分别带入到输入门it-1,忘记门ft-1,输出门ot-1中去;

由于网络流量是离散的,因此导数的计算需要在离散时间域中定义,所以网络信息的一阶导数可以离散化为状态差:

由于在恶意代码的特征提取过程中,每个迭代过程的时间其实就是迭代的次数,因此这里每次迭代的时间为单位时间即为1,所以公式(4.8)并没有时间出现。同理,可以得到二阶导数的计算方法:

结合公式由此可以推出(4.8)和(4.9)可以的出的求n阶导数的公式,公式如(4.10)所示,其中当k>1时s前的系数a是二项式的系数:

本发明的有益效果:

本发明使用cnn网络实现多态蠕虫检测的工作,使用rnn网络进行多态蠕虫特征码提取的工作。从而获取训练后的到的可以自动进行蠕虫检测的模型与自动提取蠕虫特征码的模型。进而大大加快了蠕虫的查杀工作,将蠕虫消灭在蠕虫爆发的初期,从而大幅减少经济损失。

附图说明

为了便于本领域技术人员理解,下面结合附图对本发明作进一步的说明。

图1为本发明seq-to-seq示意图;

图2是改进后的幂级数rnn的示意图。

具体实施方式

seq-to-seq和attention机制

由于rnn网络对于信息中的关键字的提取已经取得了良好的结果,而蠕虫特征码是从流量中提取的,并且这段特征码就可以作为这个流量的代表,多态蠕虫虽可通过改变自身的表现形态,但是蠕虫特征码是一样的。特征码同流量相比只占到了流量的小部分,所以使用rnn网络进行蠕虫特征码提取的研究。

seq-to-seq最早由使用lstm来实现,现有技术中则完整的提出了基于rnn的encoder-decoder机制。在本实施例中由于特征码提取的输入和输出是不相同的,若是直接进行编码和解码过程则每次有新的输入与输出时都需要进行编写全新的网络。不仅仅减少了程序的可重复利用性,也增加了总的运算量增高了编程难度。且同实验的初始设定目标——实现自动化的蠕虫特征码提取功能——是相左的,所以在这里本实施例采用了seq-to-seq的网络模型。这样设计实现了在多种输入到多种输出的映射,在设计时在输入层与输出层之间加入了中间层。中间层的作用是固定长度每次由输入层输出的字节长度,同输出层所得到的字节长度是一致的,即中间层的字节长度是固定的。seq-to-seq示意图见图1。seq-to-seq中最为核心的就是encoder-decoder机制,它通过引入中间量的方式,从而达到了seq-to-seq的设计目标。

attention机制通过模拟人类阅读的方式来进行机器翻译研究,蠕虫的特征码分布在蠕虫攻击代码中的,实验的主要目标就是找到这些特征码,而不必去关注所有的输入,需要将神经网络关注的重点集中于部分重点词汇中,所以在模型设计时引入了attention机制。attention机制始于机器翻译的相关研究。

在进行基本单元转换的时候,不是依次转换每个基本单元,而是在综合考虑整个文本的基础上,对每个基本单元进行概率计算,基本等转换单元为“\xff”,“\xbf”,“\xfa”三个部分,进行转换时综合考虑每个基本单元在整个文本中的意义。在转换为“\xaf”这个基本单元的时候,需要同时考虑“\xff”,“\xbf”,“\xfa”这三个基本单元。

基于幂级数rnn的网络结构

网络结构可以分为处理输入数据/预处理、seq-to-seq加attention模型、解码、beamsearch方法生成摘要四个部分。输入数据为网络蠕虫的有效载荷,seq-to-seq和attention模型在这里不再累述。

编码器就是encoder,encoder通过对输入的数据通过某种变换函数的计算从而生成了一种语义,这种中间语义就可以交给decoder进行解码操作。

解码器即decoder,其任务根据解码器所生成的中间语义和之前通过训练生成的所有历史信息来生成某一时刻要生成的单词。每个单词都依次这么产生,那么看起来就是整个系统根据输入句子1生成了目标句子2。在本文在解码器出使用了本文提出的幂级数rnn。

实验时通过tensorflow来计算序列的损失函数。每次训练完毕后,使用获得的模型,利用beam_search算法来搜索解码后的信息。通过比较解码结果与蠕虫特征码,可以直观的观察到通过rnn网络学习所得模型的优劣。beam_search在广度优先搜索的基础上进了搜索空间的优化从而达到减少内存使用空间的目标。

幂级数rnn

幂级数rnn是在lstm的基础上进一步修改的,通过对lstm中长期记忆进行幂级数化处理,从而获取更优的结果。本实施例通过在lstm中引入傅立叶变换,将时域与频域引入到lstm的长期记忆与忘记门中,从而实现了股票预测的功能。

幂级数是函数在某一点按照某种规则展开的无限级数格式,以下公式就是一个幂级数的展示,其中an代表第n项的系数,c是常数。一个独立于x并且可以展开为n的函数:

seq-to-seq网络中编码器的作用是将输入数据编码成中间值,解码器需要将编码器生成的中间值解码为特征码,由于幂级数可以将函数在某点的值展开成幂级数的形式,而这跟解码器的功能类似,因此本项目拟采用幂级数展开式理论来设计解码器,我们称之为幂级数rnn解码器。

根据幂级数的展开形式,我们将rnn的记忆细胞在时刻t-1用矩阵ht-1∈d*k来表示,其中d表示状态的维数,k代表分解的维数。那么借鉴于传统的lstm理论,rnn网络应该同时考虑过去状态的门限和当前的短记忆ht-1。因此,网络的记忆细胞单元计算公式如下:

其中就是ht-1在t-1这一时刻展开的函数公式。

表示ft的k-1阶导数,输入门it表示流入当前存储单元最新的信息量,忘记门ft来控制在存储单元中应该保存多少过去状态的信息。那么根据幂级数理论,忘记门ft,输入门it计算方法如下:

it=sigmoid(wixt+uiht+bi)(4.3)

ft=sigmoid(wfxt+ufht+bf)(4.4)

jt可以看作是一个在两个连续时间戳之间的中间状态,其计算方法如下:

jt=tanh(wjxt+ujht-1+bj)(4.5)

最后,输出门则综合历史状态以及当前状态信息,最终计算方法如下:

ot=sigmoid(woxt+uoht+bo)(4.6)

因此,网络通过不断迭代公式(4.6)和(4.7)来完成不断记忆和学习的过程,在这个过程中忘记门,输入门和输出门发挥了重要的作用,使得网络可以有效的记忆并且学习恶意代码的特征。幂级数rnn同lstm最大的不同之处就在于对短记忆ht-1的处理方面,分别将ht-1进行幂级数的展开,然后再将按照幂级数方式展开的ht分别带入到输入门it-1,忘记门ft-1,输出门ot-1中去。

由于网络流量是离散的,因此导数的计算需要在离散时间域中定义,所以网络信息的一阶导数可以离散化为状态差:

由于在恶意代码的特征提取过程中,每个迭代过程的时间其实就是迭代的次数,因此这里每次迭代的时间为单位时间即为1,所以公式(4.8)并没有时间出现。同理,我们可以得到二阶导数的计算方法:

结合公式由此可以推出(4.8)和(4.9)可以的出的求n阶导数的公式,公式如(4.10)所示,其中当k>1时s前的系数a是二项式的系数:

图2就是改进后的幂级数rnn的示意图。通过经过幂级数化的长期记忆点乘在输入门与中间状态,从而获得更加准确的长期记忆状态;其它的结构同原有的lstm相同。在进行实验之前需要确定幂级数展开的项数k。

以上公开的本发明优选实施例只是用于帮助阐述本发明。优选实施例并没有详尽叙述所有的细节,也不限制该发明仅为所述的具体实施方式。显然,根据本说明书的内容,可作很多的修改和变化。本说明书选取并具体描述这些实施例,是为了更好地解释本发明的原理和实际应用,从而使所属技术领域技术人员能很好地理解和利用本发明。本发明仅受权利要求书及其全部范围和等效物的限制。

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