Home

Awesome

android_malware_detection

##环境介绍

服务器(我的那台台式机):IP:3.174 用户名:shenhong 密码:112112

系统:Ubuntu12.04 64位

数据库(mysql):用户名root 密码:112112

工具:androguard,apktool都在/home/shenhong/workspace下面

##脚本

extract_permission_from_manifest.py

从android的manifest源代码文件里面,提取出所有的权限,然后在数据库里面建立相应字段的表

file_tracking.py

遍历所有的恶意软件和正常软件的存储目录,将这些软件的路径,是否是恶意软件等基本信息存储在数据库里面。(实验的时候,电脑经常死机,不知道哪些数据已经处理了,哪些没处理,因此选择将apk记录下来,每次处理的时候,选择没有处理的apk文件处理)

apk_disassembe_tool.py

对apk进行反编译,提取apk的基本信息。目前只提取了manifest文件里面的权限的信息。(提取api的的工具,邮件问了一下斯坦福的一个博士,他说他们用Androlyze,然后最近在研究soot(岳友补充:Understand),对android apk进行cfg分析的工具。用这两个工具,android静态分析,应该基本都能搞定)

apk_downloader.py

根据data/output.txt文件里面的需要下载的apk,并发的下载apk文件。

feature_selection.py

根据2013-A New Android Malware Detection Approach Using Bayesian Classification里面的机选mutil information的特征选择算法,实现的特征选择算法。通过更改feature_number的值,程序会输出,相应数量特征的权限的sql语句。(打开weka,选择连接数据库,输入此sql语句,就可以得到我们想要拿去进行分析的数据,用这些数据和weka就可以进行相应的基于权限的恶意软件挖掘的实验。这儿,还需要根据weka的api进行编程,让这整个流程运行一个脚本即完成。不过这是在测试阶段,应该还不需做这些工作)