[发明专利]一种基于动态监控的Android恶意软件的检测方法及系统在审
申请号: | 201510240338.9 | 申请日: | 2015-05-12 |
公开(公告)号: | CN104809397A | 公开(公告)日: | 2015-07-29 |
发明(设计)人: | 杨希锋 | 申请(专利权)人: | 上海斐讯数据通信技术有限公司 |
主分类号: | G06F21/56 | 分类号: | G06F21/56 |
代理公司: | 上海光华专利事务所 31219 | 代理人: | 高园园 |
地址: | 201616 *** | 国省代码: | 上海;31 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 动态 监控 android 恶意 软件 检测 方法 系统 | ||
技术领域
本发明涉及一种恶意软件的检测方法,特别是涉及一种基于动态监控的Android恶意软件的检测方法及系统。
背景技术
Android是一种以Linux为基础的开源移动设备操作系统,主要用於智能手机和平板电脑,但其平台开放性特点使得Android恶意软件数量众多,成为移动终端安全的重灾区。一方面,手机厂商可以灵活修改并定制针对自有品牌的手机操作系统,不同厂商之间对系统安全做的处理互不一致,使得恶意软件有了可趁之机;另一方面,其开放性也使研究Android恶意软件的人数增加,甚至催生了一些恶意软件的开发者。
随着智能手机、平板电脑的普及,针对手机的恶意代码也陆续出现,并呈现爆炸式的增长。恶意软件主要为游戏类或工具类软件,如神庙逃亡、航班查询等热门软件都曾被伪装或修改过。通常来讲,恶意软件的危害包括:隐私窃取、远程控制、病毒传播、系统破坏、诱骗欺诈、恶意扣费以及流氓行为等等。
然而,现有技术中Android平台并没有对应用程序的行为监控提供强有力的分析工具。拒绝一些对用户没必要的软件常驻后台可以降低手机CPU和内存的使用率、降低耗电量,对提升用户体验很有帮助。因此,对恶意软件的监控和拦截成为一个项有意义的研究。
现有技术中,典型的恶意软件检测技术包括基于签名行为的检测方法,但是必须拥有一类恶意软件的签名库后才能检测该类恶意软件,因此无法有效检测未知的恶意应用。
基于行为的恶意代码检测目前主要采用动态和静态两种方法。静态方法主要使用反汇编反编译技术或者在中间层代码上进行控制流和数据流分析技术,来进行恶意代码检测。该方法的优点是代码覆盖率高;缺点是无法检测代码混淆,在加密以及在动态执行中才能解码恶意代码。动态方法通过限制应用程序在运行时可访问的系统资源、重打包应用程序,修改应用程序入口,从而达到监控应用程序的目的。但是,修改应用程序必须对应用程序重新签名,破坏了应用程序的完整性。
综上所述,现有的恶意软件检测方案存在以下问题:
(1)安全模型的安全系数不高
目前的静态检测方法主要从应用程序的Manifest文件中提取请求权限等安全特征信息,再通过数据流分析应用软件行为是否与安全特征相匹配。但是,一旦恶意软件绕过权限申请便无法进行检测。
也有研究者提出一些Android安全模型,其中一个重要的模型是基于许可的安全模型。根据该模型,每个应用软件有不同的设备资源使用需求,由手机用户同意或拒绝安装软件。然而即使用户在安装陌生软件前收到警告信息,手机上的恶意软件传播依然迅速。这是因为恶意软件件通常采用欺骗用户的方式,使用户相信其所有应用的可靠性,并在手机上进行安装。
还有一种办法是分别提取官方和第三方应用的作者信息和代码指令,计算他们的哈希值,通过比较他们的相似度来判断是否为恶意软件。然而,一旦无法区分官方或第三方应用,则无法进行有效判断。
(2)动态分析误差大
进行动态分析时,需要用户先手动运行一些恶意软件样本以及对应的官方应用,利用均值算法将收集的数据分为常规和恶意两组,以作为应用程序的特征库。但是在该方法中,找到恶意软件样本和对应的官方应用本身就是一件很困难的事。
另外,还可以利用一些恶意样本,将其调用系统函数的名字和参数提取出来建立一个规则库,然后在运行时收集应用软件的调用信息,通过与规则库的比较来检测是否是未知的恶意样本。然而,该方法的缺点是检测结果不够精确,误差较大。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于动态监控的Android恶意软件的检测方法及系统,通过模拟运行第三方应用软件、监视敏感数据流、分析应用软件的敏感数据泄露,并在敏感数据被篡改时发出安全警报,从而达到有效监控恶意软件的目的。
为实现上述目的及其他相关目的,本发明提供一种基于动态监控的Android恶意软件的检测方法包括以下步骤:步骤S1、建立移动终端的各类信息的规则库;步骤S2、查找到目标函数地址后,替换目标函数地址为包含监控代码的函数地址;步骤S3、当移动终端的应用启动时,对应用的行为进行监控;步骤S4、判断应用的行为是否是Android恶意软件所执行的敏感行为。
根据上述的基于动态监控的Android恶意软件的检测方法,其中:所述步骤S1包括:
1)收集各移动终端的信息;
2)针对每一种类型的信息,建立规则库作为样本。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于上海斐讯数据通信技术有限公司,未经上海斐讯数据通信技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201510240338.9/2.html,转载请声明来源钻瓜专利网。