SentinelOne 研究人员 Vitaly Kamluk 和 Juan Andrés Guerrero-Saade 在 Black Hat Asia 披露了一个老样本:fast16。它的核心二进制时间戳是 2005 年 8 月 30 日,比后来被大众记住的 Stuxnet 破坏行动更早。
反常点不在“又发现一个古董恶意软件”。fast16 最麻烦的地方,是它不急着让设备停摆,也不制造爆炸现场。它盯住的是工程仿真软件,把浮点计算相关结果悄悄改掉。
如果 Stuxnet 让人看见网络武器可以打坏机器,fast16 提醒的是另一件事:网络武器也可以让机器正常运行,让专家相信错误结果。
fast16 披露了什么
关键信息可以压到一张表里:
| 问题 | 已披露信息 | 直接影响 |
|---|---|---|
| 时间线 | 核心二进制时间戳为 2005 年 8 月 30 日 | 工业网络战的成熟时间可能比公众认知更早 |
| 载体 | svcmgmt.exe,可安装服务、直接运行、通过网络共享传播 | 适合当年内网环境里的低噪声横向移动 |
| 技术结构 | 内嵌 Lua 5.0 虚拟机、加密字节码、fast16.sys 内核驱动 | 更像可编排行动框架,不像普通蠕虫 |
| 核心动作 | 拦截磁盘读取,篡改浮点计算例程 | 原程序不变,运行正常,输出被污染 |
| 疑似目标 | LS-DYNA 970、PKPM、MOHID | 指向工程、结构、水文和环境建模场景 |
| 归属线索 | ShadowBrokers 泄露的 Equation Group/NSA 相关 drv_list.txt 出现 fast16,并标注 “NOTHING TO SEE HERE - CARRY ON” | 有关联线索,但不能直接钉死归属 |
| 检测结果 | 样本 2016 年已上传 VirusTotal,近十年几乎未被杀软识别 | 传统检测对老式高端定制武器存在盲区 |
技术链路并不花哨,但很阴。
外层 svcmgmt.exe 像服务管理工具。参数不同,行为不同:传播、安装、运行。里面藏着 Lua 字节码、一个记录拨号/VPN 连接信息的 DLL,以及真正动手的 fast16.sys。
fast16.sys 是内核驱动。它加载后卡在存储层上方,拦截文件读取。研究人员称,它会寻找由 Intel C++ compiler 编译的软件特征,再用 101 条模式匹配规则改写浮点计算相关例程。
要害在这里:磁盘上的原文件没变。软件能打开,流程能跑,界面也正常。
只是结果可能错了。
它伤的是工程软件的信任链
SentinelOne 根据规则匹配指出,疑似目标包括 LS-DYNA 970、PKPM、MOHID。
LS-DYNA 常用于爆炸、结构失效、高速冲击等建模。公开资料显示,它与核武器相关爆炸建模研究存在交集。
PKPM 是中国长期使用的结构工程软件,也出现在核设施抗震结构分析的公开论文中。
MOHID 则用于海岸、水体、沉积物、坝体等水文和环境模拟。
这里必须收住。现有材料不能证明 fast16 已确认攻击伊朗或中国,也不能证明它造成过物理事故。能说的是:这些目标软件和核、工程、基础设施相关研究存在公开交集,实际部署对象还没有完全确认。
但这已经足够麻烦。
工程仿真的权威,不来自界面,也不来自某一次输出。它来自一条信任链:模型可信、软件可信、计算环境可信、专家复核可信。
fast16 攻击的正是这条链里最难被肉眼发现的一环。
《左传》里那句“皮之不存,毛将焉附”放到这里很贴切。皮就是计算可信度。皮没了,后面的工程判断、设计迭代、审查结论都会悬空。
对网络安全和工控安全团队,这事不能只当样本分析看。更现实的动作是三件:
- 盘点仿真工作站、工程软件服务器和旧版 Windows 环境,尤其是长期离线、很少重装、没人敢动的机器。
- 检查内核驱动、服务项、网络共享传播痕迹,而不是只盯办公终端和边界设备。
- 对关键仿真结果做独立复算.换干净环境,换工具链,必要时换不同实现路径。
这类校验听起来笨,也费钱。可关键基础设施里,笨办法常常是最后一道门闩。
对关注科技地缘政治的人,fast16 的意义也不是“谁又黑了谁”这么简单。它说明高端网络行动的目标可以不是摧毁资产,而是改写对方的工程认知。
这比短期破坏更难归因,也更难结算后果。
真正该观察的是检测体系怎么补课
我不太买账把讨论全部压到归属上。
ShadowBrokers 泄露材料与 Equation Group 存在线索关联,drv_list.txt 里那句 “NOTHING TO SEE HERE - CARRY ON” 也很扎眼。但情报归属从来不是外部研究能轻易钉死的事。证据够到哪里,判断就停在哪里。
更值得追的是检测失灵。
样本 2016 年已经上传 VirusTotal,却近十年几乎没被杀软识别。这不是某一家厂商丢脸。它暴露的是一类老问题:安全产品擅长发现已知恶意文件、异常行为和高噪声攻击,却不擅长处理低频、定制、只在特定工程软件上触发的武器。
fast16 的设计很克制。老式服务、网络共享、内核驱动、软件指纹、特定计算例程。它不追求到处开花,只求在对的机器上动一下刀。
问题也在这里。一个设施里的工作站如果都被同一类驱动污染,内部复算只会得到同样错误的答案。审查流程看似完整,实际只是把错误多盖了几个章。
接下来要看四个变量:
| 变量 | 该看什么 | 为什么重要 |
|---|---|---|
| 安全厂商响应 | 是否补签名、补 YARA/行为规则、补旧样本回溯 | 能看出检测体系是否真能吸收这类教训 |
| 工控团队排查 | 是否把仿真环境纳入威胁狩猎范围 | 很多工程工作站长期不在常规 EDR 视野里 |
| 工程验证流程 | 是否建立独立环境复算和工具链交叉验证 | 这是对抗“结果污染”的核心手段 |
| 归属证据 | 是否有更多样本、日志或泄露材料互相印证 | 没有新增证据,就不该把线索写成定案 |
历史上,铁路、电力、报业、电视、互联网平台,每一种基础设施成熟后,都会出现一件类似的事:控制权从看得见的设备,转向看不见的规则和接口。
工业软件也是这样。早期大家怕机器被打坏。现在更该怕的是,机器没坏,规则被改了,数字还很像真的。
fast16 的价值不在年代感。它把一个不舒服的问题摆回桌面:关键系统的安全,不能只问“有没有宕机”,还要问“我们凭什么相信这个结果”。
