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, 二进制分析, 云安全监控, 云安全运维, 云资产清单, 人工智能安全, 决策树, 凭据扫描, 句柄查看, 合规性, 威胁检测, 安全工具测评, 归档响应下载, 恶意代码识别, 恶意软件分析, 机器学习检测, 沙箱逃逸, 混淆代码, 网络安全实验, 行为监控, 逆向工具, 逆向工程, 静态分析