AvijitBaidya22580/android-malware-detector
GitHub: AvijitBaidya22580/android-malware-detector
一个混合安卓恶意软件检测系统,结合静态分析、动态分析和机器学习对APK进行恶意或良性分类,并配备SHAP可解释性分析。
Stars: 0 | Forks: 0
# 📱 混合安卓恶意软件检测系统
🚀 一个混合恶意软件检测框架,结合**静态分析、动态分析和机器学习**对安卓应用程序进行**恶意或良性**分类,并配备**可解释人工智能(SHAP)**以提高可解释性。
## 📌 概述
本项目使用逆向工程和行为监控对安卓 APK 文件进行分析。它提取有意义的特征,并应用机器学习模型以高精度检测恶意软件,同时解释预测背后的推理。
## 🧠 关键功能
* 🔍 使用 Apktool 和 JADX 进行逆向工程
* 🧾 静态分析(API 调用、URL、权限)
* ⚡ 动态分析(运行时行为监控)
* 🔗 特征融合(静态 + 动态)
* 🤖 机器学习(XGBoost)
* 📊 使用 SHAP 进行可解释性分析
* 🖥️ Streamlit 网页界面,便于交互
## 🏗️ 系统架构

## ⚙️ 工作流程
1. **输入 APK**
2. **逆向工程**
* 反编译 APK(Apktool / JADX)
* 提取清单文件和资源
3. **静态分析**
* 提取:
* API 调用
* URL
* 命令
* 权限
4. **动态分析**
* 在模拟器/沙箱中运行 APK
* 监控:
* 网络活动
* 运行时行为
* 系统调用
5. **特征融合**
* 合并静态和动态特征
6. **机器学习模型**
* XGBoost 分类器预测:
* 恶意软件 / 良性
* 置信度分数
7. **可解释性**
* SHAP 解释:
* 预测的原因
* 重要特征
## 📊 示例特征
```
{
"num_urls": 152,
"has_exec": 1,
"has_crypto_api": 1,
"has_network_api": 1
}
```
## 📈 输出
* ✅ 恶意软件 / 良性分类
* 📊 置信度分数
* 🔍 关键洞察(SHAP 解释)
## 🧪 使用的技术
* Python
* XGBoost
* SHAP(可解释人工智能)
* Apktool
* JADX
* 安卓模拟器 / ADB
* Streamlit
## 📂 项目结构
```
android-malware-detector/
│
├── app/ # Streamlit app
├── config/ # Config files
├── data/ # Dataset (ignored)
├── models/ # Trained models (ignored)
├── notebooks/ # EDA & experiments
├── scripts/ # Pipeline scripts
├── src/ # Core logic
├── tests/ # Unit tests
├── requirements.txt
└── README.md
```
## 🚀 如何运行
### 1️⃣ 克隆仓库
```
git clone https://github.com/YOUR_USERNAME/android-malware-detector.git
cd android-malware-detector
```
### 2️⃣ 创建环境
```
python -m venv .venv
.venv\Scripts\activate
```
### 3️⃣ 安装依赖
```
pip install -r requirements.txt
```
### 4️⃣ 运行管道
```
python scripts/run_pipeline.py
```
### 5️⃣ 运行网页应用
```
streamlit run app/streamlit_app.py
```
## 📊 结果
* 准确率:约 90%
* 平衡数据集(恶意软件 vs 良性)
* 各类别精确率和召回率良好
## 🔍 可解释性(SHAP)
SHAP 用于解释预测:
* 识别可疑 API 调用
* 突出显示危险权限
* 解释网络相关行为
## 💡 主要贡献
* 混合检测(静态 + 动态)
* 基于逆向工程的特征提取
* 机器学习分类
* 可解释人工智能集成(SHAP)
## 🎯 应用场景
* 恶意软件检测系统
* 移动安全分析
* 网络安全研究
* 应用审查流程
## 🧾 结论
本项目展示了一个强大的安卓恶意软件混合检测框架。通过结合多种分析技术并集成可解释人工智能,它确保了**高精度**和**可解释性**,使其适用于实际网络安全应用。
## 👨💻 作者
## 📜 许可证
MIT 许可证
标签:Android安全, Android逆向工程, Apex, Apktool, APK分析, APT检测, DAST, JADX, Kubernetes, Python, SHAP, Streamlit, URL提取, XGBoost, 云安全监控, 反编译, 可解释AI, 恶意软件分析, 无后门, 机器学习, 特征提取, 特征融合, 目录枚举, 移动安全, 移动端安全, 网络安全, 行为监控, 访问控制, 逆向工具, 隐私保护, 静态分析