编写:哈尔滨安天科技股份有限公司
北京四方继保自动化股份有限公司
复旦大学网络空间治理研究中心
初稿完成时间:2016年01月18日 17时30分
首次发布时间:2016年01月21日 14时30分
本版更新时间:2016年02月24日 11时30分
1 事件综述

2015年12月23日,乌克兰电力部门遭受到恶意代码攻击,乌克兰新闻媒体TSN在24日报道称:“至少有三个电力区域被攻击,并于当地时间15时左右导致了数小时的停电事故”; “攻击者入侵了监控管理系统,超过一半的地区和部分伊万诺-弗兰科夫斯克地区断电几个小时。[1]”

Kyivoblenergo电力公司发布公告称:“公司因遭到入侵,导致7个110KV的变电站和23个35KV的变电站出现故障,导致80000用户断电。”

安全公司ESET在2016年1月3日最早披露了本次事件中的相关恶意代码[2],表示乌克兰电力部门感染的是BlackEnergy(黑色能量),BlackEnergy被当作后门使用,并释放了KillDisk破坏数据来延缓系统的恢复。同时在其他服务器还发现一个添加后门的SSH程序,攻击者可以根据内置密码随时连入受感染主机[3][4][5][6]。BlackEnergy曾经在2014年被黑客团队“沙虫”用于攻击欧美SCADA工控系统,当时发布报告的安全公司iSIGHT Partners在2016年1月7日发文,将此次断电事件矛头直指“沙虫”团队,而在其2014年关于“沙虫”的报告中,iSIGHT Partners认为该团队与俄罗斯密切相关。 [7]

俄乌两国作为独联体中最重要的两个国家,历史关系纠缠复杂。前苏联解体后,乌克兰逐渐走向“亲西疏俄”的方向,俄罗斯总统普京于2008年在北约和俄罗斯的首脑会议上指出,如果乌克兰加入北约,俄国将会收回乌克兰东部和克里米亚半岛(1954年由当时的苏共领导人决定从俄罗斯划归到乌克兰)。在2010年年初,由于亲俄的亚努科维奇当选为乌克兰总统,两国关系重新改善,但随着乌克兰国内政局,特别是在2014年发生了克里米亚危机等事件后,乌克兰中断了大部分与俄罗斯的合作,两国关系再度恶化。而围绕天然气展开的能源供给问题,一直是两国博弈的主要焦点。2014年3月16日,克里米亚发起全国公投,脱离乌克兰,成立新的克里米亚共和国,加入俄罗斯联邦。2015年11月22日凌晨,克里米亚遭乌克兰断电,近200万人受影响。2015年12月23日,乌克兰国家电力部门遭受恶意代码攻击导致断电。

除ESET外,多个安全企业和安全组织跟进了相关系列事件,2016年1月9日,美国工控系统安全组织SANS ICS发布报告对乌克兰变电站SCADA系统被攻击过程进行了分析和猜测;2016年1月15日,根据CERT-UA的消息,乌克兰最大机场基辅鲍里斯波尔机场网络遭受BlackEnergy攻击;2016年1月28日,卡巴斯基的分析师发现了针对乌克兰STB电视台攻击的BlackEnergy相关样本;2016年2月16日,趋势科技安全专家在乌克兰一家矿业公司和铁路运营商的系统上发现了BlackEnergy和KillDisk样本。

安天、四方继保与复旦大学于2016年1月5日建立了联合分析小组(以下简称“联合分析组”),正式启动对此次事件的分析;1月9日,完成事件相关样本基本分析;1月23日,完成初步分析报告,并在中国计算机学会计算机安全专业委员会相关事件的研讨活动中进行分发;2月24日,报告最终定稿发布。

联合分析组根据对整体事件的跟踪、电力运行系统分析和相关样本分析,认为这是一起以电力基础设施为目标;以BlackEnergy等相关恶意代码为主要攻击工具,通过BOTNET体系进行前期的资料采集和环境预置;以邮件发送恶意代码载荷为最终攻击的直接突破入口,通过远程控制SCADA节点下达指令为断电手段;以摧毁破坏SCADA系统实现迟滞恢复和状态致盲;以DDoS服务电话作为干扰,最后达成长时间停电并制造整个社会混乱的具有信息战水准的网络攻击事件。

特别值得注意的是,本次攻击的攻击点并不在电力基础设施的纵深位置,同时亦未使用0Day漏洞,而是完全通过恶意代码针对PC环节的投放和植入达成的。其攻击成本相对震网[8][9]、方程式[10][11][12]等攻击,显著降低,但同样直接有效。


2 电力系统原理及断电原因分析

2.1 电力系统概述
电力系统是一套由发电厂、送变电线路、供配电所和用电等环节组成的电能生产与消费系统。整体的运行过程是由电源(发电厂)的升压变电站升压到一定等级后,经输电线路输送到负荷中心变电站,通过变电站降压至一定等级后,再经配电线路与用户连接。在整体电力系统中,使用计算机的节点主要在发电、变电站以及调度中心部分。

1.png
图 1 电力系统示意图

2.2 电力系统环节介绍
2.2.1 升压变电站

2.jpg
图 2 升压变电站

升压变电站可以将交流电从不大于20KV的电压变换至需要的输电电压等级。其主要设备包括:升压变压器,断路器、隔离开关、互感器、继电保护等。

2.2.2 输电线路

3.jpg
图 3 输电线路

 输电网:将发电厂发的电通过变压器转变为高压电传输到各个变电所。
 配电网:将变电所的高压电变成低压电供到各个用户。
 输电线路:110KV,220KV,330KV,500KV,750KV,1000KV。

2.2.3 降压变电站

4.jpg
图 4 降压变电站

根据变电站在系统中的地位,可分为:枢纽变电站、中间变电站、地区变电站、终端变电站。

5.jpg
图 5 某500KV枢纽变电站
6.jpg
图 6 某220KV中间变电站
7.jpg
图 7 某110KV地区变电站
8.jpg
图 8 某35KV终端变电站

2.2.4 配电网
配电网在电力网中主要是把输电网送来的电能再分配和送到各类用户,担任配送电能的任务。配电设施包括配电线路、配电变电所、配电变压器等。

2.3 变电站自动化系统概述
联合分析组工作的一个困难,是难以获得乌克兰地区电力系统更准确的资料。新中国在建国初期,得到了前苏联在专家、技术和设备上的支持,因此电网电压等级有一部分沿袭自前苏联电压等级,但之后由于特殊的历史原因,双方的技术联系被长期切断,改革开放后,中国又迅速转向引进欧美技术。相关信息只透露了受到影响的变电站为110kV和35kV。联合分析组只能据此做出部分“常识性”的判断,通常来看,交流750kV和直流±400kV以上的高压电网主要是跨区域输电网络,交流500kV、330kV、220kV和110kV电网主要作为区域内输电主网,35kV和10kV电网主要作为配电网络和农电网络,而其中110kV和35kV变电站属于接近最终用户的变电站。

对于一个实际的变电站,通常习惯将隔离开关(刀闸)、断路器、变压器、PT、CT等直接与高压(强电)相关的设备称为一次设备,而将保护(继电保护)、仪表、中央信号、远动装置等保护、测量、监控和远方控制设备称为二次设备,二次设备所需的信号线路、通信线路等称为二次接线。变电站综合自动化系统(以下简称变电站自动化系统)的核心是将二次设备系统进行计算机化,集变电站保护、测量、监控和远方控制于一体,替代常规变电站二次设备,简化二次接线。变电站自动化系统是最终实现变电站无人值守化的基础。
在化工等工业体系中,工业控制系统以过程控制系统(PCS)为主,属于闭环自动控制系统,仪表控制系统以及DCS均属于PCS。但对于变电站自动化系统,目前仍然以人工监控(开环控制)为主,主要需要实现遥测、遥信、遥控和遥调“四遥”功能,除了继电保护系统需要独立完成保护自动控制之外,变电站自动化系统一般认为属于以人工监控为主的SCADA(数据采集和监控系统),与属于PCS的DCS系统有一定相似之处,但体系结构不完全相同,一个可能的变电站SCADA体系结构如图9所示。

9.png
图 9一个可能的变电站SCADA体系结构

如果将变电站SCADA与一般工业DCS做一个比较,则过程层相当于DCS中的现场仪表层面,直接连接断路器、变压器、PT、CT等一次设备,完成最终的遥测、遥控等功能;间隔层相当于DCS中的现场控
制层面,特别是继电保护装置属于自动控制,相当于DCS中的一个现场控制站;站控层相当于DCS中的HMI、组态等层面,目前都基于PC和相应软件实现。站控层网络相当于工业以太网(工控内网);过程层网络相当于现场总线。对于智能变电站,目前一般统一使用基于以太网的IEC 61850标准通信协议;对于非智能变电站,过程层与间隔层没有标准的通信协议,一般根据过程层设备(RTU等)确定通信协议。

2.3.1 PC以及Windows-Intel结构在变电站自动化系统中的地位
工控系统的历史比PC的历史更为悠久,早期的工控系统是相对低级、原始的模拟量控制系统,以仪表为显示回馈,其中自然没有 PC系统的存在。PC系统进入到工控系统的初期,并非扮演核心中枢的角色,而主要是提供监控人机界面(HMI工作站)。但随着工业化和信息化的逐步融合,通用性PC(含服务器)以其标准的体系结构、丰富的软件系统等优势,开始逐步在工业控制系统中扮演更关键的角色,特别是在承担了自动控制的组态、配置等工作(工程师站、运维计算机等),从而具备了直接操作实际生产环节的能力。
通常220kV及以上等级的变电站,监控系统(属于变电站SCADA站控层)使用的操作系统通常是Unix、Linux等系统,110kV和35kV变电站,监控系统操作系统中则有较高比例的Windows操作系统。现阶段俄罗斯和其它前苏联加盟共和国大量存在110kV和35kV变电站,其监控系统操作系统目前以Windows为主。需要指出的是,没有任何操作系统能够对攻击百分百“免疫”,任何关键位置的节点系统及其上的软件与应用,必然会面临安全挑战。这与其是何种操作系统没有本质关系。鉴于APT等攻击发起者所拥有的资源、承担攻击成本的能力和坚定的攻击意志,不会有任何一种操作系统能凭借其自身的安全能力就可以使其上的业务系统免受攻击。
SCADA系统是以计算机为基础的生产过程控制与调度自动化系统。它可以对现场的运行设备进行监视和控制,以实现数据采集、设备控制、测量、参数调节以及各类信号报警等各项功能。随着智能电网的广泛应用,PC节点在整个电网体系中作用日趋重要。在变供电站的SCADA系统中,PC收集大量的实时电网数据,并进行汇总和分析后,送到人机交互界面进行相应的展示。同时PC根据统计分析数据,对电网进行电力的实时负载调配,并且针对调配对电网下达相应的控制指令。另外PC在SCADA系统中同样可以对系统中DCS的相关配置进行远程配置。

在部分工业控制系统设计者的认知中:自动控制的核心,对于DCS是由工控机、嵌入式系统或者PLC实现的现场控制站,属于现场控制层面;对于变电站SCADA,是继电保护装置(35kV及其以下电压等级的变电站可能使用保护测控一体化装置),属于间隔层,无论是现场控制站还是继电保护装置,都是独立运行的。现场控制站、继电保护装置等能够独立运行,完成控制、保护等功能。这一体系结构设计称为集散原则或者分布式原则,又称为“分散控制+集中监控”模式。在这种模式下,如果只是出现了上层SCADA
系统的故障,有可能全系统依然能够正常运行一段时间。这种风险控制模式的有效性是建立在应对非主观破坏带来的单点失效和突发事故的前提假定下的;但对高级网络攻击乃至在信息战场景,攻击者基于环境预置、定向入侵渗透等方式取得了SCADA系统的控制权的情况下,仅靠这种简单的集散原则是远远不够的。

2.4 攻击导致断电的方法分析
目前变电站SCADA系统可以实现远程数据采集、远程设备控制、远程测量、远程参数调节、信号报警等功能。同时有多种方式可以通过SCADA导致断电,如:

控制远程设备的运行状态。例如断路器、闸刀状态,这种方式比较直接,就是直接切断供电线路,导致对应线路断电。
修改设备运行参数。例如修改继电保护装置的保护整定值,过电流保护的电流整定值减小,这样会使得继电保护装置将正常负荷稍重的情况误判为过电流,引发保护动作进而造成一定破坏,如使断路器跳闸等。
对于乌克兰停电事件中的攻击者来讲,在取得了对SCADA系统的控制能力后,可完成上述操作的手法也有多种:

通过恶意代码直接对变电站系统的程序界面进行控制
当攻击者取得变电站SCADA系统的控制权(如SCADA管理人员工作站节点)后,可取得与SCADA操作人员完全一致的操作界面和操作权限(包括键盘输入、鼠标点击、行命令执行以及更复杂的基于界面交互的配置操作),操作员在本地的各种鉴权操作(如登录口令等),也是可以被攻击者通过技术手段获取的,而采用USB KEY等登录认证方式的USB设备,也可能是默认接入在设备上的。因此,攻击者可像操作人员一样,通过操作界面远程控制对远程设备进行开关控制,以达到断电的目的;同样也可以对远程设备参数进行调节,导致设备误动作或不动作,引起电网故障或断电。

通过恶意代码伪造和篡改指令来控制电力设备
除直接操作界面这种方式外,攻击者还可以通过本地调用API接口、或从网络上劫持等方式,直接伪造和篡改指令来控制电力设备。目前变电站SCADA站控层之下的通信网络,并无特别设计的安全加密通信协议。当攻击者获取不同位置的控制权(如SCADA站控层PC、生产网络相关网络设备等)后,可以直接构造和篡改SCADA监控软件与间隔层设备的通信,例如IEC 61850通信明码报文,IEC 61850属于公开协议、明码通信报文,截获以及伪造IEC 61850通信报文并不存在技术上的问题,因此攻击者可以构造或截获指令来直接遥控过程层电力设备,同样可以完成远程控制设备运行状态、更改设备运行参数引起电网故障或断电。

上述两种方式都不仅可以在攻击者远程操控情况下交互作业,同样可以进行指令预设、实现定时触发和条件触发,从而在不能和攻击者实时通讯的情况下发起攻击。即使是采用操控程序界面的方式,同样可以采用键盘和鼠标的行为的提前预设来完成。

2.5 攻击全程分析
通过以上对变电站系统的分析并基于目前公开的样本,我们分析攻击者可能采用的技术手法为:通过鱼叉式钓鱼邮件或其他手段,首先向“跳板机”植入BlackEnergy,随后通过BlackEnergy建立据点,以“跳板机”作为据点进行横向渗透,之后通过攻陷监控/装置区的关键主机。同时由于BlackEnergy已经形成了具备规模的僵尸网络以及定向传播等因素,亦不排除攻击者已经在乌克兰电力系统中完成了前期环境预置和持久化。
攻击者在获得了SCADA系统的控制能力后,通过相关方法下达断电指令导致断电:其后,采用覆盖MBR和部分扇区的方式,导致系统重启后不能自举(自举只有两个功能:加电自检和磁盘引导。);采用清除系统日志的方式提升事件后续分析难度;采用覆盖文档文件和其他重要格式文件的方式,导致实质性的数据损失。这一组合拳不仅使系统难以恢复,而且在失去SCADA的上层故障回馈和显示能力后,工作人员被“致盲”,从而不能有效推动恢复工作。

攻击者一方面在线上变电站进行攻击的同时,另一方面在线下还对电力客服中心进行电话DDoS攻击,两组“火力”共同配合发起攻击完成攻击者的目的。整体的攻击全景如下图所示:

10.jpg
图 10乌克兰停电事件攻击全程示意图

原文详见:
http://www.antiy.com/response/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage.html

报告下载:
http://www.antiy.com/response/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage/A_Comprehensive_Analysis_Report_on_Ukraine_Power_Grid_Outage.pdf