恶意应用程序的检测方法及装置与流程

文档序号:20702520发布日期:2020-05-12 15:55阅读:245来源:国知局
恶意应用程序的检测方法及装置与流程

本申请涉及网络安全技术领域,尤其涉及一种恶意应用程序的检测方法及装置。



背景技术:

当前,终端设备,如智能手机,为快速、海量的信息共享环境做出了巨大贡献。智能手机市场每年都在不断扩大,从通信和娱乐的方面丰富了我们的数字化生活。但智能手机使用量的增加也带来了严重的问题。由于智能手机占据了移动市场的最大份额,其易受到恶意软件(或称“恶意应用程序”)的攻击。为了减轻恶意软件的威胁,人们做了各种工作来检测恶意软件,该检测方法主要包括静态检测和动态检测。

其中,静态检测方法是通过检测应用程序的程序文件(即源代码)中请求的权限来检查其是否具有危害性的方法,不需要执行应用程序。然而,静态检测方法只能根据人为设定的恶意权限对源代码中申请的权限进行判别,具有局限性,导致检测的准确性不高。

动态检测方法是在运行的应用程序中检测是否存在恶意行为的方法。然而,由于每次执行动态检测方法都需要运行该应用程序,故每次检测需要创建相应的检测环境来运行该应用程序,增加了检测成本,且降低了检测效率。



技术实现要素:

本申请实施例提供一种恶意应用程序的检测方法及装置,解决了现有技术存在的上述问题,提高了检测准确性与检测效率、降低了测试成本。

第一方面,提供了一种恶意应用程序的检测方法,该方法可以包括:

获取待检测应用程序的证书序列号和程序特征信息,所述程序特征信息为所述待检测应用程序设定的待运行的信息,所述程序特征信息包括调用接口、系统命令和申请权限中的至少两种特征信息;

根据预设的证书序列号黑名单,对所述证书序列号进行检测,所述证书序列号黑名单包括已知恶意应用程序的证书序列号;

若预设的证书序列号黑名单中存在所述证书序列号,则确定所述待检测应用程序为恶意应用程序;

若预设的证书序列号黑名单中不存在所述证书序列号,则根据所述程序特征信息,确定所述待检测应用程序是否为恶意应用程序。

在一个可选的实现中,根据所述程序特征信息,确定所述待检测应用程序是否为恶意应用程序,包括:

若所述程序特征信息满足预设恶意应用程序检测条件,则确定所述待检测应用程序为恶意应用程序;

当所述程序特征信息包括所述调用接口和所述申请权限时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口,且所述申请权限对应的权限似然比大于预设概率阈值;其中,所述权限似然比用于描述所述待检测应用程序具有所述申请权限的条件下,使所述待检测应用程序成为恶意应用程序的概率,所述调用接口黑名单包括已知的恶意应用程序频繁使用的涉及安全风险的调用接口;

当所述程序特征信息包括所述调用接口和所述系统命令时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令,且预设的调用接口黑名单中不存在所述调用接口,其中,所述系统命令黑名单包括已知的恶意应用程序使用的存在恶意行为的系统命令;

当所述程序特征信息包括所述申请权限和所述系统命令时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值,且预设的系统命令黑名单中不存在所述系统命令。

在一个可选的实现中,所述程序特征信息还包括意图信息;

当所述程序特征信息包括所述调用接口、所述申请权限和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口、所述申请权限对应的权限似然比大于预设概率阈值和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述调用接口、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令、预设的调用接口黑名单中不存在所述调用接口和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述待申请的权限、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值、预设的系统命令黑名单中不存在所述系统命令和所述意图信息中不存在隐藏短消息的意图信息。

在一个可选的实现中,确定所述待检测应用程序是恶意应用程序之后,所述方法还包括:

根据所述恶意应用程序的程序特征信息与已知恶意类别的恶意应用程序的程序特征信息的相似性,确定所述恶意应用程序的恶意类别。

在一个可选的实现中,根据所述恶意应用程序的程序特征信息与已知恶意类别的目标恶意应用程序的程序特征信息的相似性,确定所述恶意应用程序的恶意类别,包括:

采用needleman-wunsch算法,对所述恶意应用程序的字符串与所述目标恶意应用程序的每个字符串进行相似性运算,得到最大的相似性;

采用jaccard系数算法,对所述恶意应用程序的系统命令字符串与所述目标恶意应用程序的每个系统命令字符串进行相似性运算,得到最大的系统命令相似性;

采用levenshtein距离算法,对所述恶意应用程序的申请权限字符串与所述目标恶意应用程序的每个申请权限字符串进行相似性运算,得到最大的申请权限相似性;

采用预设累加算法,对所述最大的相似性、所述最大的系统命令相似性和所述最大的申请权限相似性进行累加,得到相似性分数;

若所述相似性分数大于预设分数阈值,则确定所述恶意应用程序的恶意类别与所述目标恶意应用程序的恶意类别相同。

在一个可选的实现中,所述相似性分数的公式表示为:

其中,wi是相关相似性的权重,对所有的i存在n为程序特征信息的种类数。

在一个可选的实现中,确定所述待检测应用程序是恶意应用程序之后,所述方法还包括:

生成告警信息,所述告警信息用于向用户展示所述待检测应用程序是恶意应用程序的信息。

第二方面,提供了一种恶意应用程序的检测装置,该装置可以包括:获取单元、检测单元和确定单元;

所述获取单元,用于获取待检测应用程序的证书序列号和程序特征信息,所述程序特征信息为所述待检测应用程序设定的待运行的信息,所述程序特征信息包括调用接口、系统命令和申请权限中的至少两种特征信息;

所述检测单元,用于根据预设的证书序列号黑名单,对所述证书序列号进行检测,所述证书序列号黑名单包括已知恶意应用程序的证书序列号;

所述确定单元,用于若预设的证书序列号黑名单中存在所述证书序列号,则确定所述待检测应用程序为恶意应用程序;

若预设的证书序列号黑名单中不存在所述证书序列号,则根据所述程序特征信息,确定所述待检测应用程序是否为恶意应用程序。

在一个可选的实现中,所述确定单元,具体用于若所述程序特征信息满足预设恶意应用程序检测条件,则确定所述待检测应用程序为恶意应用程序;

当所述程序特征信息包括所述调用接口和所述申请权限时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口,且所述申请权限对应的权限似然比大于预设概率阈值;其中,所述权限似然比用于描述所述待检测应用程序具有所述申请权限的条件下,使所述待检测应用程序成为恶意应用程序的概率,所述调用接口黑名单包括已知的恶意应用程序频繁使用的涉及安全风险的调用接口;

当所述程序特征信息包括所述调用接口和所述系统命令时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令,且预设的调用接口黑名单中不存在所述调用接口,其中,所述系统命令黑名单包括已知的恶意应用程序使用的存在恶意行为的系统命令;

当所述程序特征信息包括所述申请权限和所述系统命令时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值,且预设的系统命令黑名单中不存在所述系统命令。

在一个可选的实现中,所述程序特征信息还包括意图信息;

所述确定单元,还具体用于当所述程序特征信息包括所述调用接口、所述申请权限和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口、所述申请权限对应的权限似然比大于预设概率阈值和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述调用接口、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令、预设的调用接口黑名单中不存在所述调用接口和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述待申请的权限、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值、预设的系统命令黑名单中不存在所述系统命令和所述意图信息中不存在隐藏短消息的意图信息。

在一个可选的实现中,所述确定单元,还用于根据所述恶意应用程序的程序特征信息与已知恶意类别的恶意应用程序的程序特征信息的相似性,确定所述恶意应用程序的恶意类别。

在一个可选的实现中,所述确定单元,还具体用于采用needleman-wunsch算法,对所述恶意应用程序的字符串与所述目标恶意应用程序的每个字符串进行相似性运算,得到最大的相似性;

采用jaccard系数算法,对所述恶意应用程序的系统命令字符串与所述目标恶意应用程序的每个系统命令字符串进行相似性运算,得到最大的系统命令相似性;

采用levenshtein距离算法,对所述恶意应用程序的申请权限字符串与所述目标恶意应用程序的每个申请权限字符串进行相似性运算,得到最大的申请权限相似性;

采用预设累加算法,对所述最大的相似性、所述最大的系统命令相似性和所述最大的申请权限相似性进行累加,得到相似性分数;

若所述相似性分数大于预设分数阈值,则确定所述恶意应用程序的恶意类别与所述目标恶意应用程序的恶意类别相同。

在一个可选的实现中,所述相似性分数的公式表示为:

其中,wi是相关相似性的权重,对所有的i存在n为程序特征信息的种类数。

在一个可选的实现中,所述装置还包括生成单元;

所述生成单元,用于生成告警信息,所述告警信息用于向用户展示所述待检测应用程序是恶意应用程序的信息。

第三方面,提供了一种电子设备,该电子设备包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述第一方面中任一所述的方法步骤。

第四方面,提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面中任一所述的方法步骤。

本发明实施例提供的恶意应用程序的检测方法中获取待检测应用程序的证书序列号和程序特征信息,程序特征信息为待检测应用程序设定的待运行的信息,程序特征信息包括调用接口、系统命令和申请权限中的至少两种特征信息;根据预设的证书序列号黑名单,对证书序列号进行检测,证书序列号黑名单包括已知恶意应用程序的证书序列号;若预设的证书序列号黑名单中存在证书序列号,则确定待检测应用程序为恶意应用程序;若预设的证书序列号黑名单中不存在证书序列号,则根据程序特征信息,确定待检测应用程序是否为恶意应用程序。与现有技术相比,该方法不需要人为设定,且不仅对待检测应用程序申请的权限进行检测,还可以对调用接口、系统命令等程序特信息进行综合检测,同时不需要创建相应的检测环境,故提高了检测准确性与检测效率、降低了测试成本。

附图说明

图1为本发明实施例提供的应用恶意应用程序的检测方法的检测设备的结构示意图;

图2为本发明实施例提供的一种恶意应用程序的检测方法的流程示意图;

图3为本发明实施例提供的一种恶意应用程序的检测装置的结构示意图;

图4为本发明实施例提供的一种电力设备的结构示意图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,并不是全部的实施例。基于本申请实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。

本发明实施例提供的恶意应用程序的检测方法可以应用在图1所示的检测设备中,该检测设备可以包括:解析模块、恶意应用程序检测模块和存储模块。

解析模块,用于从待检测应用程序的程序文件中提取证书信息,以及调用接口(applicationprogramminginterface,api)、申请权限、系统命令和意图信息等程序特征信息。

其中,申请权限,是指每个应用程序在安装之前都向用户请求权限,即会通知用户该应用程序可以访问哪些信息和资源。

证书信息,是指当分发应用程序时,开发者使用预设私钥对该应用程序进行签名,以及生成相应公钥的标准证书信息。证书信息包括唯一标识该开发者的序列号,故可以通过比较序列号来检查两个证书信息是否相同。

意图信息,是指对应用程序中一次操作的动作,以及该动作涉及的数据进行描述的信息。其中,可以了解到该应用程序是否存在隐藏短信通知的行为。

恶意应用程序检测模块,用于根据证书信息和程序特征信息,对待检测应用程序进行检测,判断该待检测应用程序是否为恶意应用程序。

存储模块,用于存储已知恶意应用程序的证书序列号;

存储已知恶意应用程序使用的存在恶意行为的系统命令组成的系统命令黑名单;其中,该系统命令黑名单中存在恶意行为的系统命令字符串可以包括'chmod'、'insmod'、'su'、'mount'、'sh'、'killall'、'reboot'、'mkdir'、'getprop'、'ln'和'ps'等,以及“gingerbreak”和“rageagainststage”。

以及,存储已知恶意应用程序对应的证书序列号组成的证书序列号黑名单、已知的恶意应用程序频繁使用的涉及安全风险的调用接口api组成的调用接口api黑名单以及已知恶意应用程序的其他异常程序特征信息。

其中,已知恶意应用程序可以从恶意软件存储库网站进行收集,如virusshare、contagiomobile和malware.lu。且可以使用f-secure杀毒软件的恶意应用程序描述来标记两个恶意应用程序的关联性和各自的异常程序特征信息。

以下结合说明书附图对本申请的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明,并且在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。

图2为本发明实施例提供的一种恶意应用程序的检测方法的流程示意图。如图2所示,该方法可以包括:

步骤210、获取待检测应用程序的证书序列号和程序特征信息。

其中,程序特征信息为待检测应用程序设定的待运行的信息,程序特征信息可以包括调用接口api、系统命令和申请权限中的至少两种特征信息。

可选地,程序特征信息还可以包括意图信息,该意图信息可以包括是否隐藏短消息的信息。

其中,隐藏短消息的恶意应用程序的目的是订阅通过短信确认和通知的高级服务。这些恶意应用程序调用字段函数sendtextmessage()发送短信,以及具有接收短消息通知的最高优先级,然后使该消息无法传递到其他应用程序。隐藏短消息的恶意应用程序还具有获得短信接收意图的最高优先级,调用getdeviceid()、getline1number()、getsimserialnumber()和getlastknownlocation()等字段函数用于收集敏感信息,且将收集两种以上的短消息被认为是存在恶意行为。

步骤220、根据预设的证书序列号黑名单对待检测应用程序进行检测的检测结果,确定待检测应用程序是否为恶意应用程序。

若预设的证书序列号黑名单中存在证书序列号,则确定待检测应用程序为恶意应用程序;

若预设的证书序列号黑名单中不存在证书序列号,则执行步骤230。

步骤230、根据程序特征信息对待检测应用程序进行检测的检测结果,确定待检测应用程序是否为恶意应用程序。

根据程序特征信息,确定待检测应用程序是否为恶意应用程序的检测可以通过检测程序特征信息是否满足预设恶意应用程序检测条件来判定;

若程序特征信息不满足预设恶意应用程序检测条件,则确定待检测应用程序为正常应用程序;

若程序特征信息满足预设恶意应用程序检测条件,则确定待检测应用程序为恶意应用程序。

具体的,在程序特征信息包括调用接口、系统命令和申请权限中的至少两种特征信息的情况下:

(1)当程序特征信息包括调用接口和申请权限时,预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在调用接口,且申请权限对应的权限似然比大于预设概率阈值;其中,权限似然比用于描述待检测应用程序具有申请权限的条件下,使待检测应用程序成为恶意应用程序的概率;

(2)当程序特征信息包括调用接口和系统命令时,预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在系统命令,且预设的调用接口黑名单中不存在调用接口;

(3)当程序特征信息包括申请权限和所述系统命令时,预设恶意应用程序检测条件包括:申请权限对应的权限似然比大于预设概率阈值,且预设的系统命令黑名单中不存在系统命令。

其中,申请权限对应的权限似然比的相关介绍如下:

由于正常应用程序和恶意应用程序在申请权限方面有不同的倾向。一般恶意应用程序可以申请的权项数比正常应用程序申请的权限数多,或者,恶意应用程序经常申请具有与隐私问题或财务欺诈相关风险的权限。

首先,从恶意应用程序存储库网站收集了恶意应用程序样本,如virusshare、contagiomobile和malware.lu,并使用f-secure杀毒软件的恶意应用程序描述来标记两个恶意应用程序的家族关联性和各自的异常程序特征信息。同时,从androidmarket,googleplay下载了应用程序,并假设它们是正常的应用程序,将上述恶意应用程序样本和正常应用程序样本作为初始的样本信息库。

其次,获取该样本信息库中恶意应用程序样本和正常应用程序样本所涉及的所有申请权限中本实施例中该待检测应用程序的申请权限的概率。

之后,利用朴素贝叶斯分类器可以计算出每个类别(即正常与恶意两种类别)的许可概率。大多数申请权限与任何其他权限都存在相关性。设n和m分别表示应用程序数和关键权限数。应用程序i的权限向量是ai=(ai,1,ai,2,...,ai,m,),其中,

此外,用ci∈{benign,malicious}来表示应用程序的类别。那么,

利用贝叶斯定理,给定变量ai,j的可使用权限信息,其被分为ci的条件概率可以表示为:

通过比较似然比和预设概率阈值,即可检测到恶意应用程序,即若申请权限对应的权限似然比大于预设概率阈值,则证明待检测应用程序为恶意应用程序。

进一步的,如果其中一个条件概率为零,则整个乘法为零。为了避免这种情况,使用拉普拉斯估计来计算条件概率:

可选地,为了进一步提高检测的准确性,且由于在意图信息中需要特定接收字段函数收集一定数量的短消息,才可认为意图信息包含隐藏短消息的信息,故当程序特征信息还可以包括意图信息时,需要与上述调用接口、系统命令和申请权限中的至少两种特征信息进行结合;

(1)当程序特征信息包括调用接口、申请权限和意图信息时,预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在调用接口、申请权限对应的权限似然比大于预设概率阈值和意图信息中不存在隐藏短消息的意图信息;

(2)当程序特征信息包括调用接口、系统命令和意图信息时,预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在系统命令、预设的调用接口黑名单中不存在调用接口和所述意图信息中不存在隐藏短消息的意图信息;

(3)当所述程序特征信息包括待申请的权限、系统命令和意图信息时,预设恶意应用程序检测条件包括:申请权限对应的权限似然比大于预设概率阈值、预设的系统命令黑名单中不存在系统命令和意图信息中不存在隐藏短消息的意图信息。

可选地,确定待检测应用程序是恶意应用程序之后,可以生成告警信息,该告警信息用于向用户展示待检测应用程序是恶意应用程序的信息。

进一步的,确定待检测应用程序是恶意应用程序之后,

可以通过比较恶意应用程序的签名和每个组的签名来生成相似的恶意应用程序组,即每个恶意应用程序组代表一种恶意类别。其中,签名是一组可疑的api字符串、恶意系统命令和恶意应用程序的申请权限。

由此可以根据恶意应用程序的程序特征信息与已知恶意类别的目标恶意应用程序的程序特征信息的相似性,确定该恶意应用程序的恶意类别。

具体的,采用needleman-wunsch算法,对恶意应用程序的字符串与目标恶意应用程序的每个字符串进行相似性运算,得到最大的相似性;

采用jaccard系数算法,对恶意应用程序的系统命令字符串与目标恶意应用程序的每个系统命令字符串进行相似性运算,得到最大的系统命令相似性;

采用levenshtein距离算法,对恶意应用程序的申请权限字符串与目标恶意应用程序的每个申请权限字符串进行相似性运算,得到最大的申请权限相似性;其中,此指标计算使两个字符串相同的最小字符编辑次数。考虑权限的顺序是没有意义的,所以我们在对字符串排序后应用了levenshtein距离。相似度值计算为两个字符串最大长度上的编辑次数。计算请求权限和api相关权限的每个相似性,并使用两个值的平均值表示关键权限的相似性。

采用预设累加算法,对最大的相似性、最大的系统命令相似性和最大的申请权限相似性进行累加,得到相似性分数;

若相似性分数大于预设分数阈值,则确定恶意应用程序的恶意类别与目标恶意应用程序的恶意类别相同。

若相似性分数不大于预设分数阈值,则确定恶意应用程序的恶意类别与目标恶意应用程序的恶意类别不相同,此时可以生成该恶意应用程序对应的新的恶意类别。

可选地,相似性分数的公式表示为:

其中,wi是相关相似性的权重,对所有的i存在n为程序特征信息的种类数。

本发明实施例提供的恶意应用程序的检测方法中获取待检测应用程序的证书序列号和程序特征信息,程序特征信息为待检测应用程序设定的待运行的信息,程序特征信息包括调用接口、系统命令和申请权限中的至少两种特征信息;根据预设的证书序列号黑名单,对证书序列号进行检测,证书序列号黑名单包括已知恶意应用程序的证书序列号;若预设的证书序列号黑名单中存在证书序列号,则确定待检测应用程序为恶意应用程序;若预设的证书序列号黑名单中不存在证书序列号,则根据程序特征信息,确定待检测应用程序是否为恶意应用程序。与现有技术相比,该方法不需要人为设定,且不仅对待检测应用程序申请的权限进行检测,还可以对调用接口、系统命令等程序特信息进行综合检测,同时不需要创建相应的检测环境,故提高了检测准确性与检测效率、降低了测试成本。

与上述方法对应的,本发明实施例还提供一种恶意应用程序的检测装置,如图3所示,该装置包括:获取单元310、检测单元320和确定单元330;

获取单元310,用于获取待检测应用程序的证书序列号和程序特征信息,所述程序特征信息为所述待检测应用程序设定的待运行的信息,所述程序特征信息包括调用接口、系统命令和申请权限中的至少两种特征信息;

检测单元320,用于根据预设的证书序列号黑名单,对所述证书序列号进行检测,所述证书序列号黑名单包括已知恶意应用程序的证书序列号;

确定单元330,用于若预设的证书序列号黑名单中存在所述证书序列号,则确定所述待检测应用程序为恶意应用程序;

若预设的证书序列号黑名单中不存在所述证书序列号,则根据所述程序特征信息,确定所述待检测应用程序是否为恶意应用程序。

在一个可选的实现中,确定单元330,具体用于若所述程序特征信息满足预设恶意应用程序检测条件,则确定所述待检测应用程序为恶意应用程序;

当所述程序特征信息包括所述调用接口和所述申请权限时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口,且所述申请权限对应的权限似然比大于预设概率阈值;其中,所述权限似然比用于描述所述待检测应用程序具有所述申请权限的条件下,使所述待检测应用程序成为恶意应用程序的概率,所述调用接口黑名单包括已知的恶意应用程序频繁使用的涉及安全风险的调用接口;

当所述程序特征信息包括所述调用接口和所述系统命令时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令,且预设的调用接口黑名单中不存在所述调用接口,其中,所述系统命令黑名单包括已知的恶意应用程序使用的存在恶意行为的系统命令;

当所述程序特征信息包括所述申请权限和所述系统命令时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值,且预设的系统命令黑名单中不存在所述系统命令。

在一个可选的实现中,所述程序特征信息还包括意图信息;

确定单元330,还具体用于当所述程序特征信息包括所述调用接口、所述申请权限和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口、所述申请权限对应的权限似然比大于预设概率阈值和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述调用接口、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令、预设的调用接口黑名单中不存在所述调用接口和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述待申请的权限、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值、预设的系统命令黑名单中不存在所述系统命令和所述意图信息中不存在隐藏短消息的意图信息。

在一个可选的实现中,确定单元330,还用于根据所述恶意应用程序的程序特征信息与已知恶意类别的恶意应用程序的程序特征信息的相似性,确定所述恶意应用程序的恶意类别。

在一个可选的实现中,确定单元330,还具体用于采用needleman-wunsch算法,对所述恶意应用程序的字符串与所述目标恶意应用程序的每个字符串进行相似性运算,得到最大的相似性;

采用jaccard系数算法,对所述恶意应用程序的系统命令字符串与所述目标恶意应用程序的每个系统命令字符串进行相似性运算,得到最大的系统命令相似性;

采用levenshtein距离算法,对所述恶意应用程序的申请权限字符串与所述目标恶意应用程序的每个申请权限字符串进行相似性运算,得到最大的申请权限相似性;

采用预设累加算法,对所述最大的相似性、所述最大的系统命令相似性和所述最大的申请权限相似性进行累加,得到相似性分数;

若所述相似性分数大于预设分数阈值,则确定所述恶意应用程序的恶意类别与所述目标恶意应用程序的恶意类别相同。

在一个可选的实现中,所述相似性分数的公式表示为:

其中,wi是相关相似性的权重,对所有的i存在n为程序特征信息的种类数。

在一个可选的实现中,所述装置还包括生成单元340;

生成单元340,用于生成告警信息,所述告警信息用于向用户展示所述待检测应用程序是恶意应用程序的信息。

本发明上述实施例提供的恶意应用程序的检测装置的各功能单元的功能,可以通过上述各方法步骤来实现,因此,本发明实施例提供的恶意应用程序的检测装置中的各个单元的具体工作过程和有益效果,在此不复赘述。

本发明实施例还提供了一种电子设备,如图4所示,包括处理器410、通信接口420、存储器430和通信总线440,其中,处理器410,通信接口420,存储器430通过通信总线440完成相互间的通信。

存储器430,用于存放计算机程序;

处理器410,用于执行存储器430上所存放的程序时,实现如下步骤:

获取待检测应用程序的证书序列号和程序特征信息,所述程序特征信息为所述待检测应用程序设定的待运行的信息,所述程序特征信息包括调用接口、系统命令和申请权限中的至少两种特征信息;

根据预设的证书序列号黑名单,对所述证书序列号进行检测,所述证书序列号黑名单包括已知恶意应用程序的证书序列号;

若预设的证书序列号黑名单中存在所述证书序列号,则确定所述待检测应用程序为恶意应用程序;

若预设的证书序列号黑名单中不存在所述证书序列号,则根据所述程序特征信息,确定所述待检测应用程序是否为恶意应用程序。

在一个可选的实现中,根据所述程序特征信息,确定所述待检测应用程序是否为恶意应用程序,包括:

若所述程序特征信息满足预设恶意应用程序检测条件,则确定所述待检测应用程序为恶意应用程序;

当所述程序特征信息包括所述调用接口和所述申请权限时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口,且所述申请权限对应的权限似然比大于预设概率阈值;其中,所述权限似然比用于描述所述待检测应用程序具有所述申请权限的条件下,使所述待检测应用程序成为恶意应用程序的概率,所述调用接口黑名单包括已知的恶意应用程序频繁使用的涉及安全风险的调用接口;

当所述程序特征信息包括所述调用接口和所述系统命令时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令,且预设的调用接口黑名单中不存在所述调用接口,其中,所述系统命令黑名单包括已知的恶意应用程序使用的存在恶意行为的系统命令;

当所述程序特征信息包括所述申请权限和所述系统命令时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值,且预设的系统命令黑名单中不存在所述系统命令。

在一个可选的实现中,所述程序特征信息还包括意图信息;

当所述程序特征信息包括所述调用接口、所述申请权限和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的调用接口黑名单中不存在所述调用接口、所述申请权限对应的权限似然比大于预设概率阈值和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述调用接口、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:预设的系统命令黑名单中不存在所述系统命令、预设的调用接口黑名单中不存在所述调用接口和所述意图信息中不存在隐藏短消息的意图信息;

当所述程序特征信息包括所述待申请的权限、所述系统命令和所述意图信息时,所述预设恶意应用程序检测条件包括:所述申请权限对应的权限似然比大于预设概率阈值、预设的系统命令黑名单中不存在所述系统命令和所述意图信息中不存在隐藏短消息的意图信息。

在一个可选的实现中,确定所述待检测应用程序是恶意应用程序之后,所述方法还包括:

根据所述恶意应用程序的程序特征信息与已知恶意类别的恶意应用程序的程序特征信息的相似性,确定所述恶意应用程序的恶意类别。

在一个可选的实现中,根据所述恶意应用程序的程序特征信息与已知恶意类别的目标恶意应用程序的程序特征信息的相似性,确定所述恶意应用程序的恶意类别,包括:

采用needleman-wunsch算法,对所述恶意应用程序的字符串与所述目标恶意应用程序的每个字符串进行相似性运算,得到最大的相似性;

采用jaccard系数算法,对所述恶意应用程序的系统命令字符串与所述目标恶意应用程序的每个系统命令字符串进行相似性运算,得到最大的系统命令相似性;

采用levenshtein距离算法,对所述恶意应用程序的申请权限字符串与所述目标恶意应用程序的每个申请权限字符串进行相似性运算,得到最大的申请权限相似性;

采用预设累加算法,对所述最大的相似性、所述最大的系统命令相似性和所述最大的申请权限相似性进行累加,得到相似性分数;

若所述相似性分数大于预设分数阈值,则确定所述恶意应用程序的恶意类别与所述目标恶意应用程序的恶意类别相同。

在一个可选的实现中,所述相似性分数的公式表示为:

其中,wi是相关相似性的权重,对所有的i存在n为程序特征信息的种类数。

在一个可选的实现中,确定所述待检测应用程序是恶意应用程序之后,所述方法还包括:

生成告警信息,所述告警信息用于向用户展示所述待检测应用程序是恶意应用程序的信息。

上述提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,ram),也可以包括非易失性存储器(non-volatilememory,nvm),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,cpu)、网络处理器(networkprocessor,np)等;还可以是数字信号处理器(digitalsignalprocessing,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(field-programmablegatearray,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

由于上述实施例中电子设备的各器件解决问题的实施方式以及有益效果可以参见图2所示的实施例中的各步骤来实现,因此,本发明实施例提供的电子设备的具体工作过程和有益效果,在此不复赘述。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的恶意应用程序的检测方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的恶意应用程序的检测方法。

本领域内的技术人员应明白,本申请实施例中的实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例中可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例中可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。

本申请实施例中是参照根据本申请实施例中实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

尽管已描述了本申请实施例中的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例中范围的所有变更和修改。

显然,本领域的技术人员可以对本申请实施例中实施例进行各种改动和变型而不脱离本申请实施例中实施例的精神和范围。这样,倘若本申请实施例中实施例的这些修改和变型属于本申请实施例中权利要求及其等同技术的范围之内,则本申请实施例中也意图包含这些改动和变型在内。

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