[发明专利]一种基于安卓系统的设备的动态病毒检测方法和装置有效
申请号: | 201310562160.0 | 申请日: | 2013-11-13 |
公开(公告)号: | CN103559446B | 公开(公告)日: | 2017-02-08 |
发明(设计)人: | 魏丽珍;吴鸿伟 | 申请(专利权)人: | 厦门市美亚柏科信息股份有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56;G06F9/44 |
代理公司: | 北京恒都律师事务所11395 | 代理人: | 邸建凯 |
地址: | 361008 福建省厦门*** | 国省代码: | 福建;35 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 系统 设备 动态 病毒 检测 方法 装置 | ||
技术领域
本发明涉及信息安全领域,特别地,涉及一种基于安卓系统的设备的动态病毒检测方法。
背景技术
目前,Android系统是移动终端领域最主流的操作系统,用户对系统的安全性要求越来越高。对恶意软件的检测方法,目前主要有两种,一种是静态检测,通过对APK(Android Package)安装包反编译后的JAVA字节码与病毒的特征码比较进行分析,通过对应用程序申请的权限进行分析;另外一种是动态检测,在程序运行的时候检测程序是否有恶意的行为,主要是检测程序运行时是否释放了可疑的特征码,利用Android框架层的API(Application Program Interface)判断应用程序运行过程中是否申请了特定的权限。
恶意软件的静态检测方法主要是将APK安装包反编译出JAVA字节码,与病毒的特征码比较,匹配则认为程序被插入恶意代码,另外通过分析应用程序申请的权限内容来判定程序是否潜在可疑的行为。这种方法要求病毒的特征码的覆盖面要广,以便更有效的检测到病毒,但是实际应用中,病毒的繁衍速度往往比已提取的病毒库要快,而且大多的应用程序都会申请很多看上去并不需要的权限,静态申请了并不代表就会去使用,一刀切容易误判,如腾讯QQ申请了发短信的权限,实际上并不会发送短信或者只能在特定情况下发送短信,不能因此就判定腾讯QQ程序就是病毒。
恶意软件的动态检测方法主要是在应用程序运行过程中检测程序是否包括可疑的特征码,是否申请了不应申请的权限。相比静态检测,该方法能更有效检测到应用程序申请权限的行为,但是也依赖病毒库的特征码信息,并且基于Android框架层的API进行检测,有些病毒利用底层接口入侵,该方法根本无法检测到。
发明内容
为了有效地检测利用底层库接口入侵的病毒程序,我们提出一种基于安卓系统的设备的动态病毒检测方法,其特征在于,包括以下步骤:
获取需要进行病毒检测的正在运行的目标进程;
将所述目标进程所加载的动态库中指定的原始API函数重定向为拦截程序中的API函数;
检测所述目标进程的可疑行为。
优选地,还包括:
将引导程序写入到所述目标进程的内存中,通过所述引导程序来启动一拦截程序实现所述原始API函数的重定向。
优选地,所述通过所述引导程序来启动一拦截程序实现所述原始API函数的重定向的步骤包括:
在所述目标进程空间中分配一块指定的内存,并置为可读写可执行;
将所述拦截程序编译的动态库加载到所述目标进程空间中;
调用所述拦截程序的入口函数来启动所述重定向。
优选地,
所述引导程序通过获取所述目标进程空间动态库的内存分配函数地址来在所述目标进程空间中分配所述指定的内存。
优选地,在所述将引导程序写入到所述目标进程的内存中的步骤之前,还包括:
调试所述目标进程;
保存所述目标进程运行环境;
在所述目标进程中分配一段内存空间为可读写。
优选地,所述重定向过程包括:
利用目标进程空间中dlopen函数打开所述目标进程空间指定的动态库,枚举动态库函数表,获取该动态库的指定的API函数地址;
利用目标进程空间中dlopen函数打开拦截程序的动态库,获取所述API函数地址对应的新API函数地址;
去掉所述指定的动态库所在的内存写保护;
将所述获取的API函数地址替换为所述新API函数地址。
优选地,通过PC将所述引导程序和拦截程序注入到所述设备中,并启动所述引导程序。
优选地,所述PC通过安卓调试连接桥将所述引导程序和拦截程序注入到所述设备中。
优选地,所述通过PC将所述引导程序和拦截程序注入到所述设备中的步骤,包括:
配置目标进程名称;
配置目标动态库路径;
配置拦截程序入口函数;
将用于所述设备的所述引导程序和拦截程序推送到所述设备。
优选地,所述引导程序为可执行程序,所述拦截程序为动态库。
优选地,还包括,检测到所述目标进程的可疑行为后,通知用户对该可疑行为进行处理。
优选地,检测到所述目标进程的可疑行为后,将该可疑行为记录到权限管理表,用户根据该权限管理表对该可疑行为进行处理。
本发明还提供了一种基于安卓系统的设备的动态病毒检测装置,其特征在于,包括以下单元:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于厦门市美亚柏科信息股份有限公司,未经厦门市美亚柏科信息股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310562160.0/2.html,转载请声明来源钻瓜专利网。