一种基于深度学习的恶意程序攻击识别方法、系统及终端与流程

文档序号:33703638发布日期:2023-03-31 20:40阅读:30来源:国知局
1.本技术涉及计算机网络安全
技术领域
:,特别是涉及一种基于深度学习的恶意程序攻击识别方法、系统及终端。
背景技术
::2.随着互联网技术的发展,基于互联网的各种设施如:智能家居、智能电网、智慧城市、智慧医疗、智慧农业、可穿戴设备等越来越多地融入人们的生活中。相应地,这些开放的网络和标准化的软硬件设施,也给网络安全带来很多潜在威胁。因此,有效的网络安全解决方案对于检测和打击网络攻击越来越重要。如何使计算机免受来自互联网的攻击,已成为社会各界密切关注的问题,而如何针对一些典型的恶意攻击提出有效的识别方法,从而对其进行防范,是首先需要解决的重要问题。3.目前对恶意程序攻击进行识别的方法,通常是基于统计学或传统机器学习,主要基于静态文件特征码和高危动态行为特征对恶意程序进行识别。具体地,基于n-p(neyman-pearson)准则来区分正常用户和恶意用户,为了解决模糊攻击的检测问题,将被攻击的数据集建模为多元高斯混合模型,并基于该模型设计有监督和无监督的n-p检测器。或者使用随机森林和pca(principalcomponentanalysis,主成分分析)进行流量预处理,再使用改进的k-means算法进行攻击聚类,并基于cart(classificationandregressiontree,分类回归树)决策树实现攻击分类,进而完成攻击检测。4.然而,目前对恶意程序攻击进行识别的方法中,由于主要是基于静态文件特征码和高危动态行为特征对恶意程序进行识别,随着恶意程序数量的不断增长,这种识别方法很难全部覆盖恶意程序,这就导致目前的识别方法所识别的恶意程序不全面,有些恶意程序会识别不出来,那些无法识别出来的恶意程序就会继续对互联网的安全造成威胁。因此,目前对恶意程序攻击进行识别的方法识别的准确性不过高,识别效率较低。技术实现要素:5.本技术提供了一种基于深度学习的恶意程序攻击识别方法、系统及终端,以解决现有技术中的识别方法识别的准确性较低,识别效率较低的问题。6.为了解决上述技术问题,本技术实施例公开了如下技术方案:7.一种基于深度学习的恶意程序攻击识别方法,所述方法包括:8.获取待测恶意攻击信息json字符串;9.根据所述待测恶意攻击信息json字符串,生成字符编码序列;10.对所述字符编码序列进行特征数据预处理,获取特征嵌入向量集合;11.采用字符嵌入以及拼接的方法,根据所述字符编码序列形成上下文向量,并用所述上下文向量表示所述待测恶意攻击信息json字符串的全局特征;12.根据所述特征嵌入向量集合和全局特征,利用注意力机制捕获所述待测恶意攻击信息json字符串中的局部特征;13.对所述全局特征和局部特征进行拼接,生成攻击特征向量;14.根据所述攻击特征向量,对恶意程序攻击进行识别。15.可选地,对所述全局特征和局部特征进行拼接,生成攻击特征向量后,所述方法还包括:16.利用多层感知机,将所述攻击特征向量转换成概率分布向量,所述概率分布向量用于表征所述待测恶意攻击信息属于某一类别。17.可选地,根据所述攻击特征向量,对恶意程序攻击进行识别,具体为:18.根据所述概率分布向量,对恶意程序攻击进行识别。19.可选地,根据所述待测恶意攻击信息json字符串,生成字符编码序列的方法,包括:20.将所述待测恶意攻击信息json字符串拆分成字符序列;21.根据字符-索引字典构建字符嵌入表;22.利用所述字符嵌入表,将所述字符序列转换成字符向量序列;23.对所述字符向量序列进行编码,形成字符编码序列。24.可选地,对所述字符编码序列进行特征数据预处理,获取特征嵌入向量集合的方法,包括:25.提取所述字符编码序列中的“properties”特征信息;26.将提取结果组成特征集合;27.通过查表的方式,根据所述特征集合获取特征嵌入向量集合。28.可选地,根据所述特征嵌入向量集合和全局特征,利用注意力机制捕获所述待测恶意攻击信息json字符串中的局部特征的方法,具体为:29.根据所述特征嵌入向量集合和上下文向量,通过注意力模型采用查询-键-值模式进行注意力得分计算,获取局部特征向量。30.一种基于深度学习的恶意程序攻击识别系统,所述系统包括:31.字符串获取模块,用于获取待测恶意攻击信息json字符串;32.字符编码序列生成模块,用于根据所述待测恶意攻击信息json字符串,生成字符编码序列;33.特征嵌入向量集合获取模块,用于对所述字符编码序列进行特征数据预处理,获取特征嵌入向量集合;34.全局特征获取模块,用于采用字符嵌入以及拼接的方法,根据所述字符编码序列形成上下文向量,并用所述上下文向量表示所述待测恶意攻击信息json字符串的全局特征;35.局部特征获取模块,用于根据所述特征嵌入向量集合和全局特征,利用注意力机制捕获所述待测恶意攻击信息json字符串中的局部特征;36.攻击特征向量生成模块,用于对所述全局特征和局部特征进行拼接,生成攻击特征向量;37.识别模块,用于根据所述攻击特征向量,对恶意程序攻击进行识别。38.可选地,所述系统中还包括:概率分布向量生成模块,用于利用多层感知机,将所述攻击特征向量转换成概率分布向量,所述概率分布向量用于表征所述待测恶意攻击信息属于某一类别。39.可选地,所述特征嵌入向量集合获取模块包括:40.提取单元,用于提取所述字符编码序列中的“properties”特征信息;41.集合单元,用于将提取结果组成特征集合;42.查表单元,用于通过查表的方式,根据所述特征集合获取特征嵌入向量集合。43.一种终端,所述终端包括:处理器以及与所述处理器通信连接的存储器,其中,44.所述存储器中存储有可被所述处理器执行的指令,所述指令被所述处理器执行,以使所述处理器能够执行如上任意一项所述的基于深度学习的恶意程序攻击识别方法。45.本技术的实施例提供的技术方案可以包括以下有益效果:46.本技术提供一种基于深度学习的恶意程序攻击识别方法,该方法首先获取待测恶意攻击信息json字符串,根据所该字符串生成字符编码序列,然后对字符编码序列进行特征数据预处理,获取特征嵌入向量集合,其次,采用字符嵌入以及拼接的方法,根据字符编码序列形成上下文向量,并用上下文向量表示待测恶意攻击信息json字符串的全局特征;根据特征嵌入向量集合和全局特征,利用注意力机制捕获待测恶意攻击信息json字符串中的局部特征;然后对全局特征和局部特征进行拼接,生成攻击特征向量,最后根据攻击特征向量,对恶意程序攻击进行识别。本实施例在生成攻击特征向量时,同时考虑全局特征和局部特征,对恶意程序攻击信息的采集更加全面,有利于提高恶意攻击程序识别的准确性和识别效率。而且在获取局部特征时,除了考虑特征嵌入向量集合,还考虑到全局特征,利用全局特征和特征嵌入向量集合,采用注意力机制获取待测恶意攻击信息json字符串中的局部特征,这种方法所获取的局部特征更加精确,从而有利于进一步提高恶意攻击程序识别的准确性。47.另外,本实施例在对全局特征和局部特征进行拼接,生成攻击特征向量后,还利用多层感知机将攻击特征向量转换成概率分布向量,最终根据概率分布向量,对恶意程序攻击进行识别,这种方法能够避免域名表示向量中包含的杂质特征,有利于实现恶意程序攻击表示向量的进一步特征提取,从而提高恶意攻击程序识别的准确性。48.本技术还提供一种基于深度学习的恶意程序攻击识别系统,该系统主要包括:字符串获取模块、字符编码序列生成模块、特征嵌入向量集合获取模块、全局特征获取模块、局部特征获取模块、攻击特征向量生成模块以及识别模块。本实施例中全局特征获取模块、局部特征获取模块、攻击特征向量生成模块的设置,能够根据全局特征和局部特征拼接生成最终的攻击特征向量,同时考虑到待测恶意攻击信息json字符串中的全局特征和局部特征,对其信息采集更全面,有利于提高恶意攻击程序识别的准确性。另外,局部特征获取模块是根据特征嵌入向量集合和全局特征,利用注意力机制形成,这种结构设计,使得所获取的局部特征更加全面,有利于进一步提高恶意攻击程序识别的准确性和可靠性。49.本技术还提供一种终端,该终端也具有如上基于深度学习的恶意程序攻击识别方法和系统相应的技术效果,在此不再赘述。50.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。附图说明51.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。52.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。53.图1为本技术实施例所提供的一种基于深度学习的恶意程序攻击识别方法的流程示意图;54.图2为本技术实施例所提供的一种基于深度学习的恶意程序攻击识别系统的结构示意图。具体实施方式55.为了使本
技术领域
:的人员更好地理解本技术中的技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本技术保护的范围。56.为了更好地理解本技术,下面结合附图来详细解释本技术的实施方式。57.实施例一58.参见图1,图1为本技术实施例所提供的一种基于深度学习的恶意程序攻击识别方法的流程示意图。由图1可知,本实施例中基于深度学习的恶意程序攻击识别方法,主要包括如下过程:59.s1:获取待测恶意攻击信息json字符串。60.恶意攻击信息通常存在于恶意程序中,恶意程序通常是指带有攻击意图所编写的一段程序。比较常见的恶意程序有病毒、蠕虫和木马等,会窃取个人用户数据、破坏系统程序,实现对网络设备的攻击。恶意攻击数据集的形式如下面的表1所示。61.分类样本数apt1292crypto2024locker434zeus2014总量476462.表1数据集的基本统计信息表63.s2:根据待测恶意攻击信息json字符串,生成字符编码序列。64.具体地,步骤s2包括如下过程:65.s21:将待测恶意攻击信息json字符串拆分成字符序列;66.s22:根据字符-索引字典构建字符嵌入表;67.s23:利用字符嵌入表,将字符序列转换成字符向量序列;68.s24:对字符向量序列进行编码,形成字符编码序列。69.由以上步骤s21-s24可知,获取待测恶意攻击信息json字符串之后,首先将恶意攻击json字符串拆分成字符序列,然后根据字符-索引字典,将字符序列转换成字符的索引序列,最后通过填充操作,将变长序列的相应位置填补成0。令x=[x0,x1,x2,…,xn]表示定长的词字符序列,其中xi表示词字符序列中的第i个字符。字符-索引字典提前构建,根据字符-索引字典,构建字符嵌入表(characterembeddingtable)。通过查表的方式将字符序列x表示为字符嵌入向量序列其中d为字符嵌入向量特征维度。[0070]继续参见图1可知,生成字符编码序列之后,执行步骤s3:对字符编码序列进行特征数据预处理,获取特征嵌入向量集合。[0071]具体地,步骤s3包括:[0072]s31:提取字符编码序列中的“properties”特征信息;[0073]s32:将提取结果组成特征集合;[0074]s33:通过查表的方式,根据特征集合获取特征嵌入向量集合。[0075]由以上步骤s31-s33可知,将每条json字符串中的“properties”字符串作为一条特征信息,这样就会得到一个特征集合,表示为f={f0,f1,f2...,fm},fi表示特征集合中第i个特征。通过查表的方式将特征字符集合表示为特征嵌入向量集合其中d为字符嵌入向量特征维度,m为选取的特征个数。[0076]s4:采用字符嵌入以及拼接的方法,根据字符编码序列形成上下文向量,并用上下文向量表示待测恶意攻击信息json字符串的全局特征。[0077]通过拼接的方式,将词字符嵌入向量拼接成一个大的向量,称为上下文向量,表示为xcont。基于步骤s33中定义的特征嵌入向量集合f={f0,f1,f2...,fm}和上下文向量xcont,引入注意力机制,用来捕获域名字符序列中的全局特征。即:通过拼接的方式,将字符嵌入向量x拼接成上下文向量xcont,用于代表全局特征。[0078]s5:根据特征嵌入向量集合和全局特征,利用注意力机制捕获待测恶意攻击信息json字符串中的局部特征。[0079]具体地,根据特征嵌入向量集合和上下文向量,通过注意力模型采用查询-键-值模式进行注意力得分计算,获取局部特征向量。[0080]注意力模型采用查询-键-值模式,即:qkv(query-key-value,查询-键-值)模式,进行注意力得分计算。局部特征提取时,输入序列特征嵌入向量集合f={f0,f1,f2...,fm}以及上下文向量xcont,通过以下方式,将其映射到不同的向量空间当中:[0081][0082][0083][0084]wq,wk,wv分别为查询-键-值的线性映射参数矩阵;q,k,v分别为由查询向量、键向量和值向量组成的矩阵。本实施例中采用缩放点积的形式计算注意力得分,具体可简写为以下形式:[0085][0086]其中,h=[h0,h1,h2,…,hm]为自注意力机制输出向量序列。将以上输出序列中的所有向量进行求和,得到最终的注意力神经网络输出向量osum:[0087][0088]输出向量osum即为注意力机制获取的局部特征向量。[0089]s6:对全局特征和局部特征进行拼接,生成攻击特征向量。[0090]基于前面得到的全局特征xcont向量和全局特征向量osum,得到最终的攻击特征向量,如下式:[0091][0092]其中,oagg为域名表示向量。[0093]s7:根据攻击特征向量,对恶意程序攻击进行识别。[0094]进一步地,步骤s6之后,该方法还包括步骤s8:利用多层感知机,将攻击特征向量转换成概率分布向量,概率分布向量用于表征所述待测恶意攻击信息属于某一类别。[0095]与步骤s8相对应,步骤s7的具体实现方式为:根据概率分布向量,对恶意程序攻击进行识别。[0096]也就是,基于步骤s6虎丘的域名表示向量oagg,设计多层感知机层,对攻击特征向量进行多层传递,得到最终的输入攻击所属类别的概率分布向量。该多层感知机由输入层、第一隐层、第二隐层、第三隐层、和输出层组成,其中各层神经元的激活函数个数分别为256、64、4,其中4为数据集中的所有域名类别个数。[0097]将域名数据集按照6:4的比例划分为训练集测试集,其中,训练集用来进行模型训练,测试集用来验证模型性能,对本实施例中基于深度学习的恶意程序攻击识别方法进行验证。[0098]采用本实施例中的方法与现有方法进行实验的结果对比情况可以参见表2所示。[0099][0100]表2恶意攻击检测方法的性能比较情况表[0101]由表2可知,本实施例中所提出的基于深度学习的恶意程序攻击识别方法,其性能优于其他方法,如:svm(supportvectormachine,支持向量机)、mlp(multi-layerperceptron,多层感知器)、bi-lstm(bi-longshort-termmemory,双向长短记忆条件))以及self-attention(自注意力机制)。[0102]实施例二[0103]在图1所示实施例的基础上参见图2,图2为本技术实施例所提供的一种基于深度学习的恶意程序攻击识别系统的结构示意图。由图2可知,本实施例中基于深度学习的恶意程序攻击识别系统主要包括:字符串获取模块、字符编码序列生成模块、特征嵌入向量集合获取模块、全局特征获取模块、局部特征获取模块、攻击特征向量生成模块以及识别模块。[0104]其中,字符串获取模块,用于获取待测恶意攻击信息json字符串;字符编码序列生成模块,用于根据所述待测恶意攻击信息json字符串,生成字符编码序列;特征嵌入向量集合获取模块,用于对所述字符编码序列进行特征数据预处理,获取特征嵌入向量集合;全局特征获取模块,用于采用字符嵌入以及拼接的方法,根据所述字符编码序列形成上下文向量,并用所述上下文向量表示所述待测恶意攻击信息json字符串的全局特征;局部特征获取模块,用于根据所述特征嵌入向量集合和全局特征,利用注意力机制捕获所述待测恶意攻击信息json字符串中的局部特征;攻击特征向量生成模块,用于对所述全局特征和局部特征进行拼接,生成攻击特征向量;识别模块,用于根据所述攻击特征向量,对恶意程序攻击进行识别。[0105]进一步地,该系统中还包括有概率分布向量生成模块,用于利用多层感知机,将攻击特征向量转换成概率分布向量,其中,概率分布向量用于表征待测恶意攻击信息属于某一类别。[0106]特征嵌入向量集合获取模块包括:提取单元、集合单元和查表单元。其中,提取单元,用于提取所述字符编码序列中的“properties”特征信息;集合单元,用于将提取结果组成特征集合;查表单元,用于通过查表的方式,根据所述特征集合获取特征嵌入向量集合。[0107]该实施例中基于深度学习的恶意程序攻击识别系统的工作原理和工作方法,可以参见图1所示的实施例,两个实施例之间可以互相参照,在此不再赘述。[0108]实施例三[0109]本技术还提供一种终端,该终端包括:处理器以及与处理器通信连接的存储器,其中,存储器中存储有可被处理器执行的指令,指令被处理器执行,以使处理器能够执行如上基于深度学习的恶意程序攻击识别方法。[0110]处理器所执行的基于深度学习的恶意程序攻击识别方法如下:[0111]1)获取待测恶意攻击信息json字符串;[0112]2)根据待测恶意攻击信息json字符串,生成字符编码序列;[0113]3)对字符编码序列进行特征数据预处理,获取特征嵌入向量集合;[0114]4)采用字符嵌入以及拼接的方法,根据字符编码序列形成上下文向量,并用上下文向量表示待测恶意攻击信息json字符串的全局特征;[0115]5)根据特征嵌入向量集合和全局特征,利用注意力机制捕获待测恶意攻击信息json字符串中的局部特征;[0116]6)对全局特征和局部特征进行拼接,生成攻击特征向量;[0117]7)根据攻击特征向量,对恶意程序攻击进行识别。[0118]以上方法的具体执行步骤和原理,可以参见图1所示的实施例一和图2所示的实施例二,在此不再赘述。[0119]以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1