ramkarunyaa/MalwareDNASequencing
GitHub: ramkarunyaa/MalwareDNASequencing
将生物信息学中的 DNA 编码与 k-mer 分析技术应用于恶意软件家族分类的机器学习研究项目。
Stars: 0 | Forks: 0
# 🧬 MalwareDNASequencing




## 📖 概述
MalwareDNASequencing 是一个网络安全研究项目,它将生物信息学的概念应用于恶意软件分析。
该项目不再仅仅依赖特征码或静态哈希,而是使用字节到核苷酸的编码方案将可执行文件转换为类似 DNA 的序列。随后,通过 k-mer 特征提取对生成的序列进行分析,并用于训练能够对恶意软件家族进行分类的机器学习模型。
该项目结合了以下领域的思想:
- 🔐 恶意软件分析
- 🧬 生物信息学
- 🤖 机器学习
- 💻 数字取证
# 系统架构

该架构展示了完整的恶意软件分析 pipeline,从恶意软件和良性样本收集开始,接着进行 PE 特征提取、DNA 编码、k-mer 分析、数据集生成、机器学习模型训练,最后进行恶意软件家族分类。
# 项目工作流

该工作流展示了项目中执行操作的完整序列,从样本收集开始,直到恶意软件分类结束。
# DNA 编码过程

使用字节到核苷酸的映射方案,将可执行文件转换为类似 DNA 的核苷酸序列。然后,生成的 DNA 序列将通过 k-mer 分析进行处理,以生成数值特征向量。
# 机器学习 Pipeline

生成的数据集经过预处理并被划分为训练集和测试集。随后使用标准的分类评估指标对 Random Forest、Support Vector Machine (SVM) 和 XGBoost 模型进行训练和评估。
# 预测 Pipeline

对于未知可执行文件,在训练好的机器学习模型预测其对应的恶意软件家族之前,会应用相同的预处理 pipeline。
# 数据集生成 Pipeline

## 良性样本和恶意软件样本都会经过特征提取、DNA 编码和 k-mer 分析处理,然后组合成用于模型训练的最终数据集。
## 🚀 功能
- 可执行二进制文件的 DNA 编码
- k-mer 频率分析
- PE 特征提取
- 数据集生成 pipeline
- Random Forest 分类器
- Support Vector Machine (SVM)
- XGBoost 分类器
- 交叉验证
- 恶意软件家族预测
## 🦠 恶意软件家族
| 家族 | 状态 |
|---------|--------|
| AgentTesla | ✅ |
| Lumma | ✅ |
| RedLine | ✅ |
| Remcos | ✅ |
| Vidar | ✅ |
## 📊 数据集
| 项目 | 数值 |
|------|------:|
| 恶意软件家族 | 5 |
| 样本 | 100 |
| 特征 | 266 |
## 🏗️ 项目 Pipeline
```
Executable File
│
▼
DNA Encoder
│
▼
DNA Sequence
│
▼
K-mer Analysis
│
▼
Feature Extraction
│
▼
Dataset Builder
│
▼
Machine Learning
│
▼
Malware Family Prediction
```
## 🤖 模型
| 模型 | 准确率 |
|--------|----------|
| Random Forest | 75% |
| SVM | 50% |
| XGBoost | 80% |
## 📂 项目结构
```
MalwareDNASequencing/
│
├── data/
├── docs/
├── models/
├── results/
├── scripts/
├── src/
├── README.md
├── requirements.txt
└── LICENSE
```
## ⚙️ 安装
```
git clone git@github.com:ramkarunyaa/MalwareDNASequencing.git
cd MalwareDNASequencing
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
```
## ▶️ 用法
构建数据集:
```
python scripts/build_dataset.py
```
训练 Random Forest 模型:
```
python src/train_rf.py
```
训练 XGBoost 模型:
```
python src/train_xgboost.py
```
评估模型:
```
python src/evaluate.py
```
## 🔮 未来工作
- 深度学习模型
- 基于 CNN 的恶意软件图像
- Transformer 架构
- 可解释 AI (SHAP)
- 恶意软件系统发育树
- 图神经网络
## 👨💻 作者
**Ram Karunya Nath Pilli**
B.Tech 计算机科学与工程
网络安全 | 机器学习 | 恶意软件分析
## 📜 许可证
本项目基于 MIT 许可证授权。
标签:Apex, DAST, Python, 恶意软件分析, 无后门, 机器学习, 特征工程, 生物信息学, 逆向工具