• 本文作者: 漏洞应急响应中心
  • |
  • 2016年1月14日
  • |
  • 安全动态
  • |

BlackEnergy攻击致乌克兰停电事件分析

A 事件简述

2015 年 12 月 23 日,乌克兰电力网络受到黑客攻击,导致伊万诺-弗兰科夫斯克州数十万户大停电,1 个月后,安全专家表示,证实这起停电是遭到黑客以恶意软件攻击电网所造成,2016 年 1 月 4 日时,安全公司 iSight Partners 宣布已经取得用来造成该起大停电的恶意程序码,由于过去从来未曾有黑客攻击造成电网大规模停电的纪录,iSight Partners 认为这起攻击是电网资安史上的里程碑。

B 入侵路径和恶意组件分析

本次APT的攻击路径为

Office类型的漏洞利用(CVE-2014-4114)–>邮件–>下载恶意组件BlackEnergy侵入员工电力办公系统–>BlackEnergy继续下载恶意组件(KillDisk)–>擦除电脑数据破坏HMI软件监视管理系统

CVE-2014-4114漏洞简析

该漏洞首次亮相是在名为“沙虫”的俄罗斯黑客组织攻击使用的时候出现的。攻击目标包括北约、乌克兰ZF机构、西欧ZF组织、能源行业企业(尤其波兰)、欧洲通讯企业和美国学术机构。该漏洞几乎影响当前流行w i n d o w s的所有版本,通过在office系列文档中嵌入恶意程序,通过邮件附件传播。目前已知的漏洞攻击载体是office2007系列组件。

1

漏洞影响windows Vista SP2到Win8.1的所有系统,也影响windows Server 2008~2012版本。XP不会受此漏洞影响。漏洞于14年的10月15日被微软修补。该漏洞是一个逻辑漏洞,漏洞触发的核心在于office系列组件加载Ole对象,Ole对象可以通过远程下载,并通过Ole Package加载。样本执行之后会下载2个文件,一个为inf文件,一个为gif(实质上是可执行病毒文件)。

下图是样本执行之后加载的inf文件

2

然后修改下载的gif文件的后缀名为exe加入到开机启动项,并执行此病毒文件,此病毒文件即BlackEnergy。

BlackEnergy演进和分析

BlackEnergy最初版本出现在2007年,为BlackEnergy 1。一个后续的变种(BlackEnergy 2)在2010年发布。攻击乌克兰工控系统的为新的变种,该变种已被重写并对配置数据采用了不同的保存格式(xml隐写)。我们把新变种称之为New BlackEnergy 。New BlackEnergy 客户端采用了插件的方式进行扩展,第三方开发者可以通过增加插件实现更多功能。本次擦除乌克兰电脑主机的是BlackEnergy的KillDisk插件。

BlackEnergy演化图,从07年的1代BlackEnergy演化至今。

15

新版本的BlackEnergy主要有以下特性

a  配置文件XML隐写

将配置数据写入到标准的XML格式文件当中,并且XML的配置数据被嵌入到DLL二进制流中,从而不直接在磁盘上留下配置文件的痕迹。

加密之前的配置文件

4

从分析来看该版本的BlackEnergy使用了变种的RC4进行的加密。

标准的rc4加密方式如下

5

BlackEnergy使用的变种RC4算法

6

高级语言表述如下

7

使用下列python脚本对该区域进行解密

8

解密之后被加密的XML文件的原始内容

9

b  集成了KillDisk组件

KillDisk组件的主要目的是破坏电脑上的数据,它会使用随机数据覆盖文件,并且让系统无法重启。KillDisk组件会擦除下列扩展名的文件和文档还有应用程序。

10

11

对于windows的.exe结尾的系统程序KillDisk也一并删除,因此会直接导致系统无法启动。

KillDisk可以接收参数,被定时设置执行。

c   使用VBS脚本创建SSH后门

新版本的BlackEnergy会创建一个.vbs结尾的文件

12

该VBS脚本运行之后会调用dropbear.exe创建一个只接受6789端口连接的SSH服务器。

Dropbear在接收连接的时候有如下逻辑

13

可以看到该版本Dropbear的SSH连接的后门的密码是passDs5Bu9Te7。进一步方便了恶意攻击者对于被感染电脑的远程控制。

C 工控系统介绍和SCADA安全防护

本次BlackEnergy会针对三种HMI产品展开攻击GE Cimplicity, Advantech/Broadwin WebAccess和西门子WinCC。
简单的介绍几个名词,ICS/SCADA/HMI。以便于快速的了解工控相关的知识。

工控系统介绍

SCADA数据采集与监控系统(监视控制与数据采集)ICS(工业控制系统)

SCADA通常是指那些覆盖地域较广的控制系统,如油气管道、电力传输系统或配水系统等。

其中SCADA是ICS的一个子集。SCADA包含以下子系统。

a 人机界面(human machine interface,简称HMI)是一个可以显示程序状态的设备,操作员可以依此设备监控及控制程序,方便对设备进行监视管理。

b 远程终端控制系统(Remote Terminal Unit,简称RTU)连接许多程序中用到的感测器,将模拟和离散的测量值转换为数字信息

c 可编程逻辑控制器(programmable logic controller,简称PLC)

d  智能电子设备(IED) 一种基于微处理器的控制器,能够发送控制命令,传输指令流。

14

上图是SCADA的人机界面(HMI)的一个示意图。

对于SCADA的攻击大概有下列几种方式。

a 通过程序恶意破坏HMI这种软件监视管理系统,监视管理系统都是被安装在商业的操作系统当中(很多企业当中还用的是WindowsXP)。很容易通过0day进入操作系统后对监视管理软件进行恶意破坏。

b 通过U盘带入传播。很多工控系统的维护是由第三方公司来完成的,而第三方公司的工程师一般是用自带U盘来携带维护和检测工具的。

c 使用PLC Rootkit感染可编程逻辑控制器PLC。典型的如震网Stuxnet蠕虫。可以感染西门子公司的SIMATIC WinCC 7.0和SIMATIC Wincc6.2两个版本的PLC组件。

本次BlackEnergy主要是针对HMI相关的软件产品展开攻击。

SCADA安全防护

从攻击路径上我们可以看到,BlackEnergy对于SCADA系统的攻击源头依然是来源于商业操作系统的漏洞。所以在SCADA设备的部署运维过程中可以注意以下方面。

1.加强控制系统与互联网之间的安全防护级别,最小化所有控制系统直接暴露在互联网的可能性。

2.安装有效的工控防火墙设备,确保控制网络与信息网络之间的通信行为收到严格监管。

3.若必须从控制网络访问互联网请使用专用设备进行安全保护,例如VPN设备与有异常监测功能的工控防火墙设备的搭配使用。

4.删除或重命名系统默认账户。

5.尽可能减少弱密码的出现。

6.使用监测工具监测第三方供货商提供给业主单位的任何管理员级别的账户的动作。

7 安排专人对工控设备做定时的升级和打补丁操作

8内网统一部署APT攻击检测设备,拦截nday或者未知0day的攻击。

 

 

 

Written by 漏洞应急响应中心