Dhrishya09/Malware-analysis
GitHub: Dhrishya09/Malware-analysis
该项目通过静态控制流图提取与动态系统调用捕获,结合 Node2Vec 图嵌入与图同构网络(GIN),实现对 Linux ELF 恶意软件的自动化分类与检测。
Stars: 0 | Forks: 0
# 恶意软件分析
这是我的大学论文项目,于 2025 年 10 月至 2026 年 3 月期间完成。
## 主要贡献
- 开发了一个静态分析 pipeline,使用 Angr 从 Linux ELF 二进制文件中提取控制流图。
- 开发了一个使用 `strace` 捕获系统调用的动态分析 pipeline。
- 使用 Node2Vec 将图结构转换为机器学习表示。
- 使用 PyTorch Geometric 实现了图同构网络。
- 将基于图的深度学习与传统的机器学习和基于序列的方法进行了比较。
- 使用准确率、精确率、召回率和 F1-score 评估了性能。
## 使用的技术
- Python 3.x
- PyTorch
- PyTorch Geometric
- Angr
- NetworkX
- Node2Vec
- Gensim
- NumPy
- scikit-learn
- VMware
- Kali Linux
- strace
## 方法论
### 1. 数据集准备
在进行分析之前,收集并验证了 Linux ELF 二进制文件。
### 2. 静态分析
使用 Angr 反汇编 ELF 二进制文件并生成控制流图。
### 3. 动态分析
在受控的 Linux 环境中执行样本,并使用 strace 收集系统调用。
### 4. 图表示
使用诸如 Node2Vec 之类的图嵌入技术,将提取的图结构转换为数值表示。
### 5. 深度学习
将图表示传递给图神经网络模型,包括图同构网络。
### 6. 评估
使用标准的分类指标,将提出的方法与基线机器学习和深度学习模型进行了比较。
## 结果
| 模型 | 分析类型 | 准确率 |
|---|---|---|
| Random Forest | 静态 | XX% |
| SVM | 静态 | XX% |
| LSTM | 动态 | XX% |
| GCN | 动态 | XX% |
| GIN | 静态 | XX% |
| GIN | 动态 | XX% |
动态 GIN 模型在所有评估模型中取得了最佳性能,证明了基于图的表示在捕获 Linux 恶意软件行为关系方面的潜力。
## 安装说明(如何运行该项目)
1. 克隆仓库:
git clone
cd
2. 创建虚拟环境并激活环境:
python -m venv venv
source venv/bin/activate #inlinux
3. 安装依赖项:
pip install -r requirements.txt
4. mfdn
## ⚠️ 安全提示
该项目涉及对潜在恶意的 Linux ELF 二进制文件的分析。
请勿在个人或生产系统上执行恶意软件样本。
所有动态分析都应在适当隔离的环境中进行,例如配置了适当安全控制的专用虚拟机或沙箱。
本仓库不包含研究中使用的恶意软件样本。
标签:凭据扫描, 特权检测, 逆向工具