piyushchoudhury-bot/Investigation-of-Challenges-for-Malware-Static-and-Dynamic-Analysis-Tools-

GitHub: piyushchoudhury-bot/Investigation-of-Challenges-for-Malware-Static-and-Dynamic-Analysis-Tools-

系统性探究恶意软件静态分析、动态分析和机器学习检测三大技术路线的挑战与局限,并通过EMBER数据集验证混合检测方法的有效性。

Stars: 0 | Forks: 0

# 🧪 实验 08:恶意软件分析(静态、动态与基于机器学习的检测) ## 📌 概述 本实验通过以下方法探讨了**恶意软件分析**中面临的挑战: * 静态分析 (Static Analysis) * 动态分析 (Dynamic Analysis) * 基于机器学习的检测 (Machine Learning-based Detection) 本研究使用了真实环境下的工具和 **EMBER 2018 数据集**来评估不同方法的检测性能及其局限性。 ## 🎯 目的 研究与**恶意软件静态分析**、**动态分析**以及**AI/ML(人工智能/机器学习)检测技术**相关的挑战。 ## ⚙️ 系统要求 * 操作系统:Windows / Linux * 内存:建议至少 8GB * 虚拟化环境:VirtualBox / VMware * 互联网连接 ## 🧰 工具与技术 ### 🔍 静态分析工具 * Ghidra * IDA Pro * Strings Tool ### ⚡ 动态分析工具 * Wireshark * Process Monitor * Process Explorer * Cuckoo Sandbox ### 🤖 机器学习库 * Scikit-learn * TensorFlow / PyTorch ## 🧱 实验流程 ### **步骤 1:环境搭建** * 创建安全的虚拟机 * 禁用共享文件夹和剪贴板 * 安装所有必需的工具 ### **步骤 2:样本选择** * 加壳恶意软件(例如 UPX) * 混淆的二进制文件 * 良性文件 * EMBER 数据集样本 ### **步骤 3:静态分析** * 提取字符串(URL、IP 地址、可疑数据) * 使用 Ghidra/IDA 进行逆向工程 * 分析结构、导入表、函数 * 使用 VirusTotal 进行验证 ### **步骤 4:动态分析** * 在虚拟机中执行恶意软件 * 监控进程和系统活动 * 捕获网络流量 * 使用 Cuckoo Sandbox 分析行为 ### **步骤 5:机器学习流程** #### 📊 数据集 * EMBER 2018 数据集 * 训练集:15,000 个样本 * 测试集:4,000 个样本 #### 🧮 特征 * 655 个静态 PE 特征: * 字节直方图 * 熵 * 字符串 * 元数据 #### ⚙️ 使用的模型 * 决策树 * 随机森林 * 线性 SVM (Linear SVM) ## 📈 结果 | 模型 | 准确率 | 精确率 | 召回率 | F1 分数 (F1 Score) | | ------------- | ---------- | ---------- | ---------- | ---------- | | 决策树 | 0.833 | 0.8298 | 0.8357 | 0.8327 | | 随机森林 | **0.8898** | **0.8910** | **0.8869** | **0.8889** | | 线性 SVM | 0.776 | 0.7697 | 0.7844 | 0.777 | ## 🔍 关键观察 ### 静态分析挑战 * 代码混淆和加壳降低了可见性 * 特征提取困难 * 反汇编技术 ### 动态分析挑战 * 恶意软件的沙箱检测能力 * 延迟执行 * 高资源占用 * 充满噪声的行为数据 ### ML 模型挑战 * 过拟合 - 决策树 * 高漏报率 - SVM * 对特征篡改的敏感性 ## 🧠 主要发现 * **随机森林 整体表现最佳** * 仅靠静态分析是不够的 * 动态分析资源消耗大 * ML 模型在处理混淆恶意软件时表现不佳 * 混合方法更为有效 ## ⚠️ 安全提示 ⚠️ 务必在**安全的虚拟机**内运行恶意软件样本。 ⚠️ 切勿在您的主机系统上执行可疑文件。 ## 📚 参考资料 * https://pmc.ncbi.nlm.nih.gov/articles/PMC10537824/ * https://www.nature.com/articles/s41598-025-34790-x.pdf * EMBER 数据集:https://www.kaggle.com/datasets/vivekanandabharupati/ember2018 ## ✅ 结论 本实验表明,虽然机器学习改善了恶意软件检测,但**没有任何单一方法是足够的**。结合静态、动态和 ML 方法可以提供更强大、更可靠的恶意软件分析系统。
标签:AMSI绕过, Cuckoo Sandbox, DAST, EMBER数据集, Ghidra, IDA Pro, PE文件分析, Wireshark, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 人工智能安全, 决策树, 凭据扫描, 加壳恶意软件, 句柄查看, 合规性, 威胁检测, 恶意软件分析, 情报收集, 支持向量机, 机器学习检测, 沙箱技术, 混淆代码, 漏洞研究, 网络安全, 行为监控, 逆向工具, 逆向工程, 随机森林, 隐私保护, 静态分析