poojakumaricodex/Android-Malware-Detection-Using-ML-and-Static-analysis

GitHub: poojakumaricodex/Android-Malware-Detection-Using-ML-and-Static-analysis

基于静态分析的 Android 恶意软件检测系统,结合机器学习模型与 Web 仪表盘实现实时风险预测与可视化。

Stars: 0 | Forks: 0

# Android Malware 检测 使用 ML 和 Static analysis # 🛡️ Android 恶意软件检测系统 ![项目状态](https://img.shields.io/badge/Status-Active-brightgreen) ![Python 版本](https://img.shields.io/badge/Python-3.8%2B-blue) ![许可证](https://img.shields.io/badge/License-MIT-green) ## 📖 项目概述 **Android 恶意软件检测系统** 是一个全栈 AI 应用,旨在无需执行 APK 文件(静态分析)即可对其进行分析。它提取关键特征——如权限、意图过滤器和 API 调用——并将它们输入到训练好的机器学习模型中,以预测应用是**安全**还是**恶意软件**。 该系统配备了一个现代化的交互式 Web 仪表盘,可可视化风险概率、可疑指标和模型性能基准。 ## ✨ 主要功能 * **🚀 实时扫描:** 上传后立即分析 APK 文件。 * **🧠 先进 AI 模型:** 使用 **XGBoost、随机森林、SVM 和神经网络** 进行高精度分类。 * **📊 交互式仪表盘:** * **风险概率:** 显示置信度得分的环形图。 * **特征分析:** 突出显示最可疑权限的条形图。 * **性能基准:** 显示混淆矩阵和模型比较图表。 * **🎨 现代 UI:** 毛玻璃设计,带有动态反馈(安全 vs. 危险模式)。 * **🔍 静态分析:** 无需运行恶意代码的安全分析方法。 ## 🛠️ 技术栈 * **后端:** Python、FastAPI、Uvicorn * **机器学习:** Scikit-Learn、XGBoost、Pandas、NumPy * **前端:** HTML5、CSS3、JavaScript、Chart.js * **数据处理:** Joblib(模型持久化)、Androguard ## 安装设置 快速启动(本地) 1. 创建并激活虚拟环境: ```bash python -m venv venv source venv/bin/activate ``` 2. 安装依赖: ```bash pip install -r requirements.txt ``` 注意: - `androguard` 是可选的,但推荐用于更丰富的特征提取。 - 在某些系统上,androguard 可能需要 lxml;如有需要,请安装系统依赖项。 3. 准备数据集: - 将APK放入文件夹:`data/apks/benign/*.apk` 和 `data/apks/malicious/*.apk` - 运行: ```bash python scripts/prepare_dataset.py --benign data/apks/benign --malicious data/apks/malicious --out outputs/features.parquet ``` 4. 训练模型: ```bash python app/train.py --features outputs/features.parquet --out outputs --model xgb ``` 5. 评估: ```bash python app/evaluate.py --features outputs/features.parquet --model outputs/xgb_pipeline.joblib --out outputs ``` 6. 运行 API: ```bash uvicorn app.server:app --reload --port 8000 ``` - 发送 POST 请求到 `/predict`(multipart file=apk)会返回恶意软件概率和主要贡献特征。 ## 📸 截图 Screenshot 2025-12-16 202038 Screenshot 2025-12-16 202104 Screenshot 2025-12-16 202124 ## 📂 项目结构 ``` D13/ ├── app/ │ ├── server.py # Main FastAPI backend server │ ├── extractor.py # Logic to extract features from APKs │ ├── features.py # Vectorizer to convert features to numbers │ ├── train.py # Script to train the main model │ └── evaluate.py # Script to generate confusion matrix ├── data/ # Folder for storing APKs (Not uploaded to GitHub) ├── outputs/ │ ├── xgb_pipeline.joblib # Trained AI Model │ ├── vectorizer.joblib # Feature Vectorizer │ ├── confusion.png # Model Accuracy Chart │ └── model_comparison.png # Comparison of ML Models ├── scripts/ # Utility scripts ├── index.html # Main Web Dashboard ├── requirements.txt # List of required libraries └── README.md # Project Documentation --- ```
标签:AI应用, Androguard, Android恶意软件检测, Apex, APK分析, AV绕过, Chart.js, FastAPI, Python, Scikit-Learn, XGBoost, 云安全监控, 交互式仪表盘, 实时扫描, 意图过滤器, 支持向量机, 数据可视化, 无后门, 机器学习, 权限分析, 模型对比, 混淆矩阵, 玻璃态设计, 目录枚举, 神经网络, 移动安全, 网络安全, 逆向工具, 随机森林, 隐私保护, 静态分析, 风险概率