一种基于动态监控的Android恶意软件的检测方法及系统技术方案

技术编号:11797301 阅读:111 留言:0更新日期:2015-07-30 12:41
本发明专利技术提供一种基于动态监控的Android恶意软件的检测方法及系统,包括步骤S1、建立移动终端的各类信息的规则库;步骤S2、查找到目标函数地址后,替换目标函数地址为包含监控代码的函数地址;步骤S3、当移动终端的应用启动时,对应用的行为进行监控;步骤S4、判断应用的行为是否是Android恶意软件所执行的敏感行为。本发明专利技术的基于动态监控的Android恶意软件的检测方法及系统,通过模拟运行第三方应用软件、监视敏感数据流、分析应用软件的敏感数据泄露,并在敏感数据被篡改时发出安全警报,从而达到有效监控恶意软件的目的。

【技术实现步骤摘要】

本专利技术涉及一种恶意软件的检测方法,特别是涉及一种基于动态监控的Android恶意软件的检测方法及系统
技术介绍
Android是一种以Linux为基础的开源移动设备操作系统,主要用於智能手机和平板电脑,但其平台开放性特点使得Android恶意软件数量众多,成为移动终端安全的重灾区。一方面,手机厂商可以灵活修改并定制针对自有品牌的手机操作系统,不同厂商之间对系统安全做的处理互不一致,使得恶意软件有了可趁之机;另一方面,其开放性也使研宄Android恶意软件的人数增加,甚至催生了一些恶意软件的开发者。随着智能手机、平板电脑的普及,针对手机的恶意代码也陆续出现,并呈现爆炸式的增长。恶意软件主要为游戏类或工具类软件,如神庙逃亡、航班查询等热门软件都曾被伪装或修改过。通常来讲,恶意软件的危害包括:隐私窃取、远程控制、病毒传播、系统破坏、诱骗欺诈、恶意扣费以及流氓行为等等。然而,现有技术中Android平台并没有对应用程序的行为监控提供强有力的分析工具。拒绝一些对用户没必要的软件常驻后台可以降低手机CPU和内存的使用率、降低耗电量,对提升用户体验很有帮助。因此,对恶意软件的监控和拦截成为一个项有意义的研宄。现有技术中,典型的恶意软件检测技术包括基于签名行为的检测方法,但是必须拥有一类恶意软件的签名库后才能检测该类恶意软件,因此无法有效检测未知的恶意应用。基于行为的恶意代码检测目前主要采用动态和静态两种方法。静态方法主要使用反汇编反编译技术或者在中间层代码上进行控制流和数据流分析技术,来进行恶意代码检测。该方法的优点是代码覆盖率高;缺点是无法检测代码混淆,在加密以及在动态执行中才能解码恶意代码。动态方法通过限制应用程序在运行时可访问的系统资源、重打包应用程序,修改应用程序入口,从而达到监控应用程序的目的。但是,修改应用程序必须对应用程序重新签名,破坏了应用程序的完整性。综上所述,现有的恶意软件检测方案存在以下问题:(I)安全模型的安全系数不高目前的静态检测方法主要从应用程序的Manifest文件中提取请求权限等安全特征信息,再通过数据流分析应用软件行为是否与安全特征相匹配。但是,一旦恶意软件绕过权限申请便无法进行检测。也有研宄者提出一些Android安全模型,其中一个重要的模型是基于许可的安全模型。根据该模型,每个应用软件有不同的设备资源使用需求,由手机用户同意或拒绝安装软件。然而即使用户在安装陌生软件前收到警告信息,手机上的恶意软件传播依然迅速。这是因为恶意软件件通常采用欺骗用户的方式,使用户相信其所有应用的可靠性,并在手机上进行安装。还有一种办法是分别提取官方和第三方应用的作者信息和代码指令,计算他们的哈希值,通过比较他们的相似度来判断是否为恶意软件。然而,一旦无法区分官方或第三方应用,则无法进行有效判断。(2)动态分析误差大进行动态分析时,需要用户先手动运行一些恶意软件样本以及对应的官方应用,利用均值算法将收集的数据分为常规和恶意两组,以作为应用程序的特征库。但是在该方法中,找到恶意软件样本和对应的官方应用本身就是一件很困难的事。另外,还可以利用一些恶意样本,将其调用系统函数的名字和参数提取出来建立一个规则库,然后在运行时收集应用软件的调用信息,通过与规则库的比较来检测是否是未知的恶意样本。然而,该方法的缺点是检测结果不够精确,误差较大。
技术实现思路
鉴于以上所述现有技术的缺点,本专利技术的目的在于提供一种基于动态监控的Android恶意软件的检测方法及系统,通过模拟运行第三方应用软件、监视敏感数据流、分析应用软件的敏感数据泄露,并在敏感数据被篡改时发出安全警报,从而达到有效监控恶意软件的目的。为实现上述目的及其他相关目的,本专利技术提供一种基于动态监控的Android恶意软件的检测方法包括以下步骤:步骤S1、建立移动终端的各类信息的规则库;步骤S2、查找到目标函数地址后,替换目标函数地址为包含监控代码的函数地址;步骤S3、当移动终端的应用启动时,对应用的行为进行监控;步骤S4、判断应用的行为是否是Android恶意软件所执行的敏感行为。根据上述的基于动态监控的Android恶意软件的检测方法,其中:所述步骤SI包括:I)收集各移动终端的信息;2)针对每一种类型的信息,建立规则库作为样本。根据上述的基于动态监控的Android恶意软件的检测方法,其中:所述步骤S2中,通过ELF文件解析查找到目标函数地址后,通过嵌入监控代码替换目标函数地址为包含监控代码的函数地址。根据上述的基于动态监控的Android恶意软件的检测方法,其中:所述步骤S3中,对应用的行为进行监控时,如果允许应用的服务请求通过,则对该行为进行记录;如果拒绝应用的服务请求,则终止应用的服务请求。根据上述的基于动态监控的Android恶意软件的检测方法,其中:所述步骤S4中,所述敏感行为是指获取敏感数据的行为;所述敏感数据包括用户的个人隐私数据,包括地理位置、手机短信、手机通讯录、手机信息和个人数据。同时,本专利技术还提供一种基于动态监控的Android恶意软件的检测系统,包括规则库建立模块、地址替换模块、行为监控模块和行为判断模块;所述规则库建立模块用于建立移动终端的各类信息的规则库;所述地址替换模块用于在查找到目标函数地址后,替换目标函数地址为包含监控代码的函数地址;所述行为监控模块用于在移动终端的应用启动时对应用的行为进行监控;所述行为判断模块用于判断应用的行为是否是Android恶意软件所执行的敏感行为。根据上述的基于动态监控的Android恶意软件的检测系统,其中:所述规则库建立模块包括信息收集模块和样本建立模块;所述信息收集模块用于收集各移动终端的信息;所述样本建立模块用于针对每一种类型的信息,建立规则库作为样本。根据上述的基于动态监控的Android恶意软件的检测系统,其中:所述地址替换模块通过ELF文件解析查找到目标函数地址后,通过嵌入监控代码替换目标函数地址为包含监控代码的函数地址。根据上述的基于动态监控的Android恶意软件的检测系统,其中:所述行为监控模块对应用的行为进行监控时,如果允许应用的服务请求通过,则对该行为进行记录;如果拒绝应用的服务请求,则终止应用的服务请求。根据上述的基于动态监控的Android恶意软件的检测系统,其中:所述敏感行为是指获取敏感数据的行为;所述敏感数据包括用户的个人隐私数据,包括地理位置、手机短信、手机通讯录、手机信息和个人数据。如上所述,本专利技术的基于动态监控的Android恶意软件的检测方法及系统,具有以下有益效果:(I)基于动态分析技术,对应用软件的行为进行监控,利用动态注入内存,对目标函数进行替换,实现对恶意行为的检测和拦截处理,从而实现对恶意软件行为的监控;(2)根据应用软件敏感行为和文件对象的访问跟踪,生成实时监控日志和检测报告,使得检测更加灵活和便捷。【附图说明】图1显示为本专利技术的基于动态监控的Android恶意软件的检测方法的流程图;图2显示为本专利技术的基于动态监控的Android恶意软件的检测系统的整体框架图;图3显示为本专利技术的基于动态监控的Android恶意软件的检测系统的结构示意图。元件标号说明I规则库建立模块2地址替换模块3行为监控模块4行为判断模块【具体实施本文档来自技高网
...

【技术保护点】
一种基于动态监控的Android恶意软件的检测方法,其特征在于:包括以下步骤:步骤S1、建立移动终端的各类信息的规则库;步骤S2、查找到目标函数地址后,替换目标函数地址为包含监控代码的函数地址;步骤S3、当移动终端的应用启动时,对应用的行为进行监控;步骤S4、判断应用的行为是否是Android恶意软件所执行的敏感行为。

【技术特征摘要】

【专利技术属性】
技术研发人员:杨希锋
申请(专利权)人:上海斐讯数据通信技术有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1