[发明专利]一种Android应用程序溢权漏洞检测和恶意行为识别方法有效
申请号: | 201711275363.6 | 申请日: | 2017-12-06 |
公开(公告)号: | CN108073813B | 公开(公告)日: | 2021-02-09 |
发明(设计)人: | 刘晓建;雷倩 | 申请(专利权)人: | 西安科技大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F21/57;G06K9/62;G06F8/53 |
代理公司: | 西安文盛专利代理有限公司 61100 | 代理人: | 佘文英 |
地址: | 710054 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 android 应用程序 漏洞 检测 恶意 行为 识别 方法 | ||
本发明公开了一种Android应用程序溢权漏洞检测和恶意行为识别方法。采用静态分析方法以及字符串分析方法,并全面考虑APP中使用权限的程序点,准确、有效提取出了Android APP的实际使用权限集合的上界,减少了溢权漏洞的误报率;以实际使用权限为特征,更准确的描述了APP的行为特征,在此基础上构造了准确率高、误报率低的APP恶意行为分类器。
技术领域
本发明涉及软件安全领域,主要涉及一种通过静态分析方法来检测Android移动应用程序的溢权漏洞,并通过应用程序的权限特征来识别其恶意行为的方法。
背景技术
由于Android自身安全机制存在缺陷,使得具有安全漏洞甚至恶意行为的Android应用程序被大量制作,并通过国内大量参差不齐的第三方应用市场得到广泛传播,个人和公众隐私数据频繁遭到窃取和滥用,严重威胁个人隐私,甚至国家经济政治安全。因此研究Android应用程序(以下简称APP)恶意行为检测方法,开发检测系统,对于保护个人隐私信息、维护国家网络空间安全具有重要意义。
常用的恶意程序检测技术大多采用基于特征(signature-based)的方法,把APP的Hash值、代码片段或出现的字符串等与恶意软件库进行比对。该方法依赖历史恶意程序的分析和提取,对新型未知恶意软件几乎没有查杀能力。另外,很多恶意程序为了逃避检测,采用了代码混淆和加密,使得这类方法难以有效抽取出典型特征。
发明内容
本发明的目的是提供一种Android APP溢权漏洞检测和恶意行为识别方法,能够有效提取出APP的实际使用权限,构造准确率高、误报率低的APP恶意行为分类器。
本发明主要解决两个问题:
1、Android APP实际使用权限集合的提取以及溢权漏洞的检测方法;
2、基于权限特征的APP恶意行为识别方法。
解决第一个问题的关键是,有效提取出APP的实际使用权限。通常,APP所申请的权限并不等于实际使用的权限,当申请的权限多于实际使用的权限时,就会出现溢权漏洞。恶意APP经常使用溢权漏洞,获取敏感资源的操作权限,实施恶意攻击。
解决第二个问题的关键是构造准确率高、误报率低的APP恶意行为分类器,这依赖于样本数量、样本的选择以及分类算法的设计。
本发明提出一种对APP的实际使用权限进行提取和分析,并通过这些权限特征对APP的恶意行为进行识别的方法。
该方法具有以下优点:
第一,由于APP的权限集合反映了该APP能够访问的敏感资源(如网络接口、位置信息、联系人信息等)的集合,因此以权限作为APP的特征能够在很大程度上描述APP使用敏感资源的行为,进而为判断和识别APP的恶意性提供依据。
第二,APP请求的权限通常在应用程序的说明文件中以明文形式给予了明确说明,因此便于提取和分析;
第三,权限特征的分析依赖于大量恶性和良性样本,但是从样本中构造出分类模型之后,可以用于识别其它未知或新出现的恶意APP,因此克服了基于特征的识别方法的不足。
本发明的技术方案是:一种Android应用程序溢权漏洞检测和恶意行为识别方法,包括以下步骤:
第一步:使用反编译工具链对Android APP安装包进行处理,得到反编译的Java字节码程序(以下简称“程序”),对程序进行扫描提取与权限有关的API调用,即敏感API;
第二步:扫描有关Java反射的系统调用,采用字符串分析方法得到通过反射接口调用的敏感API;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安科技大学,未经西安科技大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201711275363.6/2.html,转载请声明来源钻瓜专利网。