aizen-ackerman/Malware-Analysis-using-QML
GitHub: aizen-ackerman/Malware-Analysis-using-QML
一个基于量子机器学习的研究项目,旨在比较变分量子电路与经典随机森林在恶意软件分类上的效果。
Stars: 0 | Forks: 0
# QML 恶意软件分析





## 概述
本项目研究量子机器学习是否能够匹配或超越经典机器学习方法,用于二进制恶意软件分类。流水线通过振幅编码将恶意软件特征向量编码到量子比特中,使用经典优化器训练变分量子电路,并生成与随机森林基线的 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, 二进制分类, 变分量子电路, 可复现研究, 可视化, 合成数据集, 幅度编码, 开源项目, 恶意软件分析, 数据生成, 无后门, 模型训练, 模型评估, 特征工程, 经典机器学习, 虚拟环境, 逆向工具, 量子机器学习, 量子电路, 随机森林, 项目结构