4。2 组件获取模块 13
4。3 信息处理模块 15
4。4 图像化模块 19
5 系统测试 21
结 论 23
致 谢 24
参 考 文 献 25
1 绪论
1。1 研究背景
随着最近几年移动互联网的高速发展,和移动终端设备价格的下降,智能手机逐渐成为了目前移动端的主流发展趋势。其中,由谷歌推出的基于Linux内核的Android操作系统发展最为迅速。目前,带有安卓操作系统的终端已经占到了市场份额的一半以上。不过由于安卓系统的安全机制相对较为简单,攻击者对安卓市场的应用的攻击也比较频繁。最近几年软件发展速度越来越快,与此同时恶意软件程序也越来越多。安卓市场的恶意软件从2011年的一万多款到2013年已经发展到四万之多。因此,用户信息的安全保障也越来越依赖于对于恶意程序的识别。
图1。1 2012年手机系统使用率
1。2 研究现状
1。2。1 基于特征代码的检测方案
1。2。2 基于行为的检测方案
基于行为的检测方案通过动态拦截或静态分析的方法获取程序的系统调用序列,根据与已知的恶意行为模式进行对比,来判断目标软件是否具有恶意性。这种方1。2。3 国内外的研究成果
1。3 本文结构来;自]优Y尔E论L文W网www.youerw.com +QQ752018766-
本文通过分析Android操作系统特点,在了解Android应用程序组件的基础上,设计实现了Android静态分析中系统调用序列生成器。该生成器从源代码的角度,对APK文件进行反编译,提取XML文件中的组件信息,并找出smali文件中所有的函数调用,最终图像化显示Android应用的函数调用图,以便进一步对Android恶意软件的检测。其主要结构如下:
第一章:绪论。本章主要介绍研究背景,和目前国内外研究现状,并对本文结构进行简单介绍。
第二章:安卓组件及安卓安全分析。本章首先介绍安卓应用程序的四大组件,然后对安卓平台的安全机制进行安全分析。
第三章:需求分析和设计方案。对本系统进行需求分析,然后对本系统框架、模块进行设计与分析。
第四章:系统实现。对系统分模块实现进行详细介绍。
第五章:系统测试。测试本系统的可行性与正确性。
Android组件及Android安全分析
2。1 Android应用四大组件
2。1。1 Activity组件
安卓APP之中,一个Activity组件一般就是一个单独的屏幕。
不同Activity之间的通信是通过Intent来实现的。在Intent的结构描述中,最重要的两个部分分别为:动作和与该动作相对应的数据。
典型的动作类型有:MAIN(应用程序的入口activity)、VIEW、PICK、EDIT 等。而动作对应的数据则以URI 的形式进行表示。
与之有关系的一个类叫IntentFilter。相对于intent 是一个有效的做某事的请求,一个intentfilter 则用于描述一个activity(或者IntentReceiver)能够操作哪些intent。一个activity 如果要显示一个人的联系方式时,需要声明一个IntentFilter,这个IntentFilter 要知道怎么去处理VIEW 动作和表示一个人的URI。IntentFilter 需要在AndroidManifest。xml 中定义。通过解析各种intent,从一个屏幕导航到另一个屏幕是很简单的。当向前导航时,activity 将会调用startActivity(Intent myIntent)方法。然后,系统会在所有安装的应用程序中定义的IntentFilter 中查找,找到最匹配myIntent 的Intent 对应的activity。新的activity 接收到myIntent 的通知后,开始运行。当startActivity 方法被调用将触发解析myIntent 的动作,这个机制提供了两个关键好处: