[发明专利]一种基于函数调用的Android恶意代码检测方法有效
申请号: | 201310443172.1 | 申请日: | 2013-09-25 |
公开(公告)号: | CN103440459A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 陶敬;胡文君;周文瑜;赵双;马小博 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 函数 调用 android 恶意代码 检测 方法 | ||
技术领域
本发明涉及移动互联网技术领域,主要涉及一种检测Android系统上的恶意代码的方法。
背景技术
近年来,基于Android系统的智能手机发展十分迅速,IDC的最新统计报告显示,2012年第4季度,Android系统的智能手机出货量达到了1.598亿部,市场占有率达到70.1%,截止2013年5月,全球Android设备激活量则已经突破9亿。基于Android系统的应用程序数量也在不断增加,这些应用程序涉及日常生活,办公娱乐,电子商务等众多领域,Google宣称,截止2013年5月,Android官方电子市场Google Play应用程序下载量达到480亿。同时,除了Google Play,还存在Amazon、AppBrain、安智等众多第三方电子市场。
Android系统的普及也伴随着其上恶意代码井喷式的发展速度。F-Secure移动威胁报告显示2013年第一季度发现新的恶意代码家族和变种数目为136个,比上一季度增加41.67%。Android恶意代码以恶意吸费、窃取用户隐私为主要目的,严重威胁了广大用户的切身利益。因此,Android程序的自动化分析无论是对恶意代码分析者,还是普通Android系统用户,都有重要意义
目前,现有Android恶意代码检测技术无法实现细粒度构建Android程序行为特征,因此,存在检测效果不佳的缺点。
发明内容
针对现有技术的不足,本发明提供了一种基于函数调用的Android恶意代码静态分析检测方法,旨在解决现有Android恶意代码检测技术无法细粒度构建Android程序行为特征的问题。
本发明的目的是通过以下技术方案来实现的:
一种基于函数调用的Android恶意代码检测方法,包括以下步骤:
第一步,采集Android恶意代码样本,进行手动分析,提取其中执行恶意行为的关键权限和API函数;
第二步,对采集的Android恶意代码的权限使用进行统计分析,提取使用率最高的前M个权限作为敏感高危权限;
第三步,Android系统中访问特定资源需要申请相应的权限,资源的访问体现在API中,根据Android Permission Map,提取第二步得到的M个权限相对应的API函数;
第四步,对待测的Android程序,提取其中的classes.dex文件,使用baksmali进行反编译生成smali文件;提取AndroidManifest.xml文件,使用AXMLPrinter2进行解码;
第五步,根据第四步得到解码后的AndroidManifest.xml提取该Android程序申请的权限信息,并根据第二步得到的M个权限进行过滤;
第六步,根据第五步得到的权限信息,以及第三步得到的权限与API的对应关系,得到该Android程序使用的敏感API;
第七步,根据第四步得到的smali文件和第六步得到的敏感API,以敏感API为入口,遍历该smali文件,根据smali文件的结构特征建立调用此API的函数调用树;
第八步,对上一步生成的API函数调用树,采用树的遍历算法,构建API函数调用链;
第九步,根据该待测Android程序使用的权限,基于第一步得到的已知恶意代码样本权限信息进行初步过滤,优选为,若该待测Android程序使用的权限包含已知恶意代码样本使用的权限,则将该恶意代码样本加入待匹配队列;
第十步,根据第九步得到的待匹配队列,采用NCD算法将该待测Android程序与待匹配队列中的恶意代码样本进行逐一的相似性匹配,若二者相似度超过一定阈值,则将该待测Android程序判定为恶意代码,进行标定和记录。
本发明具有可以细粒度地构建Android程序的行为特征,并基于此较好地检测Android恶意代码的优点,能够为众多Android电子市场提供基本审核方法,同时也可以为普通用户提供基本的扫描和保护功能。
附图说明
图1是本发明提出的Android恶意代码检测方法的流程示意图。
具体实施方式
以下结合附图对本发明的技术方案进行详细说明。
本发明的整体思路是对现有Android恶意代码进行基于权限的统计分析,提取使用率较高的权限作为敏感权限,继而以使用这些权限的API作为入口点,构建调用这些API的函数链,进行基于函数调用的Android恶意代码检测。
参考图1,在一个具体实施例中,本发明包括下述步骤:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310443172.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种应用系统变更验证方法及验证系统
- 下一篇:电子合同的签订方法