摘要随着移动网络的不断发展,智能手机已经成为了人们生活中密不可分的部分,而Android系统更是被广泛使用。本文主要研究和分析了Android系统框架,了解了Android系统运行的安全机制。在熟悉常见恶意软件行为特征,分析比较现有方法的基础上提出和实现了一种动态检测恶意软件的方法——通过对Android应用的APK进行解包和反编译,对反编译后的Dalvik字节码中需要关注的敏感API调用插入日志输出代码,再重新打包生成Android应用程序在模拟器中运行。通过分析运行时生成的日志来得到敏感API的调用情况,并根据得到的信息作出分析,得到结论。整个过程通过Python脚本实现自动化运作,具有一定的现实意义。28078
关键词 安卓 Dalvik字节码 重构 动态检测 毕业论文设计说明书外文摘要
Title Design and Implementation of the Method of Dynamic Android Malware Detection
Abstract
With the continuous development of mobile network,smart mobile phone has played an important role in people’s life. As you all know now Android system has been widely used.We mainly study and analyze the Android framework to learn about the security mechanisms of Android system.After studying characteristics of malware and compare existing methods represented by other papers,we represent a method of dynamic detection of Android malware —— decompile APK of the Android application,then repackage the APK with inserting log codes for sensitive API calling in Dalvik byte codes.We install the new APK to an AVD and analyse logs after running the APK to make conclusions whether the APK is a kind of malware according to the received information . We use Python to realize the method which we believe has certain practical significance.
Keywords Dynamic detection Android Dalvik Repackage
目 次
1 引言 1
1.1 研究背景 1
1.2 研究现状 2
1.3 研究内容 3
2 Android系统内部机制和相关安全机制 4
2.1 Android系统架构分析 4
2.2 Android安全机制分析5
2.3 Android恶意软件6
2.4 本章小结6
3 相关技术背景介绍8
3.2 APK的反编译9
3.3 Python语言10
3.4 本章小结10
4 恶意软件动态检测方法设计11
4.1 需要关注的敏感API设置11
4.2 Smali文件的树形结构解析12
4.3 函数调用重构13
4.4 使用Dalvik字节码的函数重构15
4.5 APK打包和签名18
4.6 本章小结18
5 方法实现和测试19
5.1环境配置19
5.2 具体操作20
5.3 方法测试21
5.4 本章小结23
结论 24
致谢 25
参考文献26