aizen-ackerman/Malware-Analysis-using-QML

GitHub: aizen-ackerman/Malware-Analysis-using-QML

一个基于量子机器学习的研究项目,旨在比较变分量子电路与经典随机森林在恶意软件分类上的效果。

Stars: 0 | Forks: 0

# QML 恶意软件分析 ![Python](https://img.shields.io/badge/Python-3.11+-blue?style=flat-square&logo=python) ![PennyLane](https://img.shields.io/badge/PennyLane-0.44.1-orange?style=flat-square) ![scikit-learn](https://img.shields.io/badge/scikit--learn-1.8.0-yellow?style=flat-square) ![Status](https://img.shields.io/badge/Status-In%20Progress-lightgrey?style=flat-square) ![License](https://img.shields.io/badge/License-MIT-green?style=flat-square) ## 概述 本项目研究量子机器学习是否能够匹配或超越经典机器学习方法,用于二进制恶意软件分类。流水线通过振幅编码将恶意软件特征向量编码到量子比特中,使用经典优化器训练变分量子电路,并生成与随机森林基线的 IEEE 风格比较分析。 最终目标是发表一篇论文,在相同数据集上比较经典与量子方法,提供可重现的结果和干净的公共代码库。 ## 项目结构 ``` Quantum/ ├── data/ │ └── malware.csv # Synthetic malware feature dataset (500 samples) ├── src/ │ ├── generate_data.py # Dataset generation script │ ├── train_classical.py # Random Forest baseline training │ ├── vqc_circuit.py # Variational Quantum Circuit definition │ ├── train_hybrid.py # Hybrid model training loop │ └── evaluate.py # Evaluation + comparison charts ├── results/ # Output plots and metrics ├── notebooks/ # Jupyter notebooks (optional) ├── paper/ # IEEE paper draft (LaTeX) └── venv/ # Python virtual environment ``` ## 快速开始 ### 1. 克隆仓库 ``` git clone https://github.com/aizen-ackerman/qml-malware-detection.git cd qml-malware-detection ``` ### 2. 设置虚拟环境 ``` python3 -m venv venv source venv/bin/activate ``` ### 3. 安装依赖 ``` pip install pennylane pennylane-lightning scikit-learn pandas numpy matplotlib seaborn ``` ### 4. 生成数据集 ``` python src/generate_data.py ``` ### 5. 训练经典基线 ``` python src/train_classical.py ``` ## 依赖 | 包 | 版本 | 用途 | |---|---|---| | pennylane | 0.44.1 | 量子电路设计与 QML 训练 | | pennylane-lightning | 0.44.0 | 高性能量子模拟后端 | | scikit-learn | 1.8.0 | 经典机器学习模型与预处理 | | pandas | 3.0.2 | 数据集加载与操作 | | numpy | 2.4.4 | 数值计算 | | matplotlib | 3.10.8 | 绘图与可视化 | | seaborn | 0.13.2 | 统计可视化 | ## 数据集 生成了一个合成数据集以模拟恶意软件特征向量。重点在于验证混合 QML 流水线架构,而非真实世界的数据泛化能力。 - **500 个样本** — 每个样本 6 个归一化浮点特征 - **二值标签** — `0` = 良性,`1` = 恶意 - **标签逻辑** — 特征总和 > 3 → 恶意 - **保存路径** — `data/malware.csv` ## 结果 ### 经典基线 — 随机森林 | 指标 | 值 | |---|---| | 准确率 | **85%** | | 精确率(良性) | 0.87 | | 精确率(恶意) | 0.82 | | 召回率(良性) | 0.86 | | 召回率(恶意) | 0.84 | | F1 分数(宏平均) | 0.85 | **混淆矩阵:** | | 预测良性 | 预测恶意 | |---|---|---| | 实际良性 | 48(TN) | 8(FP) | | 实际恶意 | 7(FN) | 37(TP) | ## 路线图 | 天数 | 重点 | 状态 | |---|---|---| | 第 1 天 | 环境设置 + 数据集生成 | ✅ 完成 | | 第 2 天 | 经典机器学习基线(随机森林) | ✅ 完成 | | 第 3 天 | 变分量子电路(VQC)设计 | 🔲 待定 | | 第 4 天 | 混合模型训练循环 | 🔲 待定 | | 第 5 天 | 评估 + 经典与量子对比 | 🔲 待定 | | 第 6 天 | IEEE 论文草稿 | 🔲 待定 | | 第 7 天 | 仓库整理与最终推送 | 🔲 待定 | ## 研究目标 最终交付物为一份 **IEEE 风格研究论文**,比较: - 随机森林(经典基线) - 变分量子电路(量子模型) - 混合量子-经典模型 评估指标包括:准确率、精确率、召回率、F1 分数、训练时间以及电路深度分析。 ## 作者 **Aizen Ackerman** 网络安全研究员 | CTF 选手 | 计算机科学本科生 - 个人主页: [aizen-ackerman.github.io/ABout-me](https://aizen-ackerman.github.io/ABout-me) - LinkedIn: [linkedin.com/in/harshatkarthii-n-t-aa1097301](https://linkedin.com/in/harshatkarthii-n-t-aa1097301) ## 许可证 MIT 许可证 — 详见 [LICENSE](LICENSE)。
标签:DAST, DNS解析, IEEE论文, Mutation, PennyLane, Python, QML, scikit-learn, VQC, 二进制分类, 变分量子电路, 可复现研究, 可视化, 合成数据集, 幅度编码, 开源项目, 恶意软件分析, 数据生成, 无后门, 模型训练, 模型评估, 特征工程, 经典机器学习, 虚拟环境, 逆向工具, 量子机器学习, 量子电路, 随机森林, 项目结构