ramkarunyaa/MalwareDNASequencing

GitHub: ramkarunyaa/MalwareDNASequencing

将生物信息学中的 DNA 编码与 k-mer 分析技术应用于恶意软件家族分类的机器学习研究项目。

Stars: 0 | Forks: 0

# 🧬 MalwareDNASequencing ![Python](https://img.shields.io/badge/Python-3.11+-blue.svg) ![Scikit-learn](https://img.shields.io/badge/Scikit--learn-ML-orange.svg) ![XGBoost](https://img.shields.io/badge/XGBoost-Enabled-red.svg) ![License](https://img.shields.io/badge/License-MIT-green.svg) ## 📖 概述 MalwareDNASequencing 是一个网络安全研究项目,它将生物信息学的概念应用于恶意软件分析。 该项目不再仅仅依赖特征码或静态哈希,而是使用字节到核苷酸的编码方案将可执行文件转换为类似 DNA 的序列。随后,通过 k-mer 特征提取对生成的序列进行分析,并用于训练能够对恶意软件家族进行分类的机器学习模型。 该项目结合了以下领域的思想: - 🔐 恶意软件分析 - 🧬 生物信息学 - 🤖 机器学习 - 💻 数字取证 # 系统架构 ![系统架构](https://static.pigsec.cn/wp-content/uploads/repos/cas/6a/6aed323b6a058eb925c4c6407454280c4f1e16cf0d80e4a1e9c5cb0839a751da.png) 该架构展示了完整的恶意软件分析 pipeline,从恶意软件和良性样本收集开始,接着进行 PE 特征提取、DNA 编码、k-mer 分析、数据集生成、机器学习模型训练,最后进行恶意软件家族分类。 # 项目工作流 ![工作流](https://static.pigsec.cn/wp-content/uploads/repos/cas/b9/b97369511bd70cde07782a030f2792ccb881d531be9ccf97a8c1f6c292abff2a.png) 该工作流展示了项目中执行操作的完整序列,从样本收集开始,直到恶意软件分类结束。 # DNA 编码过程 ![DNA 编码](https://static.pigsec.cn/wp-content/uploads/repos/cas/ca/ca46803129383983dc0b657ea02c4f860c42eade76a99bb502db032bc5fda775.png) 使用字节到核苷酸的映射方案,将可执行文件转换为类似 DNA 的核苷酸序列。然后,生成的 DNA 序列将通过 k-mer 分析进行处理,以生成数值特征向量。 # 机器学习 Pipeline ![机器学习 Pipeline](https://static.pigsec.cn/wp-content/uploads/repos/cas/f2/f29b1ff4fb60affe715ea76c3e4f7c47326b203333dd5b6881355612baba559a.png) 生成的数据集经过预处理并被划分为训练集和测试集。随后使用标准的分类评估指标对 Random Forest、Support Vector Machine (SVM) 和 XGBoost 模型进行训练和评估。 # 预测 Pipeline ![预测 Pipeline](https://static.pigsec.cn/wp-content/uploads/repos/cas/8b/8bd6744b12fa94bc16e87de2ddda7dc2a575a8db6a5fe7b6ea81227f21147514.png) 对于未知可执行文件,在训练好的机器学习模型预测其对应的恶意软件家族之前,会应用相同的预处理 pipeline。 # 数据集生成 Pipeline ![数据集 Pipeline](https://static.pigsec.cn/wp-content/uploads/repos/cas/04/04a7b6d644305c9e68454f93250d4372bf78509f05a3ea4e7bce25170dae515d.png) ## 良性样本和恶意软件样本都会经过特征提取、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, 恶意软件分析, 无后门, 机器学习, 特征工程, 生物信息学, 逆向工具