shreyaaa-1304/mlcs-08

GitHub: shreyaaa-1304/mlcs-08

一个系统性对比静态、动态和机器学习方法的恶意软件分析实验框架,揭示各检测技术的挑战与最佳实践。

Stars: 0 | Forks: 0

# 🧪 实验 08:恶意软件分析(静态、动态与基于 ML 的检测) ## 📌 概述 本实验调查了使用以下方法进行**恶意软件分析**时面临的挑战: * 静态分析 * 动态分析 * 基于 Machine Learning 的检测 该研究使用了真实环境下的工具和 **EMBER 2018 dataset** 来评估不同方法的检测性能及其局限性。 ## 🎯 目的 调查与**恶意软件静态分析**、**动态分析**以及 **AI/ML-based 检测技术**相关的挑战。 ## ⚙️ 系统要求 * OS:Windows / Linux * RAM:建议最低 8GB * 虚拟化:VirtualBox / VMware * Internet Connection ## 🧰 工具与技术 ### 🔍 静态分析工具 * Ghidra * IDA Pro * Strings Tool ### ⚡ 动态分析工具 * Wireshark * Process Monitor * Process Explorer * Cuckoo Sandbox ### 🤖 机器学习库 * Scikit-learn * TensorFlow / PyTorch ## 🧱 实验流程 ### **步骤 1:环境设置** * 创建安全的 virtual machine * 禁用共享文件夹和剪贴板 * 安装所有必需工具 ### **步骤 2:样本选择** * 加壳恶意软件(例如 UPX) * 混淆 binaries * 良性文件 * EMBER dataset 样本 ### **步骤 3:静态分析** * 提取 strings(URLs、IPs、可疑数据) * 使用 Ghidra/IDA 进行逆向工程 * 分析结构、imports、函数 * 使用 VirusTotal 进行验证 ### **步骤 4:动态分析** * 在 VM 中执行恶意软件 * 监控进程和系统活动 * 捕获网络流量 * 使用 Cuckoo Sandbox 分析行为 ### **步骤 5:Machine Learning Pipeline** #### 📊 Dataset * EMBER 2018 Dataset * 训练集:15,000 个样本 * 测试集:4,000 个样本 #### 🧮 特征 * 655 个静态 PE 特征: * Byte histogram * Entropy * Strings * Metadata #### ⚙️ 使用的模型 * Decision Tree * Random Forest * Linear SVM ## 📈 结果 | Model | Accuracy | Precision | Recall | F1 Score | | ------------- | ---------- | ---------- | ---------- | ---------- | | Decision Tree | 0.833 | 0.8298 | 0.8357 | 0.8327 | | Random Forest | **0.8898** | **0.8910** | **0.8869** | **0.8889** | | Linear SVM | 0.776 | 0.7697 | 0.7844 | 0.777 | ## 🔍 主要观察 ### 静态分析挑战 * 混淆和加壳降低了可见性 * 特征提取困难 * 反反汇编技术 ### 动态分析挑战 * 恶意软件的 Sandbox 检测 * 延迟执行 * 资源占用高 * 嘈杂的行为数据 ### ML Model 挑战 * 过拟合 * 高漏报率 * 对特征篡改敏感 ## 🧠 关键发现 * **Random Forest 整体表现最佳** * 仅靠静态分析是不够的 * 动态分析资源消耗大 * ML 模型难以应对混淆恶意软件 * 混合方法更有效 ## ⚠️ 安全提示 ⚠️ 务必在**安全的 virtual machine**内运行恶意软件样本。 ⚠️ 切勿在主机系统上执行可疑文件。 ## 📚 参考资料 * https://pmc.ncbi.nlm.nih.gov/articles/PMC10537824/ * https://www.nature.com/articles/s41598-025-34790-x.pdf * EMBER Dataset: https://www.kaggle.com/datasets/vivekanandabharupati/ember2018 ## ✅ 结论 本实验表明,虽然 Machine Learning 改进了恶意软件检测,但**没有任何单一方法是足够的**。结合静态、动态和 ML 方法可以提供更强大且可靠的恶意软件分析系统。
标签:AMSI绕过, Cuckoo Sandbox, DAST, EMBER数据集, Ghidra, IDA Pro, PE文件分析, Process Monitor, Random Forest, Scikit-learn, SVM, TensorFlow, Wireshark, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 人工智能安全, 决策树, 凭据扫描, 句柄查看, 合规性, 威胁检测, 安全工具测评, 归档响应下载, 恶意代码识别, 恶意软件分析, 机器学习检测, 沙箱逃逸, 混淆代码, 网络安全实验, 行为监控, 逆向工具, 逆向工程, 静态分析