暴风一号病毒代码
凌晨三点十七分,暴风我盯着屏幕上那段十六进制代码,号病后背发凉。毒代它看起来像一串被揉碎的暴风星图——E8 2F 4A 91 7C 3D B6 0F——但这不是天文数据。这是号病我在某台被攻破的工控设备内存里挖出的残片。暴风一号,毒代安全圈里没人敢直呼其名的暴风东西,此刻就摊在我眼前。号病
它的毒代核心逻辑简单得吓人:先假装自己是系统更新包,然后等三天。暴风三天后,号病它开始往PLC的毒代寄存器里写随机数。不是暴风勒索,不是号病窃密,就是毒代让机械臂突然抽搐、让冷却泵莫名反转。去年某省水处理厂的事故,官方通报说“设备老化”,其实调取日志就能看到——凌晨两点,某个PID控制参数被改成了0xDEADBEEF。
我见过太多花哨的恶意代码。有的用机器学习躲避沙箱,有的把自己拆成几千个碎片藏在SSD的保留区。暴风一号不一样。它像一把生锈的扳手,粗暴地拧松工业系统里最基础的逻辑。你问它怎么绕过防火墙?它根本不绕。它通过某款国产组态软件的旧版驱动进去,那个驱动连基本的内存校验都没有——漏洞公开在CVE上三年了,没人修补。
最讽刺的是它的传播方式。感染暴风一号的机器,会主动向同网段的其他设备发送“固件升级”广播包。包里附带的数字签名是伪造的,但用的证书链居然来自一家已经倒闭的台湾芯片厂。那家厂子2019年就注销了,可它的根证书还躺在无数工控设备的信任列表里。你说这是疏忽?我倒觉得像是有人故意留着这道后门,等着哪天用上。
代码里藏着一句注释,用繁体中文写着:“台风来了,窗户要关好。”看起来像开发者的随手涂鸦。可如果你把十六进制转成ASCII再倒序读,会发现另一句话:“但门锁是坏的。”这让我想起某个安全研究员说过的话:工业系统的脆弱性,从来不在技术层面,而在那些“反正没人会攻击我们”的想当然里。
暴风一号目前没有已知的传播源头。有人怀疑是某个不满的离职工程师,有人说是境外组织的预演。我倾向于后者——因为它对目标系统的熟悉程度,不像外部渗透能达到的。它知道每台设备的默认口令,知道哪条总线会在凌晨四点出现数据拥堵。这种精准度,需要至少六个月的实地观察。
现在,我电脑里的样本已经被沙箱隔离了。但每次看到工厂烟囱冒烟,我都会想起那串代码。它不声不响,藏在最普通的工业流程里,等着某个倒霉蛋按下“确认更新”。你问我怕不怕?怕。但更让我不安的是,我们连它到底感染了多少设备都不知道——因为大多数工控系统,根本没有日志审计这回事。









