[发明专利]一种Android应用程序溢权漏洞检测和恶意行为识别方法有效
申请号: | 201711275363.6 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108073813B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 刘晓建;雷倩 | 申请(专利权)人: | 西安科技大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57;G06K9/62;G06F8/53 |
代理公司: | 西安文盛专利代理有限公司 61100 | 代理人: | 佘文英 |
地址: | 710054 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 应用程序 漏洞 检测 恶意 行为 识别 方法 | ||
1.一种Android应用程序溢权漏洞检测和恶意行为识别方法,其特征是,包括以下步骤:
第一步:使用反编译工具链对Android APP安装包进行处理,得到反编译的Java字节码程序,对程序进行扫描,提取与权限有关的API调用,即敏感API;
第二步:扫描有关Java反射的系统调用,采用字符串分析方法得到通过反射接口调用的敏感API;
第三步:扫描Intent对象的所有发送点,采用字符串常量传播分析方法得到发送点上Intent对象的action属性值;扫描Intent对象的所有接收点上Intent Filter,得到接收点上IntentFilter对象的action属性值;
第四步:扫描所有URI数据源的构造点,以及对URI数据的操作点,得到数据源的URI和对URI的读写操作;URI数据源的构造点是指程序中构造URI的代码片段;URI数据的操作点是指对URI进行读、写的代码片段;采用字符串常量传播分析工具得到URI对象的属性值;
第五步:根据第二步、第三步和第四步得到的敏感API、Intent和IntentFilter对象的action属性值、以及URI对象的属性值以及读写操作,将其映射为相应的权限集合,该集合就是APP在程序中实际使用的权限集合,记为PermUsed;
第六步:从AndroidManifest.xml文件中提取出APP申请的权限集合,记为PermReq;将PermUsed和PermReq进行比对,判断APP中是否存在溢权漏洞和权限申请不足的漏洞;
第七步:从VirusShare下载1000个恶意样本,再从Google Play上下载780个良性样本,对其中一部分样本,采用第一步~第五步的方法,提取出它的实际使用权限集合,然后统计在恶意应用中出现次数最多的前20个权限作为判断应用恶意性的特征权限,并统计这20个权限在正常应用中的出现频率,根据特征权限在恶意应用和正常应用中出现频率的差异性,为每个特征权限计算一个权限恶意程度值,由权限恶意程度值构成一个权限恶意度列向量;
第八步:将每个APP的实际使用权限映射成一个权限特征向量,将权限特征向量与权限恶意度列向量相乘便得到一个应用的恶意程度值;
第九步:计算大量恶意和良性样本恶意程度值平均值,确定合适的权重阈值,形成一个线性分类器用于判断一个未知APP的恶意性;如果应用的恶意程度值大于阈值,则为恶意应用,否则,为良性应用。
2.如权利要求1所述的Android应用程序溢权漏洞检测和恶意行为识别方法,其特征是,第六步判断方法是:如果说明有溢权漏洞,差集PermReq-PermUsed是申请了但是没有用到的权限集;如果那么说明存在权限申请不足的设计漏洞。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安科技大学,未经西安科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711275363.6/1.html,转载请声明来源钻瓜专利网。