一种恶意程序相似度计算的方法和装置转让专利

申请号 : CN201910926334.4

文献号 : CN110674497B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 蔡淑苹许光锋郑汉军陈思德陈腾跃

申请人 : 厦门安胜网络科技有限公司

摘要 :

本申请公开了一种恶意程序相似度计算的方法和装置。该方法的一具体实施方式包括:将数据库的恶意程序转换为文本或图片进行深度学习训练,通过余弦算法进行恶意程序相似度静态计算;获取数据库的恶意程序的行为特征,基于行为特征,通过PMI点互信息算法获取恶意程序的行为轨迹并进行恶意程序相似度动态计算;通过加权平均算法确定恶意程序的最终相似度。该实施方式有利于提高恶意程序相似度计算的速度和准确度。

权利要求 :

1.一种恶意程序相似度计算的方法,其特征在于,所述方法包括以下步骤:S1,将数据库的恶意程序转换为文本或图片进行深度学习训练,通过余弦算法进行恶意程序相似度静态计算;

所述步骤S1具体包括:

S11,将所述数据库中未运行的恶意程序和非恶意程序转化成文本或图片形式,通过所述深度学习训练对所述恶意程序和所述非恶意程序进行特征值计算;

S12,将所述非恶意程序的特征值过滤掉,再基于所述恶意程序的特征值对所述恶意程序进行关键特征分类,通过统计所述关键特征的数量确定各个特征的加权值;

S13,基于所述加权值对所述关键特征进行特征向量化,再通过所述余弦算法计算所述恶意程序的静态相似度;

S2,获取所述数据库的恶意程序的行为特征,基于所述行为特征,通过PMI点互信息算法获取恶意程序的行为轨迹并进行恶意程序相似度动态计算;

所述步骤S2具体包括:

S21,获取所述恶意程序的行为,通过沙箱模拟所述恶意程序的运行,分析关键指令,记录所述恶意程序在函数入口点、返回点和内存读写点的数据,基于API参数格式解析库获取关键API的调用序列和参数信息;

S22,基于所述API的调用序列和参数信息,提取所述恶意程序的行为特征;

S23,通过动态特征提取将所述行为特征视为可统计互信息的点,基于PMI点互信息算法得到所述行为特征与参考特征之间的互信息值,再通过轨迹判断获取所述行为特征的行为轨迹;

S24,设置所述恶意程序的每个行为特征由N个行为轨迹组成,通过行为轨迹对比和所述PMI点互信息算法得到所述恶意程序相互间的相同行为轨迹个数为n,则所述恶意程序的动态相似度为n/N;

S3,通过加权平均算法确定恶意程序的最终相似度。

2.根据权利要求1所述的恶意程序相似度计算的方法,其特征在于,所述步骤S3具体包括:

通过加权平均计算获取最终相似度结果:其中,J为所述恶意程序的静态相似度,D为所述恶意程序的动态相似度;f1为所述恶意程序适合用静态恶意程序相似度计算的概率且0.3<f1<0.7,f1≠0,f2为所述恶意程序适合用动态恶意程序相似度计算的概率且0.3<f2<0.7,f2≠0,同时f1+f2=1;α为静态相似度的阈值,0.5<α<1;β为动态相似度的阈值,0.5<β<1。

3.根据权利要求1所述的恶意程序相似度计算的方法,其特征在于,所述余弦算法的具体步骤包括:

假设特征向量FVa与FVb均为M维特征向量,则FVa为(x1,x2,…,xm),FVb为(y1,y2,…,ym),FVa与FVb的夹角相似度为:其中,cosθ在‑1到1之间,当cosθ越接近1则特征向量FVa与FVb的相似度越大,当cosθ越接近‑1则特征向量FVa与FVb的相似度越小。

4.根据权利要求1所述的恶意程序相似度计算的方法,其特征在于,所述PMI点互信息算法的具体步骤为:

其中,f1为所述恶意程序的行为特征,f2为参考特征,P(f1·f2)为f1和f2同时出现的概率,P(f1)为f1出现的概率,P(f2)为f2出现的概率。

5.一种恶意程序相似度计算的装置,其特征在于,所述装置包括:静态计算模块,设置用于将数据库的恶意程序转换为文本或图片进行深度学习训练,通过余弦算法进行恶意程序相似度静态计算;

所述静态计算模块包括:

特征值计算模块,设置用于将所述数据库中未运行的恶意程序和非恶意程序转化成文本或图片形式,通过所述深度学习训练对所述恶意程序和所述非恶意程序进行特征值计算;

加权值计算模块,设置用于将所述非恶意程序的特征值过滤掉,再基于所述恶意程序的特征值对所述恶意程序进行关键特征分类,通过统计所述关键特征的数量确定各个特征的加权值;

余弦计算模块,设置用于基于所述加权值对所述关键特征进行特征向量化,再通过所述余弦算法计算所述恶意程序的静态相似度;

动态计算模块,设置用于获取所述数据库的恶意程序的行为轨迹,基于所述行为轨迹,通过PMI点互信息算法进行恶意程序相似度动态计算;

所述动态计算模块包括:

信息获取模块,设置用于获取所述恶意程序的行为,通过沙箱模拟所述恶意程序的运行,分析关键指令,记录所述恶意程序在函数入口点、返回点和内存读写点的数据,基于API参数格式解析库获取关键API的调用序列和参数信息;

行为特征提取模块,设置用于基于所述API的调用序列和参数信息,提取所述恶意程序的行为特征;

行为轨迹获取模块,设置用于通过动态特征提取将所述行为特征视为可统计互信息的点,基于PMI点互信息算法得到所述行为特征与参考特征之间的互信息值,再通过轨迹判断获取所述行为特征的行为轨迹;

PMI点互信息计算模块,设置用于设置所述恶意程序的每个行为特征由N个行为轨迹组成,通过行为轨迹对比和所述PMI点互信息算法得到所述恶意程序相互间的相同行为轨迹个数为n,则所述恶意程序的动态相似度为n/N;

加权平均计算模块,设置用于通过加权平均算法确定恶意程序的最终相似度。

6.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1‑4中任一所述的方法。

说明书 :

一种恶意程序相似度计算的方法和装置

技术领域

[0001] 本申请涉及计算机安全检测领域,具体涉及一种恶意程序相似度计算的方法和装置。

背景技术

[0002] 随着信息技术的发展,越来越多的计算机开始出现在人们的身旁。但计算机在为人们提供了诸多便利的同时,也带来了许多安全性问题,其中绝大部分的问题来自恶意程
序的传播与执行。常见的恶意程序有病毒、蠕虫、木马、后台程序等,它们能够对计算机进行
系统控制、信息窃取和破坏,并能自动复制传播,这极大地危害了广大计算机用户的隐私安
全和财产安全,乃至影响到社会、国家的安全。
[0003] 对于恶意程序而言,以前能够获取到的相关数据有限,但现在有了互联网和大数据的辅助,可以通过深度学习的方法,快速地判断出大量恶意程序的特征,从而更好地识别
恶意程序。
[0004] 传统的恶意程序识别方法通常分为静态识别和动态识别,在静态识别领域,一般是在文件二进制特征检测的基础上,同时使用数据挖掘对恶意程序二进制文件进行学习建
模。在动态识别领域,则通过运行程序时捕获程序调用的windows API函数序列,将获取到
的API调用函数序列进行学习建模,然后将学习到的模型用于未知恶意程序的检测。但上述
两种方法各有利弊,有些恶意程序只适合采用静态识别或动态识别,若对每一种恶意程序
都只采用一种方法进行识别,且在大量恶意程序和非恶意程序的情况下,不仅检测的效率
低,而且速度慢,准确度差。
[0005] 因此在传统的恶意程序识别中,依然存在着有待改善的问题。

发明内容

[0006] 本申请的目的在于提出了一种改进的恶意程序相似度计算的方法和装置,来解决恶意程序识别效率低、速度慢和准确性低等技术问题。
[0007] 第一方面,本申请提供了一种恶意程序相似度计算的方法,该方法包括:
[0008] S1,将数据库的恶意程序转换为文本或图片进行深度学习训练,通过余弦算法进行恶意程序相似度静态计算;
[0009] S2,获取数据库的恶意程序的行为特征,基于行为特征,通过PMI点互信息算法获取恶意程序的行为轨迹并进行恶意程序相似度动态计算;以及
[0010] S3,通过加权平均算法确定恶意程序的最终相似度。
[0011] 在一些实施例中,该方法的步骤S1具体还包括:
[0012] S11,将数据库中未运行的恶意程序和非恶意程序转化成文本或图片形式,通过深度学习训练对恶意程序和非恶意程序进行特征值计算;
[0013] S12,将非恶意程序的特征值过滤掉,再基于恶意程序的特征值对恶意程序进行关键特征分类,通过统计关键特征的数量确定各个特征的加权值;
[0014] S13,基于加权值对关键特征进行特征向量化,再通过余弦算法计算恶意程序的静态相似度。
[0015] 在一些实施例中,该方法的步骤S2具体还包括:
[0016] S21,获取恶意程序的行为,通过沙箱模拟恶意程序的运行,分析关键指令,记录恶意程序在函数入口点、返回点和内存读写点的数据,基于API参数格式解析库获取关键API
的调用序列和参数信息;
[0017] S22,基于API的调用序列和参数信息,提取恶意程序的行为特征;
[0018] S23,通过动态特征提取将行为特征视为可统计互信息的点,基于PMI点互信息算法得到行为特征与参考特征之间的互信息值,再通过轨迹判断获取行为特征的行为轨迹;
[0019] S24,设置恶意程序的每个行为特征由N个行为轨迹组成,通过行为轨迹对比和PMI点互信息算法得到恶意程序相互间的相同行为轨迹个数为n,则恶意程序的动态相似度为
n/N。
[0020] 在一些实施例中,该方法的步骤S3具体还包括:通过加权平均计算获取最终相似度结果:
[0021]
[0022] 其中,J为恶意程序的静态相似度,D为恶意程序的动态相似度;f1为恶意程序适合用静态恶意程序相似度计算的概率且0.3<f1<0.7,f1≠0,f2为恶意程序适合用动态恶意
程序相似度计算的概率且0.3<f2<0.7,f2≠0,同时f1+f2=1;α为静态相似度的阈值,0.5<
α<1;β为动态相似度的阈值,0.5<β<1。
[0023] 在一些实施例中,该方法的余弦算法具体包括:假设特征向量FVa与FVb均为M维特征向量,则FVa为(x1,x2,…,xm),FVb为(y1,y2,…,ym),FVa与FVb的夹角相似度为:
[0024]
[0025] 其中,cosθ在‑1到1之间,当cosθ越接近1则特征向量FVa与FVb的相似度越大,当cosθ越接近‑1则特征向量FVa与FVb的相似度越小。
[0026] 在一些实施例中,该方法的PMI点互信息算法具体的步骤为:
[0027]
[0028] 其中,f1为恶意程序的行为特征,f2为参考特征,P(f1·f2)为f1和f2同时出现的概率,P(f1)为f1出现的概率,P(f2)为f2出现的概率。
[0029] 第二方面,本申请提供了一种恶意程序相似度计算的装置,该装置包括:静态计算模块,设置用于将数据库的恶意程序转换为文本或图片进行深度学习训练,通过余弦算法
进行恶意程序相似度静态计算;动态计算模块,设置用于获取数据库的恶意程序的行为轨
迹,基于行为轨迹,通过PMI点互信息算法进行恶意程序相似度动态计算;加权平均计算模
块,设置用于通过加权平均算法确定恶意程序的最终相似度。
[0030] 在一些实施例中,该装置还包括:特征值计算模块,设置用于将数据库中未运行的恶意程序和非恶意程序转化成文本或图片形式,通过深度学习训练对恶意程序和非恶意程
序进行特征值计算;加权值计算模块,设置用于将非恶意程序的特征值过滤掉,再基于恶意
程序的特征值对恶意程序进行关键特征分类,通过统计关键特征的数量确定各个特征的加
权值;余弦计算模块,设置用于基于加权值对关键特征进行特征向量化,再通过余弦算法计
算恶意程序的静态相似度。
[0031] 在一些实施例中,该装置还包括:信息获取模块,设置用于获取恶意程序的行为,通过沙箱模拟恶意程序的运行,分析关键指令,记录恶意程序在函数入口点、返回点和内存
读写点的数据,基于API参数格式解析库获取关键API的调用序列和参数信息;行为特征提
取模块,设置用于基于API的调用序列和参数信息,提取恶意程序的行为特征;行为轨迹获
取模块,设置用于通过动态特征提取将行为特征视为可统计互信息的点,基于PMI点互信息
算法得到行为特征与参考特征之间的互信息值,再通过轨迹判断获取行为特征的行为轨
迹;PMI点互信息计算模块,设置用于设置恶意程序的每个行为特征由N个行为轨迹组成,通
过行为轨迹对比和PMI点互信息算法得到恶意程序相互间的相同行为轨迹个数为n,则恶意
程序的动态相似度为n/N。
[0032] 第三方面,本申请提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
[0033] 本申请提供的恶意程序相似度计算的方法和装置,通过余弦算法和PMI点互信息算法分别对恶意程序进行相似度静态计算和相似度动态计算,然后再通过加权平均算法确
定恶意程序的最终相似度。该实施方式可有针对性地对不同种类的恶意程序进行静态相似
度计算或动态相似度计算或加权计算,有利于提高恶意程序相似度计算的效率和准确性。

附图说明

[0034] 通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
[0035] 图1是本申请可以应用于其中的示例性系统架构图;
[0036] 图2是根据本申请一个实施例的恶意程序相似度计算的方法的流程图;
[0037] 图3是根据本申请一个实施例的恶意程序相似度静态计算的流程图;
[0038] 图4是根据本申请一个实施例的恶意程序相似度动态计算的流程图;
[0039] 图5是根据本申请一个实施例的恶意程序相似度计算的装置的结构示意图;
[0040] 图6是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

[0041] 下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了
便于描述,附图中仅示出了与有关发明相关的部分。
[0042] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
[0043] 图1示出了可以应用本申请实施例的恶意程序相似度计算的方法的示例性系统架构100。
[0044] 如图1所示,系统架构100可以包括数据服务器101,网络102和主服务器103。网络102用以在数据服务器101和主服务器103之间提供通信链路的介质。网络102可以包括各种
连接类型,例如有线、无线通信链路或者光纤电缆等等。
[0045] 主服务器103可以是提供各种服务的服务器,例如对数据服务器101上传的信息进行处理的数据处理服务器。数据处理服务器可以对接收的事件信息进行处理,并将处理结
果(例如要素信息集合、标签)关联存储到事件信息库中。
[0046] 需要说明的是,本申请实施例所提供的恶意程序相似度计算的方法一般由主服务器103执行,相应地,恶意程序相似度计算的装置一般设置于主服务器103中。
[0047] 需要说明的是,数据服务器和主服务器可以是硬件,也可以是软件。当为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当为软件时,
可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实
现成单个软件或软件模块。
[0048] 应该理解,图1中的数据服务器、网络和主服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。
[0049] 继续参考图2,其示出了根据本申请的恶意程序相似度计算的方法的一个实施例的流程200。该方法包括以下步骤:
[0050] 步骤S1,将数据库的恶意程序转换为文本或图片进行深度学习训练,通过余弦算法进行恶意程序相似度静态计算。
[0051] 在本实施例的一些可选的实现方式中,该方法的步骤S1具体还包括:S11,将数据库中未运行的恶意程序和非恶意程序转化成文本或图片形式,通过深度学习训练对恶意程
序和非恶意程序进行特征值计算;S12,将非恶意程序的特征值过滤掉,再基于恶意程序的
特征值对恶意程序进行关键特征分类,通过统计关键特征的数量确定各个特征的加权值;
S13,基于加权值对关键特征进行特征向量化,再通过余弦算法计算恶意程序的静态相似
度。优选的,通过Resnet18网络对恶意程序和非恶意程序的特征值计算进行深度学习训练。
[0052] 在具体的实施例中,深度学习是指通过多层处理,逐渐将初始的“低层”特征表示转化为“高层”特征表示后,用“简单模型”即可完成复杂的分类等学习任务,由此可将深度
学习理解为“特征学习”或“表示学习”。以往在机器学习用于现实任务时,描述样本的特征
通常需由人类专家来设计,这称为“特征工程”。众所周知,特征的好坏对泛化性能有至关重
要的影响,人类专家设计出好特征也并非易事,而特征学习(表征学习)则通过机器学习技
术自身来产生好特征,这使机器学习向“全自动数据分析”又前进了一步。深度学习还是一
种以人工神经网络为架构,对数据进行表征学习的算法,发展至今已有数种深度学习框架,
如深度神经网络、卷积神经网络、深度置信网络和递归神经网络等,在计算机视觉识别、语
音识别、自然语言处理、音频识别与生物信息学等领域广泛使用并获取了极好的效果。
[0053] 在本实施例的一些可选的实现方式中,余弦算法具体包括:假设特征向量FVa与FVb均为M维特征向量,则FVa为(x1,x2,…,xm),FVb为(y1,y2,…,ym),FVa与FVb的夹角相似度为:
[0054]
[0055] 其中,cosθ在‑1到1之间,当cosθ越接近1则特征向量FVa与FVb的相似度越大,当cosθ越接近‑1则特征向量FVa与FVb的相似度越小。
[0056] 在具体的实施例中,余弦相似性是指通过测量两个向量的夹角的余弦值来度量它们之间的相似性。0度角的余弦值是1,而其他任何角度的余弦值都不大于1,并且其最小值
是‑1,因此两个向量之间的角度的余弦值就可确定两个向量是否大致指向相同的方向。两
个向量有相同的指向时,余弦相似度的值为1,两个向量夹角为90°时,余弦相似度的值为0,
两个向量指向完全相反的方向时,余弦相似度的值为‑1。这种判断结果与向量的长度无关,
仅仅与向量的指向方向相关,而余弦相似度通常用于正空间,因此给出的值为0到1之间。同
时这上下界对任何维度的向量空间中都适用,而且余弦相似性最常用于高维正空间,例如
在信息检索中,每个词项被赋予不同的维度,而一个文档由一个向量表示,其各个维度上的
值对应于该词项在文档中出现的频率,因此余弦相似度可以给出两篇文档在其主题方面的
相似度。
[0057] 步骤S2,获取数据库的恶意程序的行为特征,基于行为特征,通过PMI点互信息算法获取恶意程序的行为轨迹并进行恶意程序相似度动态计算。
[0058] 在本实施例的一些可选的实现方式中,该方法的步骤S2具体还包括:S21,获取恶意程序的行为,通过沙箱模拟恶意程序的运行,分析关键指令,记录恶意程序在函数入口
点、返回点和内存读写点的数据,基于API参数格式解析库获取关键API的调用序列和参数
信息;S22,基于API的调用序列和参数信息,提取恶意程序的行为特征;S23,通过动态特征
提取将行为特征视为可统计互信息的点,基于PMI点互信息算法得到行为特征与参考特征
之间的互信息值,再通过轨迹判断获取行为特征的行为轨迹;S24,设置恶意程序的每个行
为特征由N个行为轨迹组成,通过行为轨迹对比和PMI点互信息算法得到恶意程序相互间的
相同行为轨迹个数为n,则恶意程序的动态相似度为n/N。
[0059] 在本实施例的一些可选的实现方式中,PMI点互信息算法具体的步骤为:
[0060]
[0061] 其中,f1为恶意程序的行为特征,f2为参考特征,P(f1·f2)为f1和f2同时出现的概率,P(f1)为f1出现的概率,P(f2)为f2出现的概率。
[0062] 在具体的实施例中,点互信息PMI这个指标通常用于衡量两个事物之间的相关性(比如两个词、两个向量等),具体计算公式为:
[0063]
[0064] 在概率论中,如果x跟y相互独立,则p(x,y)=p(x)p(y),若二者相关性越大,则p(x,y)就相比于p(x)p(y)越大。后面的公式则表示,若在y出现的情况下x出现的条件概率p
(x|y)除以x本身出现的概率p(x),自然就表示x跟y的相关程度。
[0065] 步骤S3,通过加权平均算法确定恶意程序的最终相似度。
[0066] 在本实施例的一些可选的实现方式中,该方法的步骤S3具体还包括:通过加权平均计算获取最终相似度结果:
[0067]
[0068] 其中,J为恶意程序的静态相似度,D为恶意程序的动态相似度;f1为恶意程序适合用静态恶意程序相似度计算的概率且0.3<f1<0.7,f1≠0,f2为恶意程序适合用动态恶意
程序相似度计算的概率且0.3<f2<0.7,f2≠0,同时f1+f2=1;α为静态相似度的阈值,0.5<
α<1;β为动态相似度的阈值,0.5<β<1。
[0069] 本申请的上述实施例提供的方法,通过余弦算法和PMI点互信息算法分别对恶意程序进行相似度静态计算和相似度动态计算,然后再通过加权平均算法确定恶意程序的最
终相似度。该实施方式可有针对性地对不同种类的恶意程序进行静态相似度计算或动态相
似度计算或加权计算,有利于提高恶意程序相似度计算的效率和准确性。
[0070] 进一步参考图5,作为对上述各图所示方法的实现,本申请提供了一种恶意程序相似度计算的装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体
可以应用于各种电子设备中。
[0071] 如图5所示,本实施例的用于文本段落划分的装置500包括:静态计算模块501,设置用于将数据库的恶意程序转换为文本或图片进行深度学习训练,通过余弦算法进行恶意
程序相似度静态计算;动态计算模块502,设置用于获取数据库的恶意程序的行为轨迹,基
于行为轨迹,通过PMI点互信息算法进行恶意程序相似度动态计算;加权平均计算模块503,
设置用于通过加权平均算法确定恶意程序的最终相似度。
[0072] 在本实施例的一些可选的实现方式中,静态计算模块501具体包括:特征值计算模块,设置用于将数据库中未运行的恶意程序和非恶意程序转化成文本或图片形式,通过深
度学习训练对恶意程序和非恶意程序进行特征值计算;加权值计算模块,设置用于将非恶
意程序的特征值过滤掉,再基于恶意程序的特征值对恶意程序进行关键特征分类,通过统
计关键特征的数量确定各个特征的加权值;余弦计算模块,设置用于基于加权值对关键特
征进行特征向量化,再通过余弦算法计算恶意程序的静态相似度。
[0073] 在本实施例的一些可选的实现方式中,动态计算模块502具体包括:信息获取模块,设置用于获取恶意程序的行为,通过沙箱模拟恶意程序的运行,分析关键指令,记录恶
意程序在函数入口点、返回点和内存读写点的数据,基于API参数格式解析库获取关键API
的调用序列和参数信息;行为特征提取模块,设置用于基于API的调用序列和参数信息,提
取恶意程序的行为特征;行为轨迹获取模块,设置用于通过动态特征提取将行为特征视为
可统计互信息的点,基于PMI点互信息算法得到行为特征与参考特征之间的互信息值,再通
过轨迹判断获取行为特征的行为轨迹;PMI点互信息计算模块,设置用于设置恶意程序的每
个行为特征由N个行为轨迹组成,通过行为轨迹对比和PMI点互信息算法得到恶意程序相互
间的相同行为轨迹个数为n,则恶意程序的动态相似度为n/N。
[0074] 本申请的上述实施例提供的装置,通过余弦算法和PMI点互信息算法分别对恶意程序进行相似度静态计算和相似度动态计算,然后再通过加权平均算法确定恶意程序的最
终相似度。该实施方式可有针对性地对不同种类的恶意程序进行静态相似度计算或动态相
似度计算或加权计算,有利于提高恶意程序相似度计算的效率和准确性。
[0075] 下面参考图6,其示出了适于用来实现本申请实施例的电子设备的计算机系统600的结构示意图。图6示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范
围带来任何限制。
[0076] 如图6所示,计算机系统600包括中央处理单元(CPU)601,其可以根据存储在只读存储器(ROM)602中的程序或者从存储部分608加载到随机访问存储器(RAM)603中的程序而
执行各种适当的动作和处理。在RAM 603中,还存储有系统600操作所需的各种程序和数据。
CPU 601、ROM 602以及RAM 603通过总线604彼此相连。输入/输出(I/O)接口605也连接至总
线604。
[0077] 以下部件连接至I/O接口605:包括键盘、鼠标等的输入部分606;包括诸如液晶显示器(LCD)等以及扬声器等的输出部分607;包括硬盘等的存储部分608;以及包括诸如LAN
卡、调制解调器等的网络接口卡的通信部分609。通信部分609经由诸如因特网的网络执行
通信处理。驱动器610也根据需要连接至I/O接口605。可拆卸介质611,诸如磁盘、光盘、磁光
盘、半导体存储器等等,根据需要安装在驱动器610上,以便于从其上读出的计算机程序根
据需要被安装入存储部分608。
[0078] 特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质
上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实
施例中,该计算机程序可以通过通信部分609从网络上被下载和安装,和/或从可拆卸介质
611被安装。在该计算机程序被中央处理单元(CPU)601执行时,执行本申请的方法中限定的
上述功能。
[0079] 需要说明的是,本申请所述的计算机可读存储介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——
但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组
合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连
接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读
存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD‑ROM)、光存储器件、磁存储器
件、或者上述的任意合适的组合。在本申请中,计算机可读存储介质可以是任何包含或存储
程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在
本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信
号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不
限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机
可读存储介质以外的任何计算机可读存储介质,该计算机可读存储介质可以发送、传播或
者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读存
储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF
等等,或者上述的任意合适的组合。
[0080] 可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C+
+,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可
以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、
部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。
在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)
或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务
提供商来通过因特网连接)。
[0081] 附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代
表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用
于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标
注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上
可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注
意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执
行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令
的组合来实现。
[0082] 作为另一方面,本申请还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电
子设备中。上述计算机可读存储介质承载有一个或者多个程序,当上述一个或者多个程序
被该电子设备执行时,使得该电子设备:将数据库的恶意程序转换为文本或图片进行深度
学习训练,通过余弦算法进行恶意程序相似度静态计算;获取数据库的恶意程序的行为特
征,基于行为特征,通过PMI点互信息算法获取恶意程序的行为轨迹并进行恶意程序相似度
动态计算;通过加权平均算法确定恶意程序的最终相似度。
[0083] 以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术
方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行
任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功
能的技术特征进行互相替换而形成的技术方案。