据外媒报道,2016年12月,俄罗斯黑客在乌克兰国家电网运营商Ukrenergo的网络中植入了一种被称为Industroyer或Crash Override的恶意软件。而在圣诞节前两天的午夜,网络犯罪分子利用已经部署好的恶意软件破坏了乌克兰首都基辅附近一个传输站的所有断路器,从而导致首都大部分地区断电。
虽然这起网络攻击引发了一系列问题,但却没有给出明确的答案:首先,这次网络攻击的真正动机是什么?第二,为什么一个恶意软件能够如此强大,它可以瞬间让整个城市进入黑暗之中,而一个小时后工厂的工人只需要打开断路器就能修复?
对此,来自工业控制系统网络安全公司Dragos的研究人员近日发布了一篇论文,他们在文中重建了2016年乌克兰断电的时间线,希望能为寻找上述问题的答案获得一些启发。在这篇题为《CRASHOVERRIDE: Reassessing the 2016 Ukraine Electric Power Event as a Protection-Focused Attack》的文章中,研究团队梳理了恶意软件的代码并重新访问了Ukrenergo的网络日志。他们得出的结论是,有证据表明,黑客的意图是造成更大强度的物理破坏,如果没有几个月也会将停电时间延长到数周甚至可能危及到现场工厂工人的生命。如果是这样的话,那么攻击基辅电力供应的恶意软件将只是另外两种恶意代码--Stuxnet和Triton的其中一种,这两种曾分别攻击过伊朗和沙特阿拉伯。
然而问题的实质则在于细节。文章作者、Dragos分析师Joe Slowik表示:“虽然这最终是一个直接的破坏性事件,但部署的工具和使用它们的顺序强烈表明,攻击者想要做的不仅仅是把灯关掉几个小时。他们试图创造条件,对目标传输站造成物理破坏。”
更具体一点说,Joe和Dragos给出的理论暗示了黑客利用Crash Override发送自动脉冲来触发断路器进而利用由西门子生产的Siprotec保护继电器的一个已知漏洞。尽管在2015年发布了一个修复上述漏洞的安全补丁,但乌克兰的许多电网站并没有更新它们的系统,这就位黑客们打开了一扇门,他们只需要发出一个电脉冲就能让安全继电器在休眠状态下失效。
为了搞明白这点,Dragos搜索了Ukrenergo的日志并将它所发现的信息的原始线程联系起来。他们第一次重构了黑客的操作方式,具体如下:首先,黑客部署了Crash Override;然后他们用它来处罚基辅北部一个电网站的每一个断路器进而导致大规模停电;一个小时后,他们发射了一个雨刷组件从而使发射站的电脑无法工作并阻止了对发射站数字系统的监控;死后,黑客破坏了该电站的4个Siprotec保护继电器,从而使电站容易受到危险高频率电力的影响。
事实上,这一事件并没有持续到最后。虽然Dragos无法找到黑客计划失败的原因,但它怀疑黑客的某些网络配置错误或现场工作人员在发现正在休眠的Siprotec继电器时做出的快速反应可能是挽救局面的原因。