最近刚刚出现的Stuxnet恶意软件是首个利用Windows零日漏洞、针对控制系统和公共事业机构发动攻击的恶意软件。Stuxnet的设计者综合运用了漏洞知识、黑客伎俩以及潜在的物理安全漏洞,来发起针对重要基础设施系统的攻击。
Stuxnet攻击运用的高级知识之所以“巧妙”,原因有二。首先控制工程网版权所有,该恶意软件通过利用先前未知的 Windows漏洞实施攻击和传播。其次,该恶意软件的组件包括两个具有rootkit行为、有数字签名的驱动程序,对于恶意软件而言,这点很不寻常。
这两点已被媒体广泛报道。我希望重点谈一谈遭受攻击系统存在的潜在风险、多种不同攻击媒介协同“作战”的复杂性,以及这对能源领域意味着什么。
以下是我们目前了解到的Stuxnet攻击的运行机制:
1.用户将USB驱动器(或任何移动存储介质)连接到系统;
2.已感染的驱动器利用零日Windows Shell Code漏洞实施攻击,运行恶意软件;
3.该恶意软件在受攻击系统中进行搜索,试图访问西门子Windows SIMATIC WinCC SCADA系统数据库。(万幸的是,该恶意软件的一个签名证书已被吊销CONTROL ENGINEERING China版权所有,另一个也即将被吊销)
4.该恶意软件使用WinCC西门子系统中的硬编码密码来访问存储在WinCC 软件SQL数据库中的控制系统运行数据。
这一事件有何潜在影响?该恶意软件的攻击目标是西门子SIMATIC WinCC监控与数据采集 (SCADA) 系统。该软件可作为公用事业机构工业控制系统的HMI(人机交互界面)。HMI以图形方式管理并显示负责主要发电和输电设施运行的电厂控制系统信息。
HMI不间断的监控发电厂控制系统的正常运行和整体运行状态。许多情况下,设置HMI的目的是为了对控制系统间的流程加以控制。HMI提供的图形化信息犹如一张地图,类似于计算机网络的拓扑图。恶意软件可能将部分重要基础设施的“地图”提交给其他恶意实体。
控制系统安全与IT安全
控制系统与IT系统之间存在许多不同。IT系统要确保传输的机密性和可用性,而控制系统要保证全天候持续可用性。通常情况下,控制系统和IT系统在相互独立的网络中运行,并由相互独立的团队进行管理。
由于控制系统必须做到全天候持续可用,控制系统环境中传统的管理流程变更非常耗时。因此,补丁程序更新、安全保护更新和修补程序或其他相关资源通常不会作为优先考虑的事项。在此示例中,西门子在其应用程序中使用硬编码密码,以提供对其SQL数据库的访问。该公司曾警告更改此类密码有可能危及系统的可用性。许多安全研究人员都曾对西门子这种明显违反安全策略的做法提出过异议。但是CONTROL ENGINEERING China版权所有,考虑到在该环境中优先保证可用性的需求,上述做法是非常常见的。
美国能源部 (DOE)、美国国家标准技术局和许多私营机构都曾呼吁弥合 IT 系统和控制系统在安全原则上的鸿沟。通过建立类似国家能源法规委员会(NERC)的传统IT流程和法规遵从框架,可以实现上述目标。
有关控制系统的安全保护需求已经讨论了一段时间,但在得出结论之前,新威胁就出现了。让我们看一看在控制系统领域已经发生了什么:概念证明攻击、意外实例、不满员工的恶作剧、由于掌握的证据太少而无法确定其真实意图的针对特定实例的攻击。
2009年一切开始改变,4月7日NERC发布了一份公开警告,提示某种来自境外实体的恶意软件攻击已在电网中露出苗头。这就是目前声名大噪的 Stuxnet攻击。让我们假设Stuxnet 意欲破坏电网、并将重要信息传给不法分子,来了解一下Stuxnet攻击的复杂性。
毋庸置疑,在Microsoft Windows中寻找一个支持代码执行的零日漏洞需要相当的专业知识CONTROL ENGINEERING China版权所有,不过这样的例子也屡见不鲜。了解对控制系统的攻击方式就能明晰这一攻击异乎寻常的复杂性。
攻击者了解通常SCADA系统会限制通过以太网端口的网络访问和通过USB设备的物理访问。同时攻击者还要拥有西门子控制系统的相应知识控制工程网版权所有,这种知识对于在控制系统领域实施攻击以及找到访问数据库所需的默认硬编码密码均大有帮助。此类攻击的复杂性可见一斑。
最后一点,攻击者如何伪造认证凭据?整体而言,这是一个异乎寻常的复杂攻击。