(19)中华人民共和国国家知识产权局
(12)发明专利说明书
(10)申请公布号 CN 103207969 A
(43)申请公布日 2013.07.17
(21)申请号 CN201310127940.2
(22)申请日 2013.04.12
(71)申请人 百度在线网络技术(北京)有限公司
    地址 100085 北京市海淀区上地十街10号百度大厦三层
(72)发明人 孙元臻 冉放 周向荣 鲁晓宇 陈伟 禤彪 杨博 温健 曹博
(74)专利代理机构 北京铭硕知识产权代理有限公司
    代理人 罗延红
(51)Int.CI
      G06F21/56
                                                                  权利要求说明书 说明书 幅图
(54)发明名称
android11系统更新包下载
      检测Android恶意软件的装置以及方法
(57)摘要
      提供一种检测Android恶意软件的装置及方法。一种检测Android恶意软件的装置包括:Android系统模拟器,在其上执行待检测软件,所述Android系统模拟器中预先设有至少一个预定函数或命令的插桩监控代码,所述插桩监控代码用于截获所述预定函数或命令被调用的调用状态数据;监控数据分析器,用于对截获的所述预定函数或者命令被调用的调用状态数据进行分析,以确定待检测软件是否包含恶意代码。
法律状态
法律状态公告日
法律状态信息
法律状态
权 利 要 求 说 明 书
1.一种检测Android恶意软件的装置,包括:           
Android系统模拟器,在其上执行待检测软件,所述Android系统模拟器            中设有至少一个预定函数或命令的插桩监控代码,所述插桩监控代码用于截            获所述预定函数或命令被调用的调用状态数据;           
监控数据分析器,用于对截获的所述预定函数或者命令被调用的调用状            态数据进行分析,以确定待检测软件是否包含恶意代码。           
2.如权利要求1所述的装置,其特征在于,所述预定函数或命令被调用            的调用状态数
据包括所述被调用的函数或者命令的函数名或命令名,和/或所            述被调用的函数或者命令的参数。           
3.如权利要求1或2所述的装置,其特征在于,所述预定函数包括Android            SDK中TelephonyManager、SmsManager、BroadcastReceiver、            NotificationManager、PhoneStateListener以及PackageManager中的至少一个            类的至少一个函数,所述预定命令包括su超级用户命令。           
4.如权利要求1或2所述的装置,其特征在于,所述监控数据分析器为            函数或命令的调用状态数据设置危险等级,并且根据截获的函数或命令被调            用的调用状态数据确定待检测软件是否包含恶意代码以及恶意代码的危险等            级。           
5.如权利要求4所述的装置,其特征在于,所述监控数据分析器为函数            或命令的调用状态数据设置危险等级具体包括:           
将su超级命令的调用设置为最高危险等级;           
和/或将TelephonyManager类的函数的调用设置为中等危险等级;           
和/或将NotificationManager类和PackageManager类的函数的调用设置为            低等的危险等级。           
6.如权利要求1或2所述的装置,还包括:用户行为模拟设置器,用于            在待检测软件被执行前或在待检测软件被执行期间,对Android系统模拟器            设置待模拟的用户行为参数。           
7.如权利要求6所述的装置,其特征在于,用户行为模拟设置器设置的            用户行为参数包括触摸事件百分比、导航事件百分比以及固定延迟。           
8.如权利要求1或2所述的装置,还包括:系统状态设置器,用于在待                            检测软件被执行前或在待检测软件被执行期间,对所述Android系统模拟器            设置系统属性。           
9.如权利要求8所述的装置,其特征在于,所述设置的系统属性包括            IMEI、IMSI、移动运营商信息中的至少一个。           
10.如权利要求8所述的装置,其特征在于,所述系统状态设置器还在            执行待检测软件
前或执行待检测软件时,对所述Android系统模拟器设置以            下状态或状态改变当中的至少一个:开机自启动、、接收短信、通            话状态、信号强度改变、网络连接状态改变、屏幕开启或锁屏、地理位置改            变、电池状态改变和横竖屏切换。           
11.如以上权利要求1-10任意一项所述的装置,其特征在于,所述装置            的功能以web服务的形式被提供,或者在网络的服务器端或云端被提供。           
12.如权利要求1-10任意一项所述的装置,其特征在于,所述装置将确            定待检测软件是否包含恶意代码的结果发送给web服务的请求方或者相应的            客户端。           
13.一种检测Android恶意软件的方法,包括:           
在Android系统模拟器上执行待检测软件;           
在所述Android系统模拟器中设有至少一个预定函数或命令的插桩监控            代码,所述插桩监控代码用于截获所述预定函数或命令被调用的调用状态数            据;           
对截获的所述预定函数或命令被调用的调用状态数据进行分析,以确定            待检测软件是否包含恶意代码。           
14.如权利要求13所述的方法,其特征在于,所述预定函数或命令被调            用的调用状态数据包括所述被调用的函数或者命令的函数名或命令名,和/或            所述被调用的函数或者命令的参数。           
15.如权利要求13或14所述的方法,其特征在于,所述预定函数包括            Android SDK中TelephonyManager、SmsManager、BroadcastReceiver、            NotificationManager、PhoneStateListener以及PackageManager中的至少一个            类的至少一个函数,所述预定命令包括su超级用户命令。           
16.如权利要求13或14所述的方法,其特征在于,所述方法进一步包            括:           
为函数或命令的调用状态数据设置危险等级,并且根据截获的函数或命                            令被调用的调用状态数据确定待检测软件是否包含恶意代码以及恶意代码的            危险等级。           
17.如权利要求16所述的方法,其特征在于,所述为函数或命令的调用            状态数据设置危险等级具体包括:           
将su超级命令的调用设置为最高危险等级;           
和/或将TelephonyManager类的函数的调用设置为中等危险等级;           
和/或将NotificationManager类和PackageManager类的函数的调用设置为            低等的危险等级。