一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于神经网络的恶意程序检测方法和系统与流程

2022-11-13 11:42:16 来源:中国专利 TAG:


1.本技术涉及网络安全技术领域,尤其涉及一种基于神经网络的恶意程序检测方法和系统。


背景技术:

2.现有的恶意检测方法常见是对数据流的孤立分析或聚合分析,往往忽略了流量之间丰富的相互关系。流量之间通常都是与业务或行为相关联,而极其多样化的业务或行为经常会使得正常流量与恶意流量看起来非常相似,常见的检测方法效果难以保证。
3.我们注意到,业务或行为都是具有高度相关性的,恶意程序即使利用业务或行为的一个片段进行模仿或篡改,也很难保持这种高相关性。利用这种高度相关性进行检测将会取得非常不错的效果。
4.因此,急需一种针对性的基于神经网络的恶意程序检测方法和系统。


技术实现要素:

5.本发明的目的在于提供一种基于神经网络的恶意程序检测方法和系统,解决现有技术在多样化网络环境中难以区分正常流量与恶意流量的问题。
6.第一方面,本技术提供一种基于神经网络的恶意程序检测方法,所述方法包括:
7.采集终端访问网络应用的数据流,从所述数据流中提取报文头部字段内容,识别出使用所述终端的客户端,为每一个客户端生成一个单独的标识符;
8.从报文载荷部分提取握手原始字节、记录长度序列、ip地址和端口若干特征,根据业务和行为的关联规则,计算所述若干特征之间的相关度,以此构建远近流量矩阵图;
9.按照时域连续性采样所述数据流,得到降维后的离散数据流;
10.获取所述离散数据流,调用服务器的句法模型,进行断句,得到第一词分量;
11.将所述第一词分量,逐个输入服务器的语义分析模型,接收返回的所述第一词分量对应的词含义;
12.根据第一规则从词含义中过滤冗余信息,得到过滤后对应的第二词分量,将所述远近流量矩阵图中相连节点的特征向量和第二词分量一起输入矩阵模板,得到第一词分量矩阵;所述相连节点是指共享相同目的ip地址或目的端口,或共享相同的行为模式的节点;
13.将所述第一词分量矩阵输入到识别模型的输入层,计算出不同词类的标准差,所述标准差用于确定后续卷积层的滑动窗口的宽度大小;所述识别模型为基于随机森林和卷积神经网络的模型架构;
14.所述输入层的输出送入所述识别模型的卷积层中,利用不同大小的滑动窗口来选择文本中的局部词分量,拼接局部词分量得到第二词分量矩阵,将所述第二词分量矩阵送入所述识别模型的池化层;
15.所述池化层通过选择池化函数来选择区分所述词含义有效的特征值,再次拼接得到第三词分量矩阵;
16.将完成上述处理的第三词分量矩阵传输到所述识别模型的随机森林中进行分类,随机森林把所述第三词分量矩阵进行n轮抽取,得到n个训练集,使用抽取的n个训练集由列采样随机使用指定量特征值训练得到n棵决策树,所述n棵决策树按照投票的方式得到分类结果;
17.根据所述分类结果判断所述采集终端发送的数据流是否包括攻击向量,如果包括攻击向量则阻断该数据流,反之则允许该数据流。
18.第二方面,本技术提供一种基于神经网络的恶意程序检测系统,所述系统包括:
19.采集模块,用于采集终端访问网络应用的数据流,从所述数据流中提取报文头部字段内容,识别出使用所述终端的客户端,为每一个客户端生成一个单独的标识符;
20.构建模块,用于从报文载荷部分提取握手原始字节、记录长度序列、ip地址和端口若干特征,根据业务和行为的关联规则,计算所述若干特征之间的相关度,以此构建远近流量矩阵图;按照时域连续性采样所述数据流,得到降维后的离散数据流;
21.语义模块,用于获取所述离散数据流,调用服务器的句法模型,进行断句,得到第一词分量;将所述第一词分量,逐个输入服务器的语义分析模型,接收返回的所述第一词分量对应的词含义;根据第一规则从词含义中过滤冗余信息,得到过滤后对应的第二词分量,将所述远近流量矩阵图中相连节点的特征向量和第二词分量一起输入矩阵模板,得到第一词分量矩阵;所述相连节点是指共享相同目的ip地址或目的端口,或共享相同的行为模式的节点;
22.识别模块,包括识别模型,所述识别模型为基于随机森林和卷积神经网络的模型架构,用于接收ai模块输出的所述第一词分量矩阵,输入到识别模型的输入层,计算出不同词类的标准差,所述标准差用于确定后续卷积层的滑动窗口的宽度大小;所述输入层的输出送入所述识别模型的卷积层中,利用不同大小的滑动窗口来选择文本中的局部词分量,拼接局部词分量得到第二词分量矩阵,将所述第二词分量矩阵送入所述识别模型的池化层;所述池化层通过选择池化函数来选择区分所述词含义有效的特征值,再次拼接得到第三词分量矩阵;
23.将完成上述处理的第三词分量矩阵传输到所述识别模型的随机森林中进行分类,随机森林把所述第三词分量矩阵进行n轮抽取,得到n个训练集,使用抽取的n个训练集由列采样随机使用指定量特征值训练得到n棵决策树,所述n棵决策树按照投票的方式得到分类结果;
24.执行模块,用于根据所述分类结果判断所述采集终端发送的数据流是否包括攻击向量,如果包括攻击向量则阻断该数据流,反之则允许该数据流。
25.第三方面,本技术提供一种基于神经网络的恶意程序检测系统,所述系统包括处理器以及存储器:
26.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
27.所述处理器用于根据所述程序代码中的指令执行第一方面四种可能中任一项所述的方法。
28.第四方面,本技术提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面四种可能中任一项所述的方法。
29.有益效果
30.本发明提供一种基于神经网络的恶意程序检测方法和系统,通过从报文载荷部分提取握手原始字节、记录长度序列、ip地址和端口若干特征,构建远近流量矩阵图,将其中相连节点的特征向量与词分量一起识别是否为攻击,克服了现有技术在多样化网络环境中难以区分正常流量与恶意流量的问题;通过调用句法模型和语义分析模型,可以自动化完成数据流的断句和冗余过滤,实现了特征提取的自动化;通过卷积神经网络和随机森林分类,可以进一步突出所需的特征向量,整合了不同的分类能力。
附图说明
31.为了更清楚地说明本发明实施例中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
32.图1为本发明基于神经网络的恶意程序检测方法的大致流程图;
33.图2为本发明基于神经网络的恶意程序检测系统的架构图。
具体实施方式
34.下面结合附图对本发明的优选实施例进行详细阐述,以使本发明的优点和特征能更易于被本领域技术人员理解,从而对本发明的保护范围做出更为清楚明确的界定。
35.图1为本技术提供的基于神经网络的恶意程序检测方法的大致流程图,所述方法包括:
36.采集终端访问网络应用的数据流,从所述数据流中提取报文头部字段内容,识别出使用所述终端的客户端,为每一个客户端生成一个单独的标识符;
37.从报文载荷部分提取握手原始字节、记录长度序列、ip地址和端口若干特征,根据业务和行为的关联规则,计算所述若干特征之间的相关度,以此构建远近流量矩阵图;
38.所述握手原始字节中可以包括:加密通信版本、扩展信息、加密套件、数字证书等信息;
39.所述远近流量矩阵图中的远近是由所述若干特征之间的相关度决定的。
40.按照时域连续性采样所述数据流,得到降维后的离散数据流;
41.获取所述离散数据流,调用服务器的句法模型,进行断句,得到第一词分量;
42.将所述第一词分量,逐个输入服务器的语义分析模型,接收返回的所述第一词分量对应的词含义;
43.根据第一规则从词含义中过滤冗余信息,得到过滤后对应的第二词分量,将所述远近流量矩阵图中相连节点的特征向量和第二词分量一起输入矩阵模板,得到第一词分量矩阵;
44.所述相连节点是指共享相同目的ip地址或目的端口,或共享相同的行为模式的节点;还包括将共享相同目的ip地址或目的端口的两条加密会话之间建立关联关系。
45.将所述第一词分量矩阵输入到识别模型的输入层,计算出不同词类的标准差,所述标准差用于确定后续卷积层的滑动窗口的宽度大小;所述识别模型为基于随机森林和卷积神经网络的模型架构;
46.所述输入层的输出送入所述识别模型的卷积层中,利用不同大小的滑动窗口来选
择文本中的局部词分量,拼接局部词分量得到第二词分量矩阵,将所述第二词分量矩阵送入所述识别模型的池化层;
47.所述池化层通过选择池化函数来选择区分所述词含义有效的特征值,再次拼接得到第三词分量矩阵;
48.将完成上述处理的第三词分量矩阵传输到所述识别模型的随机森林中进行分类,随机森林把所述第三词分量矩阵进行n轮抽取,得到n个训练集,使用抽取的n个训练集由列采样随机使用指定量特征值训练得到n棵决策树,所述n棵决策树按照投票的方式得到分类结果;
49.根据所述分类结果判断所述采集终端发送的数据流是否包括攻击向量,如果包括攻击向量则阻断该数据流,反之则允许该数据流。
50.所述判断终端发送的数据流中包括了攻击向量,则认定终端中包括了恶意程序。
51.在一些优选实施例中,所述识别模型在训练时,通过反向的传播方式来最小化熵损失函数,避免过饱和,当所述识别模型的精度满足阈值的要求,则表明该识别模型训练完成。然后可用于数据验证。
52.在一些优选实施例中,所述每棵决策树的分类能力具有针对性,所述指定量特征值是根据不同分类得出的,将同一个特征向量矩阵通过决策树按照不同的角度进行分类,即完成针对不同分类能力的整合功能。其分类性能高于单个分类器。
53.随机森林中一棵决策树的平均泛化误差与回归函数有关。
54.在一些优选实施例中,所述投票的方式包括将每棵决策树的输出结果进行加权累加。
55.图2为本技术提供的基于神经网络的恶意程序检测系统的架构图,所述系统包括:
56.采集模块,用于采集终端访问网络应用的数据流,从所述数据流中提取报文头部字段内容,识别出使用所述终端的客户端,为每一个客户端生成一个单独的标识符;
57.构建模块,用于从报文载荷部分提取握手原始字节、记录长度序列、ip地址和端口若干特征,根据业务和行为的关联规则,计算所述若干特征之间的相关度,以此构建远近流量矩阵图;按照时域连续性采样所述数据流,得到降维后的离散数据流;
58.语义模块,用于获取所述离散数据流,调用服务器的句法模型,进行断句,得到第一词分量;将所述第一词分量,逐个输入服务器的语义分析模型,接收返回的所述第一词分量对应的词含义;根据第一规则从词含义中过滤冗余信息,得到过滤后对应的第二词分量,将所述远近流量矩阵图中相连节点的特征向量和第二词分量一起输入矩阵模板,得到第一词分量矩阵;所述相连节点是指共享相同目的ip地址或目的端口,或共享相同的行为模式的节点;
59.识别模块,包括识别模型,所述识别模型为基于随机森林和卷积神经网络的模型架构,用于接收ai模块输出的所述第一词分量矩阵,输入到识别模型的输入层,计算出不同词类的标准差,所述标准差用于确定后续卷积层的滑动窗口的宽度大小;所述输入层的输出送入所述识别模型的卷积层中,利用不同大小的滑动窗口来选择文本中的局部词分量,拼接局部词分量得到第二词分量矩阵,将所述第二词分量矩阵送入所述识别模型的池化层;所述池化层通过选择池化函数来选择区分所述词含义有效的特征值,再次拼接得到第三词分量矩阵;
60.将完成上述处理的第三词分量矩阵传输到所述识别模型的随机森林中进行分类,随机森林把所述第三词分量矩阵进行n轮抽取,得到n个训练集,使用抽取的n个训练集由列采样随机使用指定量特征值训练得到n棵决策树,所述n棵决策树按照投票的方式得到分类结果;
61.执行模块,用于根据所述分类结果判断所述采集终端发送的数据流是否包括攻击向量,如果包括攻击向量则阻断该数据流,反之则允许该数据流。
62.本技术提供一种基于神经网络的恶意程序检测系统,所述系统包括:所述系统包括处理器以及存储器:
63.所述存储器用于存储程序代码,并将所述程序代码传输给所述处理器;
64.所述处理器用于根据所述程序代码中的指令执行第一方面所有实施例中任一项所述的方法。
65.本技术提供一种计算机可读存储介质,所述计算机可读存储介质用于存储程序代码,所述程序代码用于执行第一方面所有实施例中任一项所述的方法。
66.具体实现中,本发明还提供一种计算机存储介质,其中,该计算机存储介质可以存储有程序,该程序执行时可包括本发明各个实施例中的部分或全部步骤。所述的存储介质可以为磁碟、光盘、只读存储记忆体(简称:rom)或随机存储记忆体(简称:ram)等。
67.本领域的技术人员可以清楚地了解到本发明实施例中的技术可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明实施例中的技术方案本质上或者对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
68.本说明书各个实施例之间相同相似的部分互相参见即可。尤其,对于实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例中的说明即可。
69.以上所述的本发明实施方式并不构成对本发明保护范围的限定。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献