Iremszykoc/Android-Malware-Analysis-ML

GitHub: Iremszykoc/Android-Malware-Analysis-ML

该项目构建了一个将静态 Manifest 分析与动态网络/日志行为特征融合的机器学习 pipeline,用于检测和分类 Android 恶意软件。

Stars: 0 | Forks: 0

# 混合移动恶意软件检测框架 一个基于机器学习的分类 pipeline,它将**动态分析**(Network 和 Log 行为)与**静态分析**(Manifest 和 Permissions)相结合,以检测和分类 Android 恶意软件。 ## 项目概述 现代移动恶意软件具有高度的隐蔽性,通常会绕过传统的静态检测机制。本项目提出了一种**混合分析**方法。通过将提取自网络流量和系统日志的动态行为特征与通过 MobSF 生成的静态特征相融合,机器学习模型实现了对应用程序行为稳健且多维度的理解。 ## 核心架构与 Pipeline 该 pipeline 完全模块化,结构分为以下几个阶段: ### 1. 数据收集与动态分析 - **`veri_topla.py`:** 在受控环境中自动执行 APK,以捕获行为数据。 - **`pcapFilter1.py`:** 使用 `Scapy` 分析 `.pcap` 网络流量,以提取统计性网络特征(例如,数据包大小的标准差、字节速率、协议分布)。 - **`log_filter.py`:** 解析 Android runtime 日志,以量化诸如 `FATAL EXCEPTION`、`Permission denied` 以及 `Error/Warning` 频率等系统异常情况。 ### 2. 特征整合(数据融合) - **`Feature_Extraction.py`:** 核心的数据工程脚本。它将动态提取的网络/日志特征与静态分析的数据集合并。它会处理区分大小写的哈希差异(`sha256`),消除重复条目,并输出最终的干净数据集(`nihai_hibrit_veriseti.csv`)。 - **静态分析集成:** 静态特征(permissions、manifest 数据)是使用 Mobile Security Framework (MobSF) 生成的,并通过 `statikAnaliz veriseti.xlsx` 集成到 pipeline 中。 ### 3. 机器学习分类 - **`ML_modeller.ipynb`:** 一个 Jupyter/Colab notebook,使用混合数据集训练和评估多种稳健的算法: - **Random Forest** - **Gradient Boosting** - **Logistic Regression** - 使用 Accuracy、Precision、Recall、F1-Score 和 Confusion Matrices 实施严格的性能评估。 - 提取并可视化**特征重要性**,以数学方式证明动态和静态特征如何为威胁检测做出贡献。 ## 仓库结构 \`\`\`text ├── veri_topla.py # 自动化 APK 执行与数据捕获脚本 ├── pcapFilter1.py # PCAP 网络流量特征提取 ├── log_filter.py # Android 日志解析与异常指标生成 ├── Feature_Extraction.py # 数据融合脚本(合并动态与静态数据) ├── statikAnaliz veriseti.xlsx # 静态分析数据集(通过 MobSF 生成) ├── nihai_hibrit_veriseti.csv # 用于 ML 训练的最终合并混合数据集 └── ML_modeller.ipynb # 用于 ML 模型训练、评估和可视化的 Notebook \`\`\` ## 关键技术 * **语言:** Python 3.x * **网络分析:** Scapy * **数据工程:** Pandas, NumPy * **机器学习:** Scikit-Learn * **安全工具:** MobSF(静态分析集成) ## 结果与见解 通过结合静态和动态特征,Random Forest 模型突出了这两个领域的关键重要性。特征重要性分析表明,网络速度指标(Bytes/Sec)和权限拒绝频率(动态日志)与静态请求的 Android manifest 权限同等关键,这证明了在现代威胁检测中采用混合架构的必要性。 *免责声明:出于安全策略和文件大小的限制,本仓库不包含原始的恶意软件 APK 和完整的网络捕获文件。仅提供分析提取脚本和最终的数值型数据集,用于教育和研究目的。*
标签:Android, Apex, DSL, MobSF, NoSQL, 云安全监控, 机器学习, 目录枚举, 移动安全, 逆向工具, 静态分析