震网病毒
震网病毒(Stuxnet)是一种针对工业控制系统的计算机蠕虫,2010 年被安全厂商发现并公开披露,常被称为首个专门攻击工业控制系统、并对现实工业设施造成物理破坏的恶意程序。它利用 Windows 平台与西门子监控组态软件的多个漏洞传播,可篡改可编程逻辑控制器中的指令,同时向监控界面回传正常数据以掩盖异常,因而被视为工业控制安全领域的标志性事件,推动了各国对工控网络安全的重视。
定义
震网病毒是一种以工业控制系统为攻击对象的蠕虫程序,主要针对西门子的监控与数据采集(SCADA)软件及其可编程逻辑控制器(PLC),通过篡改控制器中的程序逻辑影响受控设备的运行[1]。与传统以窃取数据或牟利为目的的病毒不同,它的目标是让物理设备出现异常,并尽量让操作人员察觉不到变化[2]。国内安全研究者将其归类为工控网络恶意软件的典型样本,具有破坏性强、隐蔽性强、针对性强等特点[3]。
它并不像普通病毒那样在所有计算机上发作:程序会先检查目标主机是否安装了特定厂家的组态软件、控制器型号与配置是否符合预设条件,不符合就停留在系统中保持静默[4]。
原理
震网病毒的工作过程大致分为入侵、传播、潜伏与载荷执行几个阶段。它运行于 Windows 2000 至 Windows 7 等多个版本的系统中,发现系统不属于 Windows NT 系列时立即退出[1]。为躲避查杀,其核心模块不释放为磁盘文件,而是直接加载到内存中,并通过修改系统函数实现隐蔽运行[5]。
传播上,它同时使用本地与网络两条路径。U 盘是最主要的入口,程序利用快捷方式文件解析漏洞,用户只要在资源管理器中查看被感染的移动存储设备就可能触发[6];进入内网后,它再利用 Windows 打印后台处理服务漏洞和远程过程调用漏洞在联网主机之间横向扩散[1]。为绕过驱动签名检查,它使用了从 Realtek 与 JMicron 两家芯片厂商窃取的数字证书[4]。
抵达装有西门子组态软件的计算机后,程序利用该软件的硬编码数据库口令缺陷与工程文件加载缺陷发起攻击,替换与控制器通信的动态链接库,从而劫持对控制器的读写操作[1]。在控制器层面,它修改控制离心机等设备的输出指令,使设备承受异常压力或在不正常转速区间运行,进而造成机械损伤;同时向监控系统回送伪造的正常状态数据,使操作员看到的运行曲线没有异常[2]。
有研究指出,它还存在通过工程文件与数据库在多名工程师之间传播的途径,工程师打开被篡改的项目文件时恶意代码即被执行,这条路径不依赖网络连接[6]。
发展历程
2010 年 6 月,该蠕虫在白俄罗斯被首次发现,随后在多个国家出现[7]。中国安全厂商安天实验室于 2010 年 7 月 15 日捕获到其第一个变种并发布分析报告,截至报告发布时累计捕获 13 个变种、600 多个不同哈希值的样本[1]。当年 7 月起该病毒在互联网上大规模传播,被多家机构认定为第一个专门针对工业控制系统编写的恶意程序[8]。
2010 年 9 月,伊朗官方证实布什尔核电站部分工作人员使用的电脑被感染,核电站中央控制系统未受破坏;伊朗电信部门表示政府网络未遭严重渗透,另有报道称伊朗境内约 3 万家互联网运营商受到不同程度影响[7]。据赛门铁克统计,当时全球约 4.5 万个网络被感染,其中约 60% 的受害主机位于伊朗境内[1]。
2011 年 2 月,伊朗宣布暂时卸载首座核电站的核燃料,西方舆论认为其核计划因技术问题被拖延;此后多家媒体将这一变化与震网病毒入侵离心机控制系统联系起来[9]。有机构根据离心机更换数据估计,纳坦兹燃料浓缩厂约有 1000 台离心机在 2009 年底至 2010 年初被更换[4]。
2012 年 6 月,有媒体报道称该病毒源自约 2006 年启动的一项针对伊朗核设施的网络行动,并称 2010 年因操作失误导致恶意程序扩散到互联网;相关说法来自媒体调查,官方始终未予确认[9]。2013 年又有安全公司研究人员称发现了 2007 年活动的变体,说明相关攻击活动早于公开披露时间[10]。2019 年,伊朗方面宣布本国大学研究人员为工业自动化系统开发出可抵御该类攻击的防火墙软件[10]。
该事件被视为首个造成实体破坏效果的网络攻击行动,其公开同时也使工控恶意软件成为独立的研究门类,此后陆续出现了多款针对工业控制系统的恶意程序[11]。
应用
就实际用途而言,震网病毒是一段被用于定向攻击的恶意代码,其攻击对象是使用西门子控制器和监控组态软件的工业设施,离心机等高速旋转设备是其中最受关注的一类[2]。有分析认为,此类程序同样可能被用来干扰石油输送管道、发电厂、通信设施与机场等基础设施,因为它依赖的是通用的工业控制软硬件环境[9]。
另一个层面的应用出现在防御研究中。震网病毒的传播链条成为工控安全检测的经典样本,业界由此提出对物理隔离网络的风险评估、对移动存储介质的管控、对组态软件与工程文件的完整性校验,以及控制器层面的异常指令审计等防护思路[3]。部分研究者还主张在监控系统中引入控制指令水印等技术,用以识别伪造的传感器反馈[12]。
局限
震网病毒的成功在很大程度上依赖极窄的攻击条件,并不具备普遍适用性。它只对特定厂家、特定型号与特定配置的控制器生效,程序需先核对设备信息与程序逻辑,条件不符便不执行载荷[4]。传播范围虽然可达数万台主机,真正被写入恶意指令的控制器只是极少数[12]。
其隐蔽手段也有代价。载荷留下异常的控制器指令、被替换的系统文件与被修改的动态链接库,取证分析可以据此还原攻击链条;安天实验室在事件公开后不久即完成了样本结构、传播路径与攻击行为的完整分析,说明所谓无迹可寻并不成立[1]。此外,该病毒依赖用户对移动存储介质的使用和内部主机的共享服务等弱点,环境一旦修补相应漏洞、关闭不必要服务,既有传播路径即失效[6]。
关于攻击效果与幕后主体,公开信息存在明显分歧。离心机受损数量有约 1000 台、约 1000 至 2000 台等不同估计,病毒对核计划的拖延时间也有 18 个月至两年、推后两年等说法,均出自研究机构或媒体推测,缺少可核验的官方数据[4]。伊朗方面指认美国与以色列为幕后主使,两国官方既未承认也未否认,相关判断至今没有公开的确凿证据[10]。
参见
-
可编程逻辑控制器 —— 震网病毒实施破坏的直接作用对象。
-
数据采集与监视控制系统 —— 病毒入侵后篡改数据、掩盖异常的工业监控环境。
-
零日漏洞 —— 病毒在传播与提权过程中利用的未修补系统缺陷。
-
工业控制系统 —— 震网病毒所针对的整类软硬件系统的统称。
-
网络武器 —— 震网病毒被研究者归入的恶意程序类别。
参考资料
- 对Stuxnet蠕虫攻击工业控制系统事件的 综合分析报告 [引用日期2026-10-29]
- Towards secure monitoring and control systems: Diversify! [引用日期2026-10-29]
- 震网病毒事件浅析及工控安全防护能力提升启示 [引用日期2026-10-29]
- Stuxnet (2010) [引用日期2026-10-29]
- 对Stuxnet蠕虫攻击工业控制系统事件的综合报告-安天 智者安天下 [引用日期2026-10-29]
- Stuxnet震网病毒源码遭逆向重构公开 [引用日期2026-10-29]
- [视频]伊朗电脑病毒肆虐 布什尔核电站遭袭 [引用日期2026-10-29]
- 伊朗:布什尔核电站遭攻击多台电脑中毒 [引用日期2026-10-29]
- “震网”病毒与“无接触战争” [引用日期2026-10-29]
- 伊朗自建防火墙拦截“震网”病毒 [引用日期2026-10-29]
- 工控恶意软件简史:从震网到Triton [引用日期2026-10-29]
- references [引用日期2026-10-29]