改写网络破坏史:比震网早五年的高精度软件破坏框架揭秘


从影子经纪人泄露中走出的二十年谜团
fast16 的名字首次出现在公众视野是在 2017 年 4 月。当时,一个名为影子经纪人的黑客组织泄露了大量美国国家安全局的网络武器和工具。在一份名为领土争端的组件列表中,有一行特别引人注目的记录。对于名为 fast16 的驱动程序,NSA 给操作员的指示是 “这里没什么好看的,继续前进”。

这条独特的指令暗示 fast16 是一个极其敏感的项目,可能属于美国情报机构或其盟友。然而,影子经纪人的泄露中并没有包含 fast16 的实际代码,这使得它在接下来的几年里一直是网络安全界的一个未解之谜。
直到 2019 年,SentinelOne 的研究员在病毒总数的恶意软件档案库中发现了一个看似普通的文件。
这个名为 svcmgmt.exe 的可执行文件上传于近十年前,几乎没有被任何杀毒软件检测到。通过深入分析,研究人员发现这个文件内部包含了一个内核驱动程序的引用,其路径指向
C:\buildy\driver\fd\i386\fast16.pdb。
这个发现将 2017 年的泄露文件与一个 2005 年编译的恶意软件样本联系了起来。经过七年的持续研究,研究团队终于在 2026 年完全破解了 fast16 的工作原理和真实目的。
令人震惊的是,此前几乎所有分析过该样本的研究人员都误以为它只是一个普通的内核级 rootkit 隐藏工具,完全忽略了其内部隐藏的高精度破坏能力。
甚至五款顶级 AI 工具也一致错误地将其判定为 rootkit,可以说是预判了11年后的AI判定。
fast16 的核心技术架构解析
fast16 框架采用高度模块化的设计思想,由三个核心组件组成,分别是 svcmgmt.exe 载体模块、fast16.sys 内核驱动程序和 svcmgmt.dll 用户态报告模块。这种设计使得攻击者可以在不改变外部载体的情况下,灵活调整内部载荷以适应不同的目标环境。
图 2:fast16 载体载荷组成图,包含加密 Lua 字节码、内核驱动植入程序和连接通知动态链接库
svcmgmt.exe:基于 Lua 虚拟机的通用载体
svcmgmt.exe 是一个 32 位 Windows 控制台应用程序,编译于 2005 年 8 月 30 日,文件大小为 315,392 字节。它的核心创新在于集成了一个完整的 Lua 5.0 虚拟机,这是目前已知最早在 Windows 恶意软件中使用嵌入式 Lua 引擎的案例,比著名的火焰病毒使用同类技术还要早三年。
Lua 是一种轻量级脚本语言,非常适合扩展 C/C++ 程序的功能。通过使用 Lua 虚拟机,fast16 的开发者可以在已经部署的系统上添加新功能,而无需重新编译整个植入程序。这种架构后来被火焰、动物农场等多个高级持续性威胁组织广泛采用。
开发者还对 Lua 环境进行了深度扩展,添加了用于原生 Unicode 处理的 wstring 模块、通过函数 b 暴露的内置对称加密算法,以及直接绑定 Windows NT 文件系统、注册表、服务控制和网络应用程序编程接口的多个模块。
svcmgmt.exe 可以根据不同的命令行参数切换运行模式:
-
无参数:作为 Windows 服务运行 -
-p 参数:设置安装标志为 1 并作为服务运行,用于传播和安装 -
-i 参数:设置安装标志为 1 并执行 Lua 代码 -
-r 参数:执行 Lua 代码而不设置安装标志 -
其他参数:作为文件名处理,生成两个子进程

蠕虫子模块与早期环境感知技术
fast16 的载体模块设计得像软件形式的集束弹药,可以携带多个可自我传播的载荷,内部称为蠕虫子模块。在分析的样本中,只有一个蠕虫子模块被填充,它利用 Windows 服务控制管理器和文件共享功能进行传播。

fast16 载体内部存储结构图,采用高度紧凑的二进制格式存储多个载荷
传播过程包括以下步骤:
-
准备配置信息,定义载荷路径、服务详情和目标 IP 范围 -
提升权限并将载体可执行文件安装为 SvcMgmt 服务 -
根据配置决定是否部署 fast16.sys 内核驱动程序 -
释放蠕虫子模块并开始网络传播 -
无限重复上述过程,直到达到失败阈值或外部终止条件
在安装之前,fast16 会执行一个预安装终止开关检查。它会扫描系统注册表,查找常见安全产品的安装痕迹。
如果发现任何列出的安全软件,安装过程将立即中止。这个检查列表包括赛门铁克、趋势科技、卡巴斯基、迈克菲等当时主流的 18 家安全厂商产品。这种环境感知能力在 2005 年的恶意软件中极为罕见,充分体现了其国家级工具的定位。

svcmgmt.dll:最小化隐蔽报告通道
用户态组件 svcmgmt.dll 提供了一个非常有限的报告功能。它通过 Windows 的 AddConnectNotify 应用程序编程接口注册,每当系统建立新的远程访问服务连接时就会被调用。
当被触发时,这个动态链接库会解码一个混淆的字符串,获得命名管道 \.\pipe\p577 的地址。然后它尝试连接到这个本地管道,写入远程和本地连接名称后立即关闭。这种设计最大限度地减少了网络流量,降低了被检测到的风险。
fast16.sys:内核级精确破坏引擎
fast16.sys 是整个框架中最具威力的组件。这是一个 32 位 Windows 内核驱动程序,编译于 2005 年 7 月 19 日,文件大小为 44,580 字节。它被配置为引导启动类型,文件系统驱动类型,属于 SCSI 类组。
驱动程序在系统引导早期就会加载,与磁盘设备驱动程序同时启动。它会将自己插入到每个文件系统设备之上,包括 NTFS、FAT 和 MRxSMB。这样一来,所有的文件输入输出请求包都会经过 fast16.sys 的处理。
在初始化过程中,驱动程序会执行以下操作:
-
通过设置会话管理器下的预取参数键中的 EnablePrefetcher 值为 0,禁用 Windows 预取器 -
使用简单的异或字符串加密和扫描 ntoskrnl.exe 的方式动态解析内核应用程序编程接口 -
创建名为 \Device\fast16 和??\fast16 的设备对象,设备类型值为 0xA57C,这是一个独特的法医标记
值得注意的是,尽管驱动程序在引导时就加载了,但内核级代码注入引擎只有在系统打开 explorer.exe 之后才会激活。这种设计将昂贵的监控和修补操作推迟到桌面环境可用之后,避免了对核心引导性能的不必要影响。
基于编译器特征的精确目标选择
fast16.sys 的目标选择机制非常独特。一个文件只有同时满足两个条件才会被视为有效目标:
-
文件名以.EXE 结尾 -
在最后一个 PE 节头之后,有一个以 Intel 开头的可打印 ASCII 字符串
这种选择逻辑专门针对使用英特尔 C/C++ 编译器编译的可执行文件。英特尔编译器通常会在 PE 节头之后放置编译器元数据。这表明攻击者非常清楚他们的目标软件是使用这个特定工具链构建的。
对于符合条件的文件,驱动程序会在内存中修改其 PE 头。它会注入两个额外的节,分别名为.xdata 和.pdata,并用原始代码节的字节填充它们。这样做的目的是在允许广泛修补的同时提高系统稳定性。
规则驱动的浮点运算破坏
fast16.sys 的修补引擎是一个极简主义、性能优化的有状态扫描和修改工具。它配置了 101 条规则,每条规则都包含模式匹配和替换逻辑。为了保持高性能,引擎采用了多项优化设计:
-
使用一个 256 字节的调度数组,只标记少量唯一模式的起始字节值 -
支持模式内通配符,允许单条规则匹配同一代码的多个编译器优化变体 -
支持状态标志,实现多阶段修改序列
大多数修补模式对应于用于劫持或影响执行流的标准 x86 代码。但有一个注入块与众不同。它是一个更大、更复杂的浮点单元指令序列,专门用于高精度算术和缩放内部数组中的值。这段代码是一个独立的数学计算函数,与代码流劫持或任何其他典型的恶意代码注入无关。

fast16.sys 注入的 FPU 计算代码截图,包含一系列浮点运算指令
研究人员将这些修补规则转换为十六进制的 YARA 签名,并在大量同时期的软件语料库上运行。结果显示命中率非常低,只有不到十个文件匹配两个或更多模式。但这些匹配项有一个明确的共同主题,它们都是土木工程、物理学和物理过程模拟等专业领域的高精度计算工具。
fast16.sys 中的浮点单元补丁被设计为以可控方式破坏这些例程,产生替代输出。这将 fast16 从通用间谍工具的范畴提升到了战略破坏的类别。通过在物理世界计算中引入微小但系统性的错误,这个框架可以破坏或延缓科学研究计划,随着时间的推移降低工程系统的性能,甚至导致灾难性的损坏。
更阴险的是,fast16 的自我传播机制会确保同一网络内的所有计算机都被感染。这样一来,即使研究人员在多台计算机上重复计算进行验证,也会得到相同的错误结果,从而永远不会怀疑是软件本身出了问题。
三大目标软件深度解析:从工程神器到网络战靶心
那么,这款精心设计的破坏工具究竟瞄准了哪些软件?
研究人员通过 YARA 规则匹配,锁定了三个最具战略价值的目标。这三款软件分别在各自领域占据着举足轻重的地位,也因此成为了网络战中的高价值靶心。
LS-DYNA:从核武器实验室走向全球的工程仿真之王
诞生于冷战的军工血统
LS-DYNA 的历史可以追溯到 1976 年,由美国劳伦斯利弗莫尔国家实验室的计算力学专家约翰・霍尔奎斯特博士主导开发。它的前身名为 DYNA3D,最初的设计目的就是为北约组织的武器研发提供分析工具,专门模拟核武器爆炸、弹道侵彻和高速冲击等极端物理现象。
1988 年,霍尔奎斯特博士创立了 LSTC 公司,将 DYNA 程序商业化并正式更名为 LS-DYNA。这标志着它从军事科研专用工具转向了民用工程领域。2019 年,仿真软件巨头 Ansys 收购了 LSTC 公司,将 LS-DYNA 整合进了自己的多物理场仿真产品线。
无可替代的技术优势
LS-DYNA 是全球公认的显式动力学有限元分析鼻祖,其核心技术优势在于:
-
显式时间积分算法。采用中心差分法直接求解运动方程,无需迭代和形成全局刚度矩阵,特别适合处理毫秒至微秒级的高速瞬态事件 -
庞大的材料模型库。内置超过 300 种材料本构模型,涵盖金属、复合材料、炸药、生物组织等几乎所有工程材料 -
丰富的接触算法。提供 50 多种接触类型,可精确模拟部件间的碰撞、摩擦、分离和侵蚀过程 -
多物理场耦合能力。支持结构、热、流体、电磁、声学等多学科耦合分析,遵循一个代码,多物理场的设计理念 -
卓越的并行性能。同时支持共享内存和分布式内存并行计算,在千核规模的超算集群上仍能保持 90% 以上的并行效率
无处不在的应用场景
经过近 50 年的发展,LS-DYNA 已经成为了多个行业的工业标准软件:
-
汽车工业。整车碰撞安全、行人保护、电池安全测试等领域的事实标准,其仿真结果与实际碰撞试验的误差可控制在 5% 以内 -
航空航天。飞机鸟撞、发动机叶片冲击、航天器着陆缓冲等关键环节的仿真分析 -
国防军工。武器系统设计、爆炸效应模拟、装甲防护性能评估等 -
金属成型。冲压、锻造、挤压等工艺的数值模拟,帮助优化模具设计和工艺参数 -
土木工程。建筑抗震、桥梁抗撞、爆炸防护等结构安全分析
为什么成为 fast16 的首要目标
LS-DYNA 之所以成为 fast16 最受关注的攻击目标,主要有以下几个原因:
-
核武器研发的关键工具。LS-DYNA 可以精确模拟炸药爆轰、聚能装药成型、弹丸侵彻等与核武器设计直接相关的物理过程。国际原子能机构的报告显示,伊朗科学家曾使用 LS-DYNA 研究奥克托尔炸药的性能,而奥克托尔正是伊朗 AMAD 核计划中大量使用的主炸药。 -
极高的计算精度要求。LS-DYNA 的计算结果直接关系到工程结构的安全性和武器系统的性能。即使是微小的计算误差,也可能导致灾难性的后果。fast16 正是利用了这一点,通过在浮点运算中引入系统性偏差,让研究人员得到看似合理但实际上错误的结果。 -
广泛的国际使用。LS-DYNA 在全球范围内被广泛使用,包括许多被美国视为潜在对手的国家。这使得针对它的网络攻击具有很高的战略价值。 -
版本匹配度高。fast16 的补丁规则与 2003 年 10 月 24 日编译的 LS-DYNA 970 版本高度匹配。这个版本在 2000 年代中期被广泛使用,包括伊朗的核研究机构。
LS-DYNA 970 Software Suite
PKPM:中国建筑行业的数字基石
PKPM 是中国建筑科学研究院于 1980 年代开发的工程设计软件系列,是中国建筑行业最具影响力的软件产品之一。
经过四十多年的发展,PKPM 已经从最初的简单结构计算程序,发展成为了一个覆盖建筑全生命周期的集成化 BIM 系统。它在中国建筑设计市场的占有率超过 90%,几乎所有的中国建筑设计院都在使用 PKPM 进行结构设计。
PKPM 之所以能够在中国市场占据绝对主导地位,关键在于其深度的本土化适配:
-
完全基于中国规范。PKPM 的计算内核与中国现行的建筑规范紧密结合,包括《混凝土结构设计规范》《建筑抗震设计规范》等。它不仅是一个设计工具,更是国家建筑规范的数字载体和计算解释。 -
全流程覆盖。从初步设计到施工图深化,再到施工模拟和进度控制,PKPM 几乎囊括了建筑项目从立项到竣工的所有关键环节。 -
适应中国国情。对中国复杂的地质条件、气候环境和施工习惯有深刻理解,提供了大量针对性的功能和参数设置。 -
完善的生态系统。拥有庞大的用户社区、丰富的培训资源和专业的技术支持团队,形成了一个完整的产业生态。
强大的功能模块体系
PKPM 是一个由多个专业模块组成的软件系列
PKPM Concrete Code Shear Design Module
af4461a149bfd2ba566f2abefe7dcde4
其中最核心的是结构分析与设计模块:
-
SATWE。三维空间有限元分析与设计引擎,是 PKPM 的核心计算模块。它可以进行静力分析、动力时程分析、地震作用下的响应谱分析,并自动判断设计是否满足规范要求。 -
PMSAP。复杂多高层建筑结构分析程序,专门用于处理体型复杂、功能多样的高层建筑结构。 -
PK。平面框架、排架、连续梁结构分析与设计程序。 -
PMCAD。建筑结构平面计算机辅助设计程序,是整个 PKPM 系统的前处理平台。
PKPM Building Structure CAD Modules
49a8934ccd34e2aaae6ea1e6a6313ffe
PKPM SATWE Structural Analysis Engine
2717b58246237b35d44ef2e49712d3a2
daea40562458fc7ae1adb812137d3d05
2740a703859cbd8b43425d4a2cacb5ec
ebff5b7d4c5becb8715009df596c5a91
cb66a4d52a30bfcd980fe50e7e3f73f0
Additional PKPM CAD files
075b4aa105e728f2b659723e3f36c72c
cf859f164870d113608a843e4a9600ab
除了结构设计模块外,PKPM 还包括建筑、给排水、暖通空调、电气、概预算、施工管理等多个专业的软件模块,形成了一个完整的建筑工程信息化解决方案。
成为 fast16 目标的战略意义
fast16 的补丁规则与多个版本的 PKPM 软件相匹配,时间跨度从 2005 年到 2014 年。这表明 PKPM 可能是 fast16 的另一个重要攻击目标,其战略意义在于:
-
国家基础设施安全。PKPM 被广泛应用于中国的各类基础设施建设,包括高层建筑、桥梁、大坝、核电站等。如果 PKPM 的计算结果被恶意篡改,可能会导致严重的结构安全隐患,威胁国家基础设施的安全。 -
经济影响巨大。中国每年有数十万个建筑项目使用 PKPM 进行设计。任何形式的软件破坏都可能造成巨大的经济损失和社会影响。 -
技术封锁的替代目标。在某些高端工程软件领域,中国仍然依赖国外产品。而 PKPM 作为国产软件的代表,已经成为了中国建筑行业不可或缺的工具。针对 PKPM 的网络攻击,可以在不引起国际社会广泛关注的情况下,对中国的经济和社会发展造成实质性的损害。 -
长期潜伏的可能性。建筑结构的设计寿命通常长达几十年。fast16 的破坏效果可能在软件被感染多年后才会显现,这使得攻击者可以进行长期的战略布局。
MOHID:海洋与环境科学的数字实验室
来自葡萄牙的开源水建模系统
MOHID 是葡萄牙里斯本高等技术学院海洋与环境技术研究中心开发的开源三维水建模系统。它的开发始于 1980 年代,最初是一个二维海岸水动力模型。经过四十多年的持续发展,MOHID 已经成为了一个功能强大的综合水环境模拟平台,被全球超过 30 个国家的科研机构和政府部门使用。
MOHID 采用面向对象的编程思想,具有高度的模块化和可扩展性。它由三个核心模块组成:
-
MOHID Water。三维水动力与水质模拟模块,是整个系统的核心 -
MOHID Land。流域水文模拟模块,用于模拟地表径流和河流网络 -
MOHID Soil。地下水流动模拟模块,用于模拟饱和和非饱和带的地下水运动
MOHID Software Suite
独特的技术特点
MOHID 在水环境模拟领域具有以下独特的技术优势:
-
多尺度集成建模。支持从流域尺度到局部水域的嵌套模拟,可以同时考虑上游流域的输入和下游海洋的响应。 -
灵活的空间离散化。采用有限体积法进行空间离散,支持笛卡尔坐标、sigma 坐标和拉格朗日坐标等多种垂直坐标系统,能够适应复杂的地形和水文条件。 -
模块化的过程模拟。将水动力、水质、泥沙输运、生态过程等分解为独立的模块,用户可以根据需要选择和组合不同的过程。 -
开源与社区驱动。MOHID 是完全开源的软件,任何人都可以免费获取和修改源代码。这使得它在发展中国家和科研机构中得到了广泛的应用。
MOHID 主要应用于以下几个领域:
-
海洋与海岸带管理。模拟潮汐、潮流、波浪等海洋动力过程,为海岸带开发、港口建设和海洋环境保护提供科学依据。 -
河口与海湾研究。研究河口地区的盐水入侵、泥沙输运和污染物扩散规律,为河口生态系统的保护和管理提供支持。 -
水资源管理。模拟水库、湖泊和河流的水流和水质变化,为水资源的合理开发和利用提供决策支持。 -
环境应急响应。模拟溢油、化学品泄漏等突发环境事件的扩散过程,为应急响应提供实时的预测和评估。 -
气候变化影响评估。模拟海平面上升、极端天气事件等气候变化因素对海洋和海岸带生态系统的影响。
fast16 的补丁规则与 2002 年 10 月 18 日编译的 MOHID 版本相匹配。虽然 MOHID 的战略价值不如 LS-DYNA 和 PKPM 那么明显,但针对它的网络攻击仍然可能造成严重的后果:
-
环境灾害的人为制造。如果 MOHID 的模拟结果被恶意篡改,可能会导致错误的环境决策。例如,在溢油应急响应中,错误的扩散预测可能会导致应急措施的延误或不当,从而加剧环境灾害的影响。 -
沿海基础设施的安全威胁。MOHID 被广泛用于港口、防波堤、海堤等沿海基础设施的设计和安全评估。如果计算结果被篡改,可能会导致这些设施在极端天气条件下发生破坏。 -
水资源争端的工具。在跨国河流和海洋边界地区,MOHID 的模拟结果可能会被用作水资源分配和环境争端的科学依据。恶意篡改模拟结果可能会加剧国家间的矛盾和冲突。 -
生态破坏的隐蔽手段。通过篡改 MOHID 的水质模拟结果,可以掩盖工业污染对海洋生态系统的影响,或者误导生态修复工程的实施,从而造成长期的生态破坏。
伊朗核计划假说与开发者身份线索
综合所有证据,研究人员提出了一个最具说服力的假说。fast16 可能是美国或其盟友在 2000 年代中期开发的,专门用于破坏伊朗核计划的网络武器。
这个假说得到了多方面证据的支持:
-
fast16 的开发时间与伊朗 AMAD 核计划的高峰期重合 -
LS-DYNA 软件被伊朗科学家用于与核武器相关的研究 -
fast16 出现在 NSA 的领土争端工具列表中,并被标记为友好程序 -
其复杂程度和开发成本表明它是一个国家级项目
TLP:Black 的研究员科斯坦丁・拉尤表示,他对 fast16 是针对伊朗 AMAD 核计划设计的网络打击包这一理论持有中高置信度。
研究人员还发现了一个重要的开发者身份线索。在 fast16 的二进制文件中,存在形如 @(#) par.h $Revision: 1.3 $的字符串。
这种 @(#) 前缀是 1970 年代和 1980 年代早期 Unix 源代码控制系统或修订控制系统的特征。在 2000 年代中期的 Windows 内核驱动程序中发现这些痕迹非常罕见,强烈表明该框架的作者不是典型的仅使用 Windows 的开发者,而是来自与政府或军事级工作相关的高安全 Unix 环境。
此外,fast16 的代码中包含版本控制系统的证据,表明分析的样本不是该工具的第一个或唯一版本。研究人员指出,朝鲜的核武器发展计划在同一时期也经历了多次无法解释的失败,fast16 可能也被用于针对其他目标。
fast16 的创新之处在于:
-
首次在 Windows 恶意软件中使用嵌入式 Lua 虚拟机 -
开创了基于编译器特征的精确目标选择方法 -
实现了内核级的内存代码修补技术 -
设计了专门用于破坏高精度计算结果的攻击方式
令人震惊的是,svcmgmt.exe 在病毒总数上上传了近十年,几乎没有被任何杀毒软件检测到。
只有一个引擎将其归类为一般恶意软件,而且置信度有限。这表明一些最重要的进攻性网络能力可能仍然隐藏在被标记为 “旧但有趣” 的样本集合中,缺乏足够的上下文来凸显它们的真正意义。
对于普通公众来说,这一发现可能不会产生直接影响。但对于那些可能成为国家级网络攻击目标的高价值组织来说,fast16 发出了一个明确的警告,你可能无法信任你的计算机,更糟糕的是,你可能永远无法信任它们。
附录:IOC
fast16.sys
0ff6abe0252d4f37a196a1231fae5f26
connotify.dll
410eddfc19de44249897986ecc8ac449
svcmgmt.exe

夜雨聆风