论文 FGSM Attack Transferability from Simulation to Quantum Hardware in Network Intrusion Detection 的代码、训练参数和结果,IEEE International Conference on Quantum Artificial Intelligence (QAI) 2026。
论文中的数字来自 results/ 中的 JSON 文件。此处的脚本生成了这些文件。
src/ experiment scripts, numbered in run order
data/ preprocessed splits (the raw CICIDS2017 CSVs are not included)
models/ trained circuit parameters
results/ one JSON per experiment
figures/ the two figures in the paper
python >= 3.10
pennylane == 0.44.1
qiskit-ibm-runtime
numpy, scipy, scikit-learn, pandas, matplotlib
使用 pip install -r requirements.txt 安装。
脚本 08 和 09 在真实硬件上运行,因此需要一个 IBM Quantum 账户。复制 .env.example,并在其中填入你自己的 token 和 instance。然后将它们设置为环境变量。脚本仅从环境变量读取凭据。
原始采集数据不在此处。请从加拿大网络安全研究所下载 CICIDS2017,并将 Friday-WorkingHours-Afternoon-DDos.pcap_ISCX.csv 放入 data/。这是唯一使用的文件。
01_preprocess.py 构建四个 .npy 划分。训练集中应得到 1134 个攻击样本和 866 个良性样本。测试集中为 284 个攻击样本和 216 个良性样本。数量不同意味着采集文件不同,或 scikit-learn 版本不同。
按编号顺序运行脚本。脚本 04 到 07 需要先运行 01、02 和 03。
| 脚本 | 产出 | 运行时间 |
|---|---|---|
01_preprocess.py | data/ 中的四个划分 | 数秒 |
02_train_narrow_margin.py | models/clean_params.npy | 数秒 |
03_retrain_poisoning_and_noise.py | 投毒模型和噪声模型,两个结果文件 | 数小时 |
04_epsilon_sweep.py | results/epsilon_sweep.json | 不到一分钟 |
05_compare_attack_guidance.py | results/gradient_vs_untargeted.json | 不到一分钟 |
06_finish_rq3.py | 无噪声基线和噪声 FGSM 扫描 | 约一小时 |
07_margin_control.py | results/margin_control.json | 几分钟 |
08_run_hardware_models.py | results/hardware_clean_vs_poisoned.json | 排队时间 |
09_run_hardware_fgsm.py | results/hardware_fgsm_adam.json | 排队时间 |
10_convert_hardware_results.py | results/hardware_fgsm_cobyla.json | 数秒 |
make_figures.py | 两张图 | 数秒 |
脚本 03 是最慢的一个。它模拟密度矩阵,每次初始化大约需要十六分钟。它在三个噪声水平下各训练三个初始化。
硬件脚本将所有电路放在一个作业中发送。作业中的每个电路随后共享相同的校准状态。两个脚本都接受 --dry-run,它会转译所有内容并打印电路统计信息,而不发送任何内容。
| 论文 | 结果文件 | 脚本 |
|---|---|---|
| 表 I,投毒 | poisoning_retrained.json | 03 |
| 表 II,FGSM 对抗非定向攻击 | gradient_vs_untargeted.json | 05 |
| 表 III,模拟与硬件对比 | hardware_clean_vs_poisoned.json、hardware_fgsm_adam.json | 08、09 |
| 表 IV,去极化噪声 | noise_retrained.json、noise_fgsm_sweep.json、noiseless_400_baseline.json | 03、06 |
| 图 1,向硬件的迁移 | hardware_fgsm_adam.json、hardware_fgsm_cobyla.json | 09、10 |
| 图 2,噪声下的准确率和裕度 | 与表 IV 相同 | 03、06 |
| 第 IV-A 节,干净基线 | clean_history.json、noise_retrained.json | 02、03 |
| 第 IV-C 节,决策裕度 | epsilon_sweep.json | 04 |
| 第 VI 节,裕度控制 | margin_control.json | 07 |
| 文件 | 说明 |
|---|---|
clean_params.npy | 窄裕度分类器,COBYLA,裕度 0.07 时准确率 86.8% |
noisy_0.0_params.npy | 宽裕度分类器,Adam,裕度 0.54 时准确率 92.2% |
noisy_0.0_params_400.npy | 在 400 样本子集上训练的无噪声模型,用于跨噪声水平比较 |
noisy_0.001_params.npy、noisy_0.01_params.npy、noisy_0.05_params.npy | 每个去极化噪声水平一个 |
poisoned_5pct_params.npy、poisoned_10pct_params.npy、poisoned_15pct_params.npy | 每个标签翻转率一个 |
所有运行均使用 IBM Fez,一台 156 量子比特的 Heron r2 处理器。每个电路 1024 次采样,通过 Qiskit Runtime SamplerV2。转译在优化级别 1 下进行。
每次运行提交相同的逻辑电路:深度 20,含 12 个双量子比特门。转译将其映射到物理量子比特上,这会在每次提交时改变这两个数字。
| 结果 | 脚本 | 电路 | 转译深度 | 双量子比特门 |
|---|---|---|---|---|
| 干净模型与投毒模型的准确率 | 08 | 100 | 100 | 27 |
| FGSM 迁移,宽间隔模型 | 09 | 150 | 87 | 42 |
| FGSM 迁移,窄间隔模型 | 早期代码,已被 09 取代 | 400 | 未记录 | 未记录 |
窄间隔迁移运行早于本仓库中的脚本。
其输出为 results/transferability_hw_50_expA.json,脚本 10
会将其转换为图表读取的格式。该运行使用了与脚本 09 相同的电路
和相同的优化级别。
两次记录的深度不同。转译器通过启发式方法选择物理量子比特, 因此同一电路在每次提交时映射结果不同。两次运行仍与模拟结果一致。
硬件结果取决于设备当天的校准状态。 再次发送相同的电路,会得到不同的计数。JSON 文件 记录了设备当时的行为。
models/clean_params.npy 无法重新生成。其初始参数
来自全局 NumPy 随机状态,而非带种子的生成器。
02_train_narrow_margin.py 现在会为其初始化设置种子,因此新的运行
在彼此之间可复现。不过,它们会落在不同的位置,而且
分布范围很宽。在随机目标上使用无梯度优化器可能会
坍缩为预测多数类。脚本在发生这种情况时会给出提示。
其余部分均已设置种子。准确率仍会随初始化而变化,因此 脚本报告均值和标准差,而不是单次运行结果。论文第 VI 节 解释了原因。
@inproceedings{ajmal2026fgsm,
author = {Ajmal, Zeeshan and Halunen, Kimmo and Mau{\ss}ner, Marc
and Reers, Volker and Khan, Arif Ali},
title = {{FGSM} Attack Transferability from Simulation to Quantum
Hardware in Network Intrusion Detection},
booktitle = {IEEE International Conference on Quantum Artificial
Intelligence (QAI)},
year = {2026},
note = {To appear},
}
代码采用 MIT 许可证。参见 LICENSE。
CICIDS2017 来自加拿大网络安全研究所,遵循其自身的条款。此处不再分发。
本工作得到了 Business Finland 项目 (24304955) SeQuSoS 的支持。我们感谢 IBM Quantum 服务的使用。所表达的观点仅代表作者本人,不代表 IBM 或 IBM Quantum 团队的官方政策或立场。