naman374/Android-Malware-Analysis
GitHub: naman374/Android-Malware-Analysis
基于静态分析与机器学习的 Android 恶意软件检测项目,通过提取 APK 权限与 API 调用等特征训练分类器以区分良性与恶意应用。
Stars: 0 | Forks: 0
# 使用静态分析的 Android 恶意软件分析
## 概述
本项目专注于对 Android 应用进行静态分析,以识别通常与恶意软件相关的特征。该分析过程无需执行应用程序,从而确保了过程的安全性和高效性。
## 目标
* 使用静态分析技术分析 Android APK 文件。
* 提取与安全相关的特征,如权限和 API 调用。
* 识别恶意应用中常见的模式。
* 构建机器学习分类器,以区分良性和恶意应用。
## 工具和技术
* Python
* APKTool
* JADX
* Pandas
* Scikit-learn
* Kali Linux
## 项目结构
android_malware_lab/
├── static_analysis/
│ ├── main_analysis.py
│ ├── classifier.py
│ ├── preprocess_and_train.py
│ └── android_dataset_final.csv
├── datasets/ (不包含在代码库中)
└── README.md
## 方法论
### 1. APK 反编译
使用 APKTool 和 JADX 对 APK 文件进行反编译,以检查其内容。
### 2. 特征提取
提取的特征包括:
* 请求的权限
* 敏感 API 的使用
* Manifest 信息
* 与安全相关的指标
### 3. 数据预处理
对提取的特征进行清理,并将其转换为机器学习可用的格式。
### 4. 分类
训练一个机器学习模型,将应用程序分类为:
* 良性
* 恶意软件
### 5. 数据集
由于 GitHub 的文件大小限制以及分发恶意软件样本带来的安全风险,本仓库不包含项目期间使用的原始 APK 数据集。
有兴趣复现本研究的人员可以从以下公开来源获取 Android 恶意软件数据集:
* Drebin Dataset
* AndroZoo Dataset
* CICMalDroid 2020
* AMD (Android Malware Dataset)
下载数据集后,请根据脚本预期的目录结构对其进行整理,并在必要时更新数据集路径。
用于训练和评估的最终处理后的特征数据集 (`android_dataset_final.csv`) 可能会包含在本仓库中,以便在无需重新分发恶意软件样本的情况下实现复现。
## 结果
本项目成功演示了静态分析技术在 Android 恶意软件检测和分类中的应用。
## 免责声明
本仓库仅供教育和研究目的使用。本仓库不包含恶意软件样本和 APK 数据集。
标签:Apex, DAST, Python, 云安全监控, 云资产清单, 恶意软件分析, 指令注入, 无后门, 机器学习, 目录枚举, 移动安全, 逆向工具, 逆向工程, 静态分析