这篇论文就像是一份针对量子计算“模拟器”世界的全面体检报告。
想象一下,真正的量子计算机(那些在实验室里需要接近绝对零度、极其昂贵的机器)就像是一辆超级跑车。但在我们真正能买到或租到这种跑车之前,工程师们和科学家们都在用高精度的 3D 模拟软件(也就是“量子模拟器”)来设计、测试和练习驾驶。
这份报告由 Dominik Blain 撰写,他检查了全球 45 个最流行的开源量子模拟软件(来自 IBM、谷歌、华为、哈佛、CERN 等 22 个机构)。结果发现:这些模拟软件虽然功能强大,但它们的“地基”非常不安全,就像是用纸糊的墙去支撑摩天大楼。
以下是用通俗语言和比喻对报告核心内容的解读:
1. 核心问题:指数级的“贪吃蛇”
量子模拟器的核心任务是把一个量子状态(由 n 个量子比特组成)在经典计算机上算出来。
- 比喻:这就好比你在玩一个游戏,每增加一个“量子比特”,你需要记住的信息量就会翻倍。
- 1 个比特 = 2 个数字
- 10 个比特 = 1024 个数字
- 30 个比特 = 10 亿个数字
- 50 个比特 = 100 万亿亿个数字(比全人类的头发总数还多!)
问题在于:大多数软件在接收用户输入“我要模拟 50 个比特”时,没有问一句“你确定吗?这可能会撑爆你的电脑”。它们直接开始疯狂分配内存,导致电脑死机或崩溃。
2. 四大类“致命伤” (漏洞分类)
报告发现了四类主要的安全漏洞,我们可以把它们比作不同类型的建筑缺陷:
第一类:C++ 语言的“内存越界” (C++ 内存损坏)
- 比喻:想象一个只有 64 格的停车场(C++ 数组)。如果管理员(程序)试图把第 65 辆车停进去,或者因为计算错误把车停到了隔壁的仓库里,整个停车场就会乱套,甚至导致仓库倒塌(内存损坏)。
- 现状:IBM 的 Qiskit Aer 和橡树岭国家实验室(美国能源部)的 XACC 软件中,当量子比特数超过一定界限(比如 32 或 64)时,程序会直接“发疯”,导致内存被非法读写。
- 后果:这不仅仅是电脑卡死,黑客可能利用这个漏洞控制你的电脑,执行任意代码。
第二类:Python 语言的“资源耗尽” (DoS 攻击)
- 比喻:这就像是一个贪吃蛇游戏,蛇每吃一个苹果就变长一倍。如果用户输入一个巨大的数字(比如 50),程序就会试图瞬间吃掉整个地球。
- 现状:在 14 个流行的 Python 软件(如谷歌的 Cirq、百度的 Paddle Quantum)中,只要有人输入一个稍大的量子比特数,程序就会试图分配几 PB(拍字节)的内存。
- 后果:电脑内存瞬间被吃光,系统崩溃。如果是云端服务,黑客只要发一个请求,就能让服务器瘫痪,这就是拒绝服务攻击 (DoS)。
第三类:危险的“自动加载” (不安全反序列化)
- 比喻:想象你收到一个快递包裹,上面写着“打开我,里面有你的量子数据”。但如果你直接打开,包裹里可能藏着一个机器人杀手,它一出来就接管了你的电脑。
- 现状:很多软件(如哈佛的 Tequila、腾讯的 TensorCircuit)使用
pickle 或 eval 等函数来读取保存的量子数据文件。这些函数就像没有安检的传送带,直接执行文件里的代码。
- 后果:黑客只要把恶意代码伪装成普通的量子数据文件发给你,你一旦打开,黑客就完全控制了你的电脑(远程代码执行 RCE)。作者甚至现场演示了这种攻击。
第四类:全新的“量子注入” (QASM 注入)
- 比喻:这是量子世界特有的漏洞。就像黑客在 SQL 数据库里注入恶意指令一样,黑客可以在量子电路的描述语言(QASM)里插入恶意的“指令”,让解析器误以为那是合法的电路。
- 现状:IBM 和 Quantinuum 等公司的软件在解析用户输入的量子电路代码时,没有进行严格的“消毒”。
- 后果:黑客可以注入恶意逻辑,破坏计算结果或执行非预期的操作。这是以前从未被系统研究过的新型攻击。
3. 惊人的发现:供应链的“多米诺骨牌”
橡树岭实验室的“继承”问题:
美国能源部下属的橡树岭国家实验室(Oak Ridge NL)开发了一个叫 XACC 的框架。调查发现,他们直接复制粘贴了 IBM Qiskit Aer 的全部 C++ 代码。
- 比喻:就像橡树岭实验室建了一座新房子,结果发现地基和墙壁直接用了 IBM 那栋有裂缝的房子的图纸。IBM 的漏洞,橡树岭实验室原封不动地继承了。这意味着美国国家实验室的量子基础设施直接暴露在商业软件的安全漏洞之下。
32 比特的“死亡线”:
研究发现,32 个量子比特是一个关键的临界点。在这个数字附近,无论是 C++ 的内存溢出,还是 Python 的内存爆炸,都最容易发生。而 32 个比特恰恰是目前科研中最常用的模拟规模,这意味着最活跃的研究区域恰恰是最危险的区域。
4. 谁做得好?谁做得差?
报告给这 45 个软件打了分(满分 100):
- 不及格 (0 分):IBM (Qiskit Aer, Terra), 谷歌 (Cirq), 哈佛 (Tequila), 橡树岭 (XACC), 百度 (Paddle), 腾讯 (TensorCircuit) 等。这些主流大厂和顶尖高校的软件大多“千疮百孔”。
- 满分 (100 分):只有 9 个软件是安全的,包括 ETH 苏黎世联邦理工的
qpp、牛津大学的 QuEST、富士通的 qulacs 等。
- 启示:这些满分软件证明了,只要在设计之初就加上“安全检查”(比如限制最大比特数),这些漏洞是完全可以避免的。
5. 总结与建议
这篇文章告诉我们什么?
量子计算虽然听起来很未来、很高科技,但支撑它的基础软件(模拟器)却非常脆弱。就像我们在造火箭,但用的图纸是画在沙滩上的,海浪一来就塌了。
主要建议:
- 加个“限速器”:所有软件必须在入口处检查用户输入的量子比特数。如果用户想模拟 50 个比特,直接报错说“不行,太大了”,而不是硬着头皮去算。
- 别乱用“自动加载”:不要直接打开来源不明的数据文件,或者使用更安全的格式。
- 供应链要透明:像橡树岭实验室这样直接复制代码的做法,必须建立严格的同步和审查机制,不能“拿来主义”而不检查安全。
一句话总结:
量子计算的未来很美好,但如果我们不给这些模拟软件穿上“防弹衣”(修复漏洞),在真正的量子计算机普及之前,我们的经典计算机可能先被这些漏洞搞垮,或者被黑客利用来窃取数据。这份报告就是给全球量子软件界敲响的一记警钟。
《Broken Quantum:开源量子计算模拟器生态系统安全漏洞系统性形式化验证研究》技术总结
1. 研究背景与问题定义
量子计算模拟器是几乎所有量子算法研究的基础设施,支撑着政府、高校和企业的科学计算。然而,尽管其重要性极高,这些经典软件实现的**经典安全性(Classical Security)**从未得到系统性分析。
本研究揭示了量子模拟器的核心架构缺陷:量子态的经典表示需要指数级资源(n 个量子比特需要 2n 个经典振幅)。当用户控制的量子比特数量(n)直接映射到资源分配(2n)且缺乏验证时,会导致严重的安全漏洞。
核心问题:
- C++ 后端:整数溢出导致内存损坏(Undefined Behavior)。
- Python 后端:无界资源分配导致拒绝服务(DoS)。
- 序列化与注入:不安全的反序列化导致远程代码执行(RCE),以及针对量子特定语言(QASM)的新型注入攻击。
2. 研究方法:COBALT QAI
研究团队开发了名为 COBALT QAI 的四模块静态分析引擎,结合 Z3 SMT(Satisfiability Modulo Theories)求解器进行形式化验证。
- 分析对象:45 个开源量子模拟框架,涵盖 22 个组织(包括 IBM、Google、Amazon、NVIDIA、CERN、Harvard 等)和 12 个国家。
- 两阶段分析流程:
- 模式扫描(Pattern Scanning):使用正则表达式匹配已知的漏洞模式(C++ 的 CWE-125/190,Python 的 CWE-400 等)。
- Z3 形式化验证:将候选漏洞编码为位向量算术约束。Z3 求解器用于证明漏洞的可达性(SAT 表示存在具体攻击路径,UNSAT 表示不可达)。
- 评分机制:基于漏洞严重程度(CRITICAL, HIGH, MEDIUM)从基准分 100 分中扣分,评估框架的安全等级(Secure, Review Required, Broken)。
3. 四大漏洞类别与关键发现
第一类:C++ 内存破坏 (CWE-125 / CWE-190)
- 受影响框架:Qiskit Aer (IBM), XACC (Oak Ridge 国家实验室)。
- 漏洞机制:
- 越界访问 (CWE-125):
BITS 数组固定为 64 个元素,当 num_qubits >= 64 时发生越界读取,导致未定义行为。
- 溢出链 (CWE-190 -> CWE-125):在幺正矩阵(Unitary Matrix)模拟中,输入 n 被加倍后传入基础分配器。当 n=32 时,2n=64,触发
BITS[64] 越界。
- 关键发现:
- XACC 供应链问题:美国能源部(DOE)的国家实验室框架 XACC 直接**逐字复制(Vendoring)**了 IBM Qiskit Aer 的 C++ 代码,导致 5 个严重漏洞被直接继承到国家实验室基础设施中。
- Z3 证明:n=32 是触发此类漏洞的最小整数边界。
第二类:Python 资源耗尽 (CWE-400)
- 受影响框架:Cirq (Google), PennyLane (Xanadu), qibo (CERN), paddle-quantum (Baidu) 等 14 个框架。
- 漏洞机制:代码中直接使用
np.zeros(2**num_qubits) 进行内存分配,未对 n 进行上限检查。
- 例如:n=50 需要 8 PB 内存,n=40 需要 16 TB。
- 后果:在本地导致进程被 OOM Killer 终止;在云端 API 中导致远程拒绝服务(DoS)。
- Z3 证明:n≥40 (或特定密度矩阵场景下的 n=32) 即可触发资源耗尽。
第三类:不安全反序列化与代码注入 (CWE-502 / CWE-94)
- 受影响框架:Harvard 的 tequila, Tencent 的 TensorCircuit, PySCF, Amazon Braket SDK, Qiskit ML 等。
- 漏洞机制:
- Pickle/Dill 反序列化:使用
pickle.load() 或 dill.load() 加载量子对象(如哈密顿量、优化向量),攻击者可构造恶意文件实现远程代码执行(RCE)。
- Eval 注入:在 PySCF 和 TensorCircuit 中,使用
eval() 处理字符串参数(如分子结构或电路参数),导致任意代码执行。
- 实证:研究团队构建了 PoC,通过恶意
.pkl 文件成功在 tequila 中执行了任意代码。
第四类:QASM 注入 (CWE-77 / 新型量子特定漏洞)
- 受影响框架:Qiskit Terra, tket (Quantinuum), TensorCircuit 等。
- 漏洞机制:OpenQASM 是量子汇编语言。框架在解析用户提供的 QASM 字符串时缺乏清洗(Sanitization)。
- 攻击向量:通过构造包含恶意
include 指令或自定义门定义的 QASM 字符串,注入恶意逻辑或导致寄存器溢出。
- 独特性:这是量子计算特有的攻击面,没有经典计算中的直接对应物。
4. 主要结果与统计数据
- 总体发现:在 45 个框架中发现了 547 个安全漏洞(40 个严重 CRITICAL,492 个高危 HIGH,15 个中危 MEDIUM)。
- 生态系统安全评分:
- 80% (36/45) 的框架至少存在一个漏洞。
- 0/100 (Broken):Qiskit Aer, XACC, Cirq, PennyLane, qibo, paddle-quantum, tequila, TensorCircuit 等主流框架均被评为“Broken"。
- 100/100 (Secure):仅 9 个框架(如 ETH Zurich 的 qpp, Oxford 的 QuEST, Fujitsu 的 qulacs, Huawei 的 MindQuantum 等)在所有扫描器下得满分,证明了通过输入验证完全可以避免此类漏洞。
- 32 量子比特边界:形式化验证发现,n=32 是 C++ 溢出和 Python 密度矩阵资源耗尽的共同临界点(2×32=64 位整数边界)。
- 供应链传播:首次记录了从商业框架(IBM Qiskit Aer)到美国国家实验室基础设施(Oak Ridge NL XACC)的漏洞传播链。
5. 意义与贡献
- 首次系统性审计:这是针对开源量子计算模拟器生态系统的首次全面形式化安全审计,覆盖了全球主要科技巨头和顶尖学术机构。
- 形式化验证的应用:利用 Z3 SMT 求解器对漏洞可达性进行了数学证明(13/13 SAT),将安全分析从启发式扫描提升到了形式化验证的高度。
- 揭示供应链风险:揭示了“代码转包(Vendoring)”在科学计算领域的巨大风险,特别是国家实验室直接继承商业软件漏洞的案例。
- 提出新型攻击面:定义了 QASM 注入 这一全新的、量子特有的漏洞类别。
- 可修复性证明:通过展示 9 个满分框架,证明了这些漏洞并非架构上不可避免的,只需在 API 入口增加严格的量子比特数量验证(Input Validation)即可解决。
- 协调披露:研究团队已与 20 个组织启动了 90 天的协调披露流程,并申请了 CVE 编号。
6. 建议
- 通用修复:在所有公共 API 入口点强制执行最大量子比特数限制(例如:态矢量模拟 n≤50,密度矩阵 n≤25)。
- C++ 修复:在访问
BITS 数组前增加边界检查,防止 n≥64 的越界。
- Python 修复:将警告(Warning)升级为错误(Error),禁止无限制的内存分配。
- 供应链治理:建立针对转包代码(Vendored Code)的独立安全扫描机制,并更新反序列化库的使用规范(禁用
pickle 加载不可信数据)。
结论:量子计算软件基础设施目前处于“脆弱”状态,其安全性严重依赖于未经验证的假设。本研究呼吁整个生态系统建立统一的输入验证标准和持续的安全监控机制,以防止潜在的拒绝服务、数据泄露甚至物理硬件控制层面的攻击。
每周获取最佳 quantum physics 论文。
受到斯坦福、剑桥和法国科学院研究人员的信赖。
请查收邮箱确认订阅。
出了点问题,再试一次?
无垃圾邮件,随时退订。