- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于程序分析的应用程序恶意行为检测
1 基于程序分析的恶意行为检测
近年来,移动互联网的快速发展导致了智能设备的需求和日益增长。根据Gartner提供的数据, 智能终端数量在2011年第三季度已达1.49亿
丰富的智能终端应用程序也是智能终端流行的一大原因。为了便于应用程序开发者发布应用程序和用户下载安装应用程序, 出现了很多应用程序商店, 其中最著名的两个应用程序商店为Google的Android Play
PiOS
针对使用Android系统提供的内部机制所开发的恶意应用程序, 本文提出一种基于程序分析的方法, 对未知的应用程序进行恶意行为检测, 进而分析应用程序的安全性。通过对应用程序在不同粒度上的模拟执行, 对应用程序进行分析。在指令级别上的模拟执行计算函数摘要, 针对不同的函数设计原子函数摘要和组合函数摘要来满足分析需要。在函数级别上的模拟执行进行应用程序的恶意行为检测, 通过恶意行为检测完成对应用程序的安全性评估。
2 设计了众多的机制,引起研究利用。在现代管理
Android系统为了简化应用程序的开发以及各种软硬件资源和权限的管理, 设计了很多的机制, 例如广播与监听机制、服务机制等等。从开发和管理的角度上说, 这些机制的确使开发和管理变得简单;但是, 从用户安全的角度上说, 这些机制却将使用应用程序的用户暴露于极大的安全隐患之中。
2.1 广播监听器的使用
在Android系统中存在各种各样的广播, 比如电池的使用状态的改变、电话的接听和短信的接收都会产生一个广播, 应用程序开发者可以监听这些广播并做出相应的处理。应用程序在安装时便会向Android系统注册所使用的广播监听器, Android系统接收到广播时便通知注册了该广播的应用程序执行相应的广播监听器。
恶意应用开发者可以在开发的应用程序中注册比较常用的广播监听器, 比如电话和短信的广播, 当监听到Android系统发送这类广播时, 就可以在广播处理事件中做一些有害于用户的行为, 例如获取用户的通讯录信息, 并通过网络发送出去。使用这种方法的应用程序的恶意行为比较隐蔽, 只有在监听到特定广播才会触发, 而此时已对用户造成了损失。
2.2 本地服务(actity)
服务是不可见的, 主要是在后台运行。服务机制一般用于支持比较耗时或者长时间运行的操作。服务分为两种:本地服务和远程服务。本地服务一般用于应用程序内部一些耗时的任务, 比如查询升级信息等, 并不占用应用程序比如Activity
服务可以提供很多方式供恶意应用程序开发者开发恶意应用。例如, 一个恶意应用程序在运行时并不需要任何与外界交互的权限, 比如发送短信或访问网络的权限, 而只要通过一个具有以上权限的服务, 就可以将非法收集到的用户隐私信息发送出去。
2.3 )基于高效的id系统
在Android系统中主要存在三种本地代码:shell命令、本地库文件 (.SO) 以及字节码文件 (.JAR和.DEX) 。Android系统为shell命令提供了exec接口;为将本地库加载到当前应用程序内存中提供了load和loadLibrary两个接口, 本地库文件可以使用NDK (Native Development Kit)
本地代码的执行具有极大的灵活性, 且方式多样。应用程序开发者可以在发布应用程序时, 不将存在恶意代码的文件放入安装文件中, 而是在用户使用时再将这些代码文件从网络上下载, 这加大了对应用程序进行检测分析的难度。
3 函数调用图构建
针对上述Android系统提供的机制存在的安全问题, 本文给出了一种恶意行为的检测方法。本方法不需要安装应用程序, 直接在PC上对应用程序的字节码文件进行静态分析, 主要包括如下四个步骤:程序结构恢复、函数调用图重构、函数摘要构建以及恶意行为检测, 如图1所示。程序结构恢复是在内存中对当前应用程序中类的结构的恢复, 恢复的结构信息主要包括类的继承关系、类中的属性以及类中的方法等;函数调用图重构是针对Android系统以消息为驱动方式以及使用面向对象的Java编程语言设计的, 完成函数调用的唯一性确定以及控件消息处理事件的调用, 重构出近似于函数运行时的调用图;函数摘要构建是结合恢复的程序结构和重构的函数调用图, 对函数中字节码指令进行模拟执行, 求解出函数的输入与输出之间的语义逻辑关系;恶意行为检测通过在已计算出的函数摘要信息上使用静态污点传播算法, 检测函数调用路径上的恶意行为。
Android应用程序主要使用Java语言开发。Java是一种面向对象的语言, 存在大量的类和对象。但是, 与一般的Java程序相比, Android应用程序不存在主入口函数main, 例如存在界面的Android应用程序的主入口函数一般是一个Activity组件的onCrea
原创力文档


文档评论(0)