Jiayun's Blog

探索与分享

引言:当你的计算结果在骗你

想象一下这样的场景:你是一位核物理学家,正在运行复杂的流体力学模拟来设计离心机参数。程序运行正常,没有任何报错,系统日志一切干净。但你不知道的是,你的每一次浮点运算结果都被悄悄偏移了几个最低有效位。你的设计参数看起来合理,却会在实际部署时导致设备在数月后出现"莫名其妙"的故障。

这不是科幻小说。这就是 Fast16 做的事情。

2026 年 4 月,安全研究员通过逆向工程还原了一款名为 Fast16 的恶意软件。分析结果表明,这几乎可以确定是美国国家级网络武器,部署时间早于 Stuxnet,同样针对伊朗的核计划。但与 Stuxnet 通过篡改 PLC 指令使离心机物理损毁不同,Fast16 选择了一条更阴险的路径:它不碰任何硬件控制指令,不删除任何文件,不留下任何明显痕迹——它只是悄悄地、持续地篡改科学计算软件的运算结果。

我的观点很明确:Fast16 代表的"数据完整性破坏"(Data Integrity Sabotage)是网络战中最危险、最被低估的攻击范式。它的哲学比 Stuxnet 更先进,它的后代——包括今天的 AI 训练数据投毒——正在重塑整个威胁格局。


一、Fast16 的技术架构分析

1.1 感染与传播机制

根据已公开的逆向分析报告,Fast16 的传播机制与 Stuxnet 有相似之处——都利用了当时的零日漏洞在隔离网络中横向移动,主要通过 USB 存储设备和网络共享进行传播。但两者在"最后一公里"的行为上截然不同。

Stuxnet 在找到目标 PLC(可编程逻辑控制器)后,会注入恶意控制代码。而 Fast16 的目标不是控制器,而是运行在通用计算机上的科学计算软件。它的感染链大致如下:

1
2
3
USB/网络传播 → 系统驻留 → 进程扫描 → 
识别目标计算软件 → Hook 数学库函数 → 
微调浮点运算结果 → 清除自身痕迹

1.2 核心攻击:数学库劫持

Fast16 最精妙的部分在于它的 payload。它不修改目标软件的可执行文件本身(这样文件哈希校验不会报警),而是在运行时通过 API Hooking 技术劫持底层数学库调用

具体来说,Fast16 会拦截以下类型的函数调用:

  • 浮点运算函数sin(), cos(), exp(), log()
  • 线性代数库:矩阵求逆、特征值分解等
  • 随机数生成器:微调种子或输出分布

关键在于篡改的幅度。Fast16 不会把 sin(0.5) 的结果从 0.4794 改成 9.9999——那太明显了。它会把结果改成 0.47910.4798。这种微小的偏差在单次计算中几乎不可察觉,但在需要数百万次迭代的物理模拟中,误差会累积、放大,最终导致完全错误的结论。

1.3 反检测设计

Fast16 的反检测策略同样令人印象深刻:

  • 条件触发:只在检测到特定类型的计算软件运行时才激活篡改行为
  • 渐进式偏差:初始偏差极小,随时间缓慢增大,避免突变被发现
  • 自清除机制:在非目标环境中自动删除自身
  • 无文件驻留:核心 payload 尽量在内存中运行,减少磁盘取证线索

这意味着,即使受害者发现设备出了问题,他们也几乎不可能将原因追溯到软件被篡改。他们会怀疑材料质量、设计缺陷、操作失误——任何原因,除了"我的计算机在对我撒谎"


二、三种攻击范式的对比

要理解 Fast16 为什么重要,我们需要把它放在网络攻击的大分类中来看:

维度数据破坏(Destruction)数据窃取(Theft)数据完整性破坏(Integrity Sabotage)
典型案例Shamoon 擦除硬盘APT 窃取机密文件Fast16 篡改计算结果
受害者感知立即发现可能数月后发现可能永远不会发现
攻击目标瘫痪系统获取情报污染决策基础
取证难度低——损毁痕迹明显中——有日志可查极高——系统"正常运行"
可否认性极高
长期影响恢复后消除情报泄露不可逆错误决策的连锁反应不可预测
检测方法系统监控流量分析/DLP需要独立验证每一个计算结果
防御成本极高,接近不可行

这张表清楚地说明了为什么数据完整性破坏是最可怕的攻击类型。当你的系统看起来一切正常,但每一个输出都微妙地错误时,你连"我被攻击了"这个认知都不会产生。

传统安全思维围绕 CIA 三要素(机密性、完整性、可用性)展开,但工业界在实践中长期偏重机密性和可用性,对完整性的投入严重不足。Fast16 的曝光应该成为一记警钟。


三、历史定位:Stuxnet 之前的网络战

3.1 重写时间线

在 Fast16 被曝光之前,Stuxnet(约 2007-2010 年部署)被普遍认为是第一款国家级网络武器。它的发现震惊了整个安全界,因为它证明网络攻击可以造成物理世界的破坏。

但 Fast16 的出现说明,美国对伊朗的网络行动比我们已知的更早、更系统化。如果说 Stuxnet 是"动能打击"——直接破坏物理设备,那 Fast16 就是"认知战"——让对方基于错误数据做出错误决策。

这两种武器可能是同一个更大行动(大概率是代号 Olympic Games 的行动)的不同组成部分,遵循的逻辑是:

  1. Phase 1(Fast16):悄悄破坏计算完整性,让伊朗的离心机设计和核物理研究持续产出错误结果,延缓核计划进展
  2. Phase 2(Stuxnet):在伊朗仍在使用被污染的设计参数时,直接攻击已部署的离心机,造成物理损毁

如果这个推测成立,那么这是一个极其精密的双层攻击:先污染知识基础,再摧毁物理设施。受害者即使修复了 Stuxnet 的破坏,重建的设备可能仍然基于 Fast16 污染过的设计参数——这才是真正的降维打击。

3.2 为什么 Fast16 到现在才被发现

这恰恰证明了数据完整性攻击的可怕之处。Stuxnet 在 2010 年因代码意外扩散到伊朗核设施外部网络而被发现。而 Fast16 在将近二十年后才通过逆向工程被还原——不是因为它被"抓住"了,而是因为研究人员在分析历史样本时拼凑出了它的存在

这个时间差本身就是对数据完整性攻击检测难度的最好注脚。


四、现代启示:AI 训练数据投毒是 Fast16 的精神续作

4.1 范式继承

Fast16 定义的攻击哲学——“不破坏系统本身,而是悄悄篡改系统依赖的数据和计算”——在今天以更大的规模回归了。AI 训练数据投毒(Data Poisoning)在本质上就是 Fast16 模式的延伸。

特征Fast16AI 数据投毒
攻击面科学计算软件训练数据集
篡改对象浮点运算结果训练样本标签/特征
影响传导错误计算→错误设计→设备故障污染数据→偏差模型→错误决策
检测难度极高极高
可否认性极高极高

当我们今天担心大语言模型被投毒、自动驾驶训练数据被篡改、医学 AI 的诊断数据被污染时,我们面对的本质上是 Fast16 在 AI 时代的变体。

4.2 供应链完整性危机

Fast16 攻击的是数学库——软件供应链的最底层。今天,同样的思路可以扩展到:

  • 开源软件供应链:在关键密码学库中引入微妙的实现缺陷(还记得 Debian OpenSSL 的随机数生成器漏洞吗?虽然那是意外,但如果是故意的呢?)
  • 编译器后门:Ken Thompson 在 1984 年的图灵奖演讲中就提出过这个概念——一个被污染的编译器可以在编译"干净"源代码时注入后门
  • 硬件层篡改:在芯片设计阶段引入隐蔽的逻辑缺陷

Fast16 让我们看到,信任链的每一个环节都可能被攻击,而最危险的攻击是你根本意识不到的那种

4.3 对关键基础设施的警示

今天的关键基础设施——电网、金融系统、航空管制——越来越依赖复杂的计算模型来做决策。如果类似 Fast16 的攻击针对这些系统:

  • 电网负载预测模型被微调,可能导致系统在高峰期崩溃
  • 金融风控模型的参数被篡改,可能让系统性风险逐渐积累直到爆发
  • 气象预报模型的物理常数被偏移,可能导致极端天气预警失灵

这些场景不是危言耸听。Fast16 证明了国家级攻击者在二十年前就有能力做到这一点。今天的技术只会让这类攻击更容易实施。


五、防御思考:我们能做什么?

坦率地说,防御数据完整性攻击是一个极其困难的问题。但有几个方向值得探索:

5.1 计算结果的独立验证

最直接的防御思路是"不信任单一计算环境"。关键计算应该在多个独立的、异构的系统上重复执行,交叉验证结果。这在某些领域已经是标准做法(例如航天领域的三模冗余),但在大多数科学研究和工业设计中还远未普及。

5.2 运行时完整性监控

传统的文件完整性检查(如 Tripwire)不够用,因为 Fast16 不修改文件。我们需要的是运行时行为监控——监测数学库函数的调用模式和返回值分布是否异常。这类似于异常检测的思路,但技术实现上非常有挑战性。

5.3 形式化验证的扩展应用

对于关键数学库,可以考虑使用形式化验证方法来证明实现的正确性,并在运行时进行校验。虽然成本高昂,但对于核设施、军事系统等高价值目标,这种投入是必要的。

5.4 零信任架构的深化

“零信任"不应该只是网络层面的概念。我们需要计算层面的零信任——不信任任何单一计算过程的结果,对关键输出实施多源验证。


六、结语:我们真正应该恐惧的

网络安全社区长期以来被"大爆炸"式攻击的叙事所吸引——病毒爆发、数据泄露、系统瘫痪。这些攻击够刺激,够有新闻价值。但 Fast16 提醒我们,最危险的攻击可能是你永远看不到的那种

当一个国家的科学研究持续产出微妙错误的结果,当关键基础设施的设计参数始终存在不可解释的偏差,当决策者依赖的模型在不知不觉中被校准向错误的方向——这种缓慢的、隐蔽的、系统性的知识污染,其破坏力远超任何一次数据泄露或系统瘫痪。

Fast16 在技术上也许已经过时,但它定义的攻击范式正在变得越来越相关。在 AI 驱动一切的时代,数据的完整性就是决策的完整性,就是现实认知的完整性。

保护数据完整性,不仅仅是一个技术问题——它是一个文明层面的挑战。


参考资料

  1. Bruce Schneier, “Fast16: Data Integrity Sabotage as a Cyber Weapon Class,” Schneier on Security, April 30, 2026. https://www.schneier.com/blog/archives/2026/04/fast16-data-integrity-sabotage.html

  2. Kim Zetter, Countdown to Zero Day: Stuxnet and the Launch of the World’s First Digital Weapon, Crown Publishing, 2014. 本书详细记录了 Stuxnet 的发现和分析过程,是理解国家级网络武器的必读文献。

  3. Ken Thompson, “Reflections on Trusting Trust,” Communications of the ACM, Vol. 27, No. 8, August 1984. https://www.cs.cmu.edu/~rdriley/487/papers/Thompson_1984_ReflsectionsonTrustingTrust.pdf — Thompson 在 1984 年就预见了供应链完整性攻击的本质问题。

  4. MITRE ATT&CK Framework, “Data Manipulation: Stored Data Manipulation (T1565.001),” https://attack.mitre.org/techniques/T1565/001/ — MITRE 对数据操纵攻击技术的分类参考。