[发明专利]一种基于函数调用的Android恶意代码检测方法有效
申请号: | 201310443172.1 | 申请日: | 2013-09-25 |
公开(公告)号: | CN103440459A | 公开(公告)日: | 2013-12-11 |
发明(设计)人: | 陶敬;胡文君;周文瑜;赵双;马小博 | 申请(专利权)人: | 西安交通大学 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 北京科亿知识产权代理事务所(普通合伙) 11350 | 代理人: | 汤东凤 |
地址: | 710049 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | 本发明提出一种Android恶意软件检测方法,旨在解决现有Android恶意代码检测技术无法细粒度构建Android程序行为特征的问题。首先对现有Android恶意代码进行基于权限的统计分析,提取使用率较高的权限作为敏感权限,继而以使用这些权限的API作为入口点,构建调用这些API的函数链,进行基于函数调用的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程序判定为恶意代码,进行标定和记录。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西安交通大学,未经西安交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/patent/201310443172.1/,转载请声明来源钻瓜专利网。
- 上一篇:一种应用系统变更验证方法及验证系统
- 下一篇:电子合同的签订方法