陈 岑,张 铮,常 昊,李鸣岩
(国网河南省电力公司电力科学研究院,河南 郑州 450052)
电力工控系统具有调控手段灵活、控制逻辑与防御深度结合等特点,面向传统信息系统的攻击分类方法在攻击对象、攻击技术以及攻击危害方面无法适用于电力工控系统的攻击分类[1-8]。因此,结合电力工控系统实际业务和攻击影响,研究攻击分类方法是本文的关键。
目前,攻击模拟研究主要集中于互联网攻击的模拟实现。由于模拟攻击是系统抗攻击测试中最基本和最核心的组成部分,因此模拟攻击部分能否有效地再现网络攻击环境是衡量抗攻击测试结果准确性的重要指标,在一定程度上影响了抗攻击测试的可信性[9,10]。一般地,攻击模拟由攻击脚本库、攻击知识库、攻击方案生成以及攻击脚本执行引擎4部分组成[11-14]。按照电力工控系统的系统结构、攻击所造成的危害以及攻击技术在攻击流的体现,对常见的面向电力工控系统的攻击技术进行分类,以全面掌握对电力工控系统的攻击机理,为真实模拟电力工控系统的攻击提供理论基础。针对每种电力工控系统攻击技术,从攻击目标、攻击特征、攻击代码实例和所利用的漏洞等方面来构建攻击样本库[15]。
目前对传统网络攻击的分类常采用星形多维分类方法,每个维度代表一种分类依据。本文对攻击的分类将从电力工控业务系统结构出发,力求反映攻击对电力工控系统造成的实际危害程度,并且配合攻击仿真验证平台构建面向攻击流程。
电网工控系统主要涉及生产控制大区、具有远程控制功能的电力监控系统、管理信息大区中用户侧及开放环境下的信息采集监控系统。从电力工控系统的系统层面,将攻击按照主站、终端、网络和协议等进行分类。
(1)针对主站的攻击。目前电力工控系统中数据采集与监视控制(Supervisory Control And Data Acquisition,SCADA)主站大多采用逻辑隔离的方式来对主站和其他系统的通信进行防护,采用前置机来对公网通信信道进行防护。针对主站的攻击主要包括主站与从站间的中间人攻击、以前置机为突破口渗透主站的边界攻击等。
(2)针对终端的攻击。目前,电力工控系统中对重要子站及终端配置了具有双向加密认证能力的安全模块。对于能被手持设备控制的配电终端,采用严格的访问控制措施。但是仍然有海量终端缺乏必要的本体安全防护措施,使攻击者能够以终端为突破口开展渗透攻击。针对终端的攻击主要有身份破解、DDOS攻击、缓存溢出等。
(3)针对网络的攻击。目前,电力工控系统采用的通信方式主要包括电力调度数据网、光纤专线、无线专网、无线公网等。在网络通道防护方面,部署配电加密认证装置,并采用基于国产商用密码的算法实现通信链路的双向身份认证和数据加密,保证链路通信安全,防止非法入侵。主站服务器与系统前置机之间采用必要的身份认证及数据加密手段,保证数据传输的安全性。针对网络通道的攻击主要有窃听、篡改和暴力破解。
(4)针对协议的攻击。目前在变电、配电环节采用了IEC 60870、IEC 61850、专用协议、TCP/IP协议等来进行网络传输,在用电环节采用376.1/376.2协议来进行通信。当前使用的工控协议在设计时普遍缺乏安全性考虑,针对工控协议的攻击则主要体现在利用协议未考虑安全的漏洞开展各类隐患利用。
相较于传统电网,智能电网的信息安全风险更为明显,包括以下3个方面。一是在网络传输中生产信息被非法盗取、篡改;二是业务系统完整性、保密性、可用性遭到破坏;三是智能设备、智能表计、智能终端以及用户终端受到非法冒用、远程控制和违规操作。按照对电力工控系统攻击危害层面进行分类,能够对电力工控系统面临特定攻击场景时可能遭受的攻击有一个全面的预判。分析电力工控系统所面临的攻击威胁及危害,具体如下。
(1)伪造控制指令。电力信息系统核心部件被入侵者恶意控制,正常的业务逻辑被篡改,从而对电力生产、传输和使用造成巨大的破坏。
(2)获取超级权限。在攻击部署阶段,入侵者往往需要先获得超级权限,从而为攻击指令的执行创造运行条件。
(3)系统数据篡改。电力信息系统中,传输和存储的信息数据是电力信息系统实现自动化管控的基础,信息被入侵者篡改使得电力调度失衡,导致电力系统产生拥堵。
(4)系统停服。攻击者主要采用拒绝服务的攻击方式向电力系统中关键部件发送大量的非正常数据包,使得目标部件失去功能,电力系统的完整性遭到破坏。
(5)网络中断。不同于系统停服,入侵者虽然无法控制目标设备,也无法使其瘫痪,但是可以通过干扰网络连接使其无法和其他设备通信。尤其是电力工控系统网络广泛使用无线通信方式,为这类攻击手段提供了应用场景。
(6)敏感信息泄露。智能电网调度信息、配电站配电信息等可以被入侵者用来进一步完成对电网的入侵,是入侵者最关心的信息,同时电网用户的信息被入侵者窃取也具有巨大的潜在危害。
(7)终端非法接入。智能表计、智能家电、分布式能源设备等多种智能终端大量接入,业务终端数量宏大、类型庞杂,具有信息泄露、非法接入、易被控制的风险。
对电力工控系统完整的攻击场景包含了多个攻击步骤,首先要选择一个突破点,其次进行渗透并统计到达目的攻击点可能要迭代的数次,最后执行具体的攻击操作。在攻击操作完成后,攻击者通常会设置后门,以便下次直接进行攻击,并且清除渗透的痕迹。
(1)攻击准备。在攻击准备阶段,采用社会工程学的方式获得用户帐号和口令,利用USB介质将攻击武器传送到内部入侵点等。
(2)入侵渗透。入侵者从外网入侵或从内部的外围区逐步进入核心区,利用各类缓存溢出、数据库注入等获得本地权限,然后经过层层跳板进入核心生产控制区,最终获得目标设备的控制权限。
(3)攻击部署。开始正式攻击前,入侵者进行现场控制,包括权限提升、周边设备的信息扫描和工具的安装。
(4)攻击执行。攻击操作是攻击者的根本目的,通常包括信息窃取、数据篡改、设备操控、信息擦除或执行恶意的业务逻辑等。攻击执行也包括对电力工控系统恢复进行拒绝服务的攻击,以加强攻击效果。此外攻击者通常会将渗透的痕迹清除,并留下后门,方便下次进入时能够走捷径或者远程操控。
通过分类整理电力工控系统攻击、构建电力工控系统攻击样本库,为攻击验证平台提供对攻击过程进行模拟验证的基础数据。通过面向对象的方法构建攻击样本知识库,引入对象类来描述攻击过程,包括具体攻击行为、安全状态、代码实例以及安全漏洞等对象类。
(1)具体攻击行为。攻击者结束一个攻击步骤所实施的具体操作,抽象描述为同目标建立连接并发送攻击数据包。
(2)攻击特征。安全事件报警、网络流量异常、网络数据包以及主机日志等在攻击行为发生时显现出来的系统/数据特征。
(3)安全状态。包括攻击者的状态及被攻击目标的状态,例如攻击行为发生的前提是攻击者当前的初始权限,攻击行为发生危害是改变了初始权限及安全状态。
(4)代码实例。在攻击过程中,模拟平台能够直接调用,即实现具体攻击行为的代码实例。
(5)安全漏洞。描述攻击行为所依附的漏洞宿主,包含漏洞宿主的网络应用、操作系统和软硬件。
(6)攻击行为间关联关系。攻击样本库通过对攻击行为间的前后依赖关系进行描述,实现对攻击过程的模拟,对攻击者在某个步骤所能够选择的攻击手段进行正确刻画[16]。攻击样本知识库的架构如图1所示。
图1 攻击样本库的体系构架
通过深入分析电力工控系统入侵攻击的攻击机理和特征,基于攻击对象、攻击危害、攻击手段的不同进行攻击分类研究,并采用面向对象的方法来构建攻击样本知识库,引入具体攻击行为、攻击特征、攻击代码实例和利用的安全漏洞等对象类来描述攻击过程。电力工控攻击分类及攻击样本库的建立能够为后续攻击模拟奠定基础,更好地分析攻击场景。