首页> 中国专利> 一种基于权限组合的安卓恶意软件检测方法

一种基于权限组合的安卓恶意软件检测方法

摘要

本发明涉及一种基于权限组合的安卓恶意软件检测方法,属于移动互联网网络安全技术领域,该方法基于权限组合对现有的基于权限的检测方法进行改进,大幅度降低现有技术对正常软件的误报率,同时在一定程度上提高对恶意软件的检出率;此外,本发明提出一种新的权限打分与软件打分方式,可以应用于恶意软件的初筛、大量恶意软件的快速检测、应用市场安全状态评估等需要快速、高效的对大量软件进行整体评估的场景。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-28

    授权

    授权

  • 2016-08-03

    实质审查的生效 IPC(主分类):G06F21/56 申请日:20160129

    实质审查的生效

  • 2016-07-06

    公开

    公开

说明书

技术领域

本发明属于移动互联网网络安全技术领域,具体涉及一种基于权限组合的安卓恶意软件 检测方法。

背景技术

随着移动通信技术的普及和电子产品价格的降低,越来越多的人开始使用移动智能设备; 根据中国电子信息产业发展研究院(工业和信息化部赛迪智库)发布的《移动智能终端产业 发展白皮书(2015版)》,2014年,全球智能实际用户数量达到17.5亿,80%的智能手机搭载 Android系统;但是Android应用市场的审核机制过于松散,并且允许不通过市场直接安装第 三方软件,所以安全性大大降低;特别是国内用户,因为应用市场缺乏统一管理和监督,用 户有很大的可能面临恶意软件的威胁;因此,对Android恶意软件检测方法的研究有其必要性 和紧迫性。

近年来,对移动终端软件安全性的研究也得到了国内外机构和专家越来越多的关注,研 究者在这方面做了大量的工作;在检测方法上,可以分为静态检测和动态检测两大类,在静 态检测方法中,大部分都是基于权限的检测方法,即通过一定的方法对软件的权限进行评分, 再判断软件评分是否超出临界值,进而判断该软件是否为恶意软件;但是这种方法会造成一 些需求大量权限的正常软件被误报为恶意软件,同时需求少量权限的恶意软件被报为正常软 件的情况;而通过对恶意软件的行为进行分析,可以发现恶意软件的恶意行为的产生主要可 分为以下几种:恶意扣费、隐私窃取、流氓行为、资源消耗、系统破坏、远程控制、诱骗欺 诈、远程传播等。以隐私窃取为例,软件需同时具备隐私读取(例如读取通讯录、读取短信 等)权限和发送(例如访问网络、发送短信等)权限才有可能产生恶意行为。如果某正常软 件有相当多的隐私读取权限而没有发送权限,那么从隐私窃取的角度上看,软件就不会产生 恶意行为。而通过现有的基于权限的检测方法检测,因为软件有过多的关于隐私读取的权限, 因此评分会很高,有很大几率被误报为恶意软件。如果某恶意软件只有少量隐私读取权限和 发送权限,但是因为形成了权限的闭环,因此仍然可能产生恶意行为。而通过现有的基于权 限的检测方法检测,因为软件要求的权限较少,因此可能被漏报为正常软件。

此前,土耳其的GaziUniversity(加齐大学)于2015年1月在《DigitalInvestigation》上发 表过一篇题为《APKAuditor:Permission-basedAndroidmalwaredetectionsystem》文章,即是 通过机器学习的方法,得到各权限的评分及总分的临界值,在测试的过程中,分为以下几个 步骤:

1、反编译软件的APK文件;

2、提取APK文件中的权限描述;

3、根据之前机器学习的结果将权限打分相加,得到软件评分;

4、比较软件评分和机器学习得到的临界值,如果软件评分超过临界值,则认为是恶意软 件;

表1

ROCanalysisoftestresultson2629uniqueAndroidapplications.

在GazingUniversity的APKAuditor工具检测结果中,如表1所示,在对恶意软件的检测中, 从2485个恶意软件中成功检测出2300个,检出率为92.56%,但是在144个正常软件中,将123 个误报为恶意软件,误报率为85.42%,尽管其中可能有部分为潜在的或之前漏报的恶意软件, 但误报率仍然过高。

发明内容

针对现有技术的不足,本发明提出一种基于权限组合的安卓恶意软件检测方法,以达到 降低误报率并提高对恶意软件的检出率的目的。

一种基于权限组合的安卓恶意软件检测方法,该方法对训练集中的软件进行权限分类组 合并获得权限组合的评分,根据权限组合的评分获得评分临界值,将实际待检测安卓软件的 评分与临界值进行比较,判断待检测安卓软件是否为恶意软件。

包括以下步骤:

步骤1、对训练集中已知的安卓权限进行分类,包括:接收信息类、发送信息类、操作 类和其他类;

步骤2、确定安卓权限的组合形式,包括:提取操作类、操作类-发送信息类、接收信息 类-操作类、接收信息类-操作类-发送信息类,并对训练集中已知的安卓权限进行组合;

步骤3、将训练集中的安卓恶意软件的apk文件进行反编译,获得所有恶意软件的权限 列表;

步骤4、将训练集中的同等数量的安卓正常软件的apk文件进行反编译,获得所有正常 软件的权限列表;

步骤5、根据每种权项组合在恶意软件权限列表中出现的概率和在正常软件权限列表中 出现的概率,获得每种权项组合的得分;

步骤6、根据每个软件中所有权项组合的得分,求和获得该软件的得分;

步骤7、采用逻辑回归函数描述恶意软件概率的分布情况,设定概率期望值,进而获得 该期望值下的得分临界值;

步骤8、将实际待检测安卓软件的apk文件进行反编译,获得权限列表,根据权限列表 中权限组合的得分,计算该待检测软件的得分;

步骤9、判断该待检测软件的得分是否大于临界值,若是,则为恶意软件,否则为正常 软件。

步骤5所述的根据每种权项组合在恶意软件权限列表中出现的概率和在正常软件权限列 表中出现的概率,获得每种权项组合的得分,具体如下:

计算每个权限组合x的得分PSx

PSx=P(xT1)P(xT2)---(1)

其中,P(x∈T1)表示权限组合x在恶意软件权限列表T1中出现的概率,P(x∈T1)=T1中含 有x的软件数量/T1中含有软件的数量;P(x∈T2)表示权限组合x在正常软件权限列表T2中出 现的概率,P(x∈T2)=T2中含有x的软件数量/T2中含有软件的数量;PS为PermissionScore 的缩写。

步骤6所述的根据每个软件中所有权项组合的得分,求和获得该软件的得分;具体如下:

每个软件s的得分SSs

SSs=∑PSx∈s(2)

其中,PSx∈s表示软件s中权限组合x的得分,SS为SoftwareScore的缩写。

本发明优点:

本发明提出一种基于权限组合的安卓恶意软件检测方法,该方法基于权限组合对现有的 基于权限的检测方法进行改进,大幅度降低现有技术对正常软件的误报率,同时在一定程度 上提高对恶意软件的检出率;此外,本发明提出一种新的权限打分与软件打分方式,可以应 用于恶意软件的初筛、大量恶意软件的快速检测、应用市场安全状态评估等需要快速、高效 的对大量软件进行整体评估的场景。

附图说明

图1为本发明一种实施例的基于权限组合的安卓恶意软件检测过程示意图;

图2为本发明一种实施例的基于权限组合的安卓恶意软件检测方法流程图。

具体实施方式

下面结合附图对本发明一种实施例做进一步说明。

本发明实施例中,如图1所示,基于权限组合的安卓恶意软件检测方法,首先对权限进行 分类,同一权限可能属于多个类,可分为接收信息类(可从远程接收指令的权限,读取短信, 读取彩信,访问网络等)、发送信息类(可将信息发送到远程的权限,发送短信,发送彩信, 访问网络等)、操作类(可在本地操作的权限,读取短信,发送短信,重启设备,录音,访问 摄像头等)、其他类(低敏感权限,例如:设置总是退出,设置屏幕方向,设置动画缩放等)。 对操作类、操作类-发送信息类、接收信息类-操作类、接收信息类-操作类-发送信息类所形 成的组合分别进行评分,得到操作类权限权限和不同权限形成组合(符合组合类型的各权限 的笛卡尔积)的评分,同时得到判断软件是否为恶意软件的临界值;将实际待检测安卓软件 的评分与临界值进行比较,判断待检测安卓软件是否为恶意软件。

本发明实施例中,以4个软件为例,其中,2个为恶意软件,2个为正常软件,其权限如表 2所示:

表2

本发明实施例中,如图2所示,具体包括以下步骤:

步骤1、对训练集中已知的Android权限进行分类,分为接收信息类,发送信息类,操 作类和其他类四大类;

本发明实施例中,涉及到接收信息类:读取短信;操作类:读取短信,录音;

步骤2、确定安卓权限的组合形式,包括:提取操作类、操作类-发送信息类、接收信息 类-操作类、接收信息类-操作类-发送信息类,并对训练集中已知的安卓权限进行组合;

本发明实施例中,涉及到操作类:读取短信,录音;接收信息类-操作类:读取短信-录 音;

步骤3、将训练集中的安卓恶意软件的apk文件进行反编译,获得所有恶意软件的权限 列表T1

步骤4、将训练集中的同等数量的安卓正常软件的apk文件进行反编译,获得所有正常 软件的权限列表T2

步骤5、根据每种权项组合在恶意软件权限列表中出现的概率和在正常软件权限列表中 出现的概率,获得每种权项组合的得分;具体如下:

计算每个权限组合x的得分PSx

PSx=P(xT1)P(xT2)---(1)

其中,P(x∈T1)表示权限组合x在恶意软件权限列表T1中出现的概率,P(x∈T1)=T1中含 有x的软件数量/T1中含有软件的数量;P(x∈T2)表示权限组合x在正常软件权限列表T2中出 现的概率,P(x∈T2)=T2中含有x的软件数量/T2中含有软件的数量;PS为PermissionScore 的缩写。

本发明实施例中,读取短信的得分如下:

同理,获得PS录音=1,PS读取短信-录音=1;

步骤6、根据每个软件中所有权项组合的得分,求和获得该软件的得分;具体如下:

每个软件s的得分SSs

SSs=∑PSx∈s(2)

其中,PSx∈s表示软件s中权限组合x的得分,SS为SoftwareScore的缩写。

本发明实施例中,SS恶意软件A=2+1+1=4;

步骤7、采用逻辑回归函数描述恶意软件概率的分布情况,设定概率期望值,进而获得 该期望值下的得分临界值;

本发明实施例中,逻辑回归函数:

Ps=11+e-(α+β*SSs)---(3)

其中,Ps为软件s是恶意软件的概率;

本发明实施例中,采用迭代的方法计算逻辑回归函数中的变量α和β的值,再根据α和β 计算判断软件为恶意软件的得分的临界值SSmalware,使则临界值 SSmalware为软件是恶意软件的概率为0.5时软件的得分;所述的迭代方法采用最大似然法来求 得,通常最大似然被称作代价函数。在优化求解的过程中,要用到迭代方法,通常采用的几 种方法为梯度下降、改进的梯度下降,随机梯度下降,改进的随机梯度下降等迭代方法。

步骤8、将实际待检测安卓软件的apk文件进行反编译,获得权限列表,根据权限列表 中权限组合的得分,计算该待检测软件的得分;

步骤9、判断该待检测软件的得分是否大于临界值,若是,则为恶意软件,否则为正常 软件。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号