shashank-g2100/Android-Malware-Detection-using-Machine-Learning
GitHub: shashank-g2100/Android-Malware-Detection-using-Machine-Learning
基于机器学习的Android恶意软件检测系统,通过权限特征分析实现应用分类与恶意软件预测。
Stars: 0 | Forks: 0
# 使用 Machine Learning 的 Android 恶意软件检测
基于 ML 模型、特征重要性分析、超参数调优和预测系统的端到端 Android 恶意软件检测 pipeline。
## 概述
本项目开发了一个基于机器学习的系统,利用基于权限的特征将 Android 应用程序分类为恶意软件或良性应用。我们对多种机器学习模型进行了评估,其中 Random Forest 取得了最佳性能。
## 功能特性
• 多种 ML 模型(Logistic Regression、Naive Bayes、Decision Tree、Random Forest)
• 使用 GridSearchCV 进行超参数调优
• ROC 曲线分析
• 特征重要性分析
• 恶意软件预测模块
• 基于 Linux 的数据集分析
## 数据集
使用的数据集:
Android Malware Permission Dataset (CICAndMal2017)
总样本数:29,999
总特征数:184
## 使用的模型
• Logistic Regression
• Naive Bayes
• Decision Tree
• Random Forest
## 结果
最佳模型:Random Forest
准确率:80.7%
## 模型性能
| 模型 | 准确率 |
|-------|----------|
| Logistic Regression | 72.25% |
| Naive Bayes | 65.71% |
| Decision Tree | 78.63% |
| Random Forest | 80.70% |
## 项目结构
```
Android-Malware-Detection/
code.ipynb
predict.py
requirements.txt
README.md
data/
models/
plots/
results/
sample/
```
## 如何运行
克隆仓库:
```
git clone
```
安装依赖:
```
pip install -r requirements.txt
```
运行预测:
```
python predict.py
```
运行 CSV 预测:
```
python predict.py sample/sample.csv
```
## 示例预测
输入:
```
Dangerous permissions count: 7
Safe permissions count: 1
Rating: 2.5
```
输出:
```
Prediction: Malware
Malware probability: 62%
```
## 可视化
模型对比、ROC 曲线和特征重要性图表可在 plots 文件夹中找到。
## 未来改进
• 深度学习模型
• 实时恶意软件检测
• REST API 部署
• 特征选择技术
## 使用的技术
Python
Scikit-learn
Pandas
Matplotlib
Seaborn
Linux
## 作者
Shashank
标签:AMSI绕过, Android恶意软件检测, Apex, GridSearchCV, Permission权限检测, Python, ROC曲线分析, 决策树, 分类算法, 威胁检测, 恶意代码分析, 数据科学, 无后门, 朴素贝叶斯, 机器学习, 特征工程, 端到端管道, 网络安全, 自定义DNS解析器, 资源验证, 超参数调优, 逆向工具, 逻辑回归, 配置文件, 随机森林, 隐私保护, 集成学习