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解析器, 资源验证, 超参数调优, 逆向工具, 逻辑回归, 配置文件, 随机森林, 隐私保护, 集成学习