[发明专利]一种Android恶意软件的自动化检测方法有效
| 申请号: | 201110445091.6 | 申请日: | 2011-12-27 |
| 公开(公告)号: | CN103186740A | 公开(公告)日: | 2013-07-03 |
| 发明(设计)人: | 韩心慧;郑聪;龚晓锐;朱诗雄 | 申请(专利权)人: | 北京大学 |
| 主分类号: | G06F21/56 | 分类号: | G06F21/56 |
| 代理公司: | 北京君尚知识产权代理事务所(普通合伙) 11200 | 代理人: | 余长江 |
| 地址: | 100871*** | 国省代码: | 北京;11 |
| 权利要求书: | 查看更多 | 说明书: | 查看更多 |
| 摘要: | |||
| 搜索关键词: | 一种 android 恶意 软件 自动化 检测 方法 | ||
1.一种Android恶意软件的自动化检测方法,其步骤为:
1)将若干API函数设为敏感API,将待检测Android软件反汇编并解析出反汇编代码中的所有敏感API和敏感API的函数调用路径;
2)根据API的函数调用路径判断每一敏感API的触发方式,若为用户触发方式,则解析出触发该敏感API的用户事件函数名称和控件信息,并将其输入到动态检测沙箱中,执行该控件的相应用户事件函数,自动触发恶意行为;若为系统消息触发方式,则向动态检测沙箱中发送系统消息触发恶意行为;所述控件信息包括:控件的类型及名称;
3)动态检测沙箱监测并记录该软件调用敏感API的情况及操作的数据,如果确实有敏感API的调用及该调用所操作的数据,则将该软件判定为恶意软件。
2.如权利要求1所述的方法,其特征在于采用静态分析器对待检测软件反汇编并进行解析;所述反汇编代码的格式为:包含字节码以及注释信息、调试信息和行信息的反汇编代码格式。
3.如权利要求1或2所述的方法,其特征在于所述触发方式的判断方法为:根据敏感API的函数调用路径得到调用起始函数,通过判断调用起始函数的类型来得到敏感API的触发方式;若调用起始函数属于控件的用户事件函数,则判断为用户触发方式;否则判断为系统消息触发方式。
4.如权利要求3所述的方法,其特征在于所述调用起始函数是组成所述函数调用路径的函数序列中最先被执行的函数。
5.如权利要求3所述的方法,其特征在于所述执行该控件的相应用户事件函数,自动触发恶意行为的方法为:首先根据输入所述动态检测沙箱的控件信息,找出该软件当前视图中与传入控件的类型和名称相匹配的控件;然后,调用匹配控件中的用户事件函数,自动触发执行由用户对该控件操作来触发的敏感API。
6.如权利要求5所述的方法,其特征在于所述调用匹配控件中的用户事件函数的方法为:利用Java的反射机制,根据该控件的名称和参数获取对应用户事件函数对象并进行调用。
7.如权利要求3所述的方法,其特征在于解析出触发该敏感API的控件信息的方法为:根据所述调用起始函数的类确定控件的类,然后查找该类的onCreate函数中的findViewById指令,根据该指令的参数所在寄存器的值确定控件在待检测软件反汇编资源文件中的Id值,然后通过该Id值到查找所述资源文件,得到控件的名称;查找该类中用户事件绑定指令,确定控件的类型。
8.如权利要求1所述的方法,其特征在于所述敏感API是Android系统API中具有发送短信、或连接网络、或获取地理位置信息、或读取设备信息、或读取联系人、或读取短信和通讯记录信息、或读写SD卡、或读取和修改Wifi信息功能的API。
9.如权利要求1所述的方法,其特征在于步骤2)中,向动态检测沙箱中发送的系统消息包括:模拟器重启消息、地理位置变化消息、网络信号变化消息、接收到短信消息、接收到来电消息。
10.如权利要求1所述的方法,其特征在于所述动态检测沙箱以日志方式记录。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京大学,未经北京大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201110445091.6/1.html,转载请声明来源钻瓜专利网。
- 上一篇:纳米粒子检测器
- 下一篇:LNG储罐的分布式光纤泄漏监测系统





