|
发布时间: 2022-04-25 |
计算机与信息科学 |
|
|
收稿日期: 2020-05-26
基金项目: 国家自然科学基金(61772327);奇安信大数据协同安全国家工程实验室开放课题(QAX-201803);浙江大学工业控制技术国家重点实验室开放式基金(ICT1800380)
中图法分类号: TN915.08
文献标识码: A
文章编号: 2096-8299(2022)02-0178-05
|
摘要
IEC 61850是基于网络通信平台的变电通信系统国际标准, 由于IEC 61850缺乏加密和认证安全机制, 导致其易受到网络攻击。为了验证IEC 61850协议通信存在的问题, 在变电站通信仿真系统下, 分析了IEC 61850通信协议, 模拟了IEC 61850的拒绝服务(DoS)攻击, 提出了ECCi-AES防御算法。该算法通过抓取IEC 61850报文, 获取、应用协议数据单元(APDU)并加密。实验结果表明, 通过改进的高级加密标准(AES)和椭圆曲线密码编码(ECC)加密算法, 可以有效地加密通信数据, 增强防御DoS攻击的能力。
关键词
变电站; IEC 61850; DoS攻击; ECC-AES
Abstract
IEC 61850 is the international guarantee for substation communication system based on network communication platform.However, due to the lack of encryption and authentication security mechanism, IEC 61850 is vulnerable to cyber attacks.To test the problems in the communication, IEC 61850 agreement based on the substation communication simulation system under the IEC 61850 communication protocol is analyzed, the IEC 61850 DoS attacks simulated, and ECC defense-AES algorithm is proposed.This algorithm through the scraping of the IEC 61850 message, obtains application protocol data unit (APDU) and encryption.The experimental results show that by improving the AES and ECC encryption algorithm, communication data can be effectively ecrypted to enhance the ability of defense against the DoS attack.
Key words
substation; IEC 61850; DoS attack; ECC-AES
IEC 61850是电力系统的一项国际标准, 其主要目标是增强多厂商电力公用事业的互操作性和减少成本损耗。在技术含义中, 该标准定义了电力系统自动化中存在的所有设备的服务、任务和功能, 可以映射到许多传统协议[1-2], 主要应用在变电站系统间的通信中。然而工控协议在设计之初更加注重功能和命令, 没有考虑加密、认证等安全认证条件, 再加上变电站系统的许多设备都是由通信网络连接的, 导致这种互联性在带来更高效率的同时, 也使得传统封闭的电源组件及通信协议更易遭受网络的攻击, 多种针对以太网的攻击都可以对IEC 61850通信安全造成影响。例如2016年乌克兰电网遭受黑客攻击, 致使70万乌克兰人民无电可用。总之, 当黑客对电力系统通信网络发动攻击时, 目前的变电站系统并没有做好充足的技术准备保证通信系统的信息安全乃至整个变电站的安全稳定运行。所以对变电站系统的通信安全的攻击防御研究是目前亟需完成的重要任务。
针对这一问题, 本文重点研究IEC 61850的安全通信。根据当前存在的问题, 用IEC 61850服务器和客户端搭建试验环境进行通信测试, 针对其通信过程面临的风险进行攻击, 最后根据攻击结果提出算法, 以提高数据传输的安全性。
1 问题分析
1.1 IEC 61850协议通信过程
IEC 61850将变电站通信系统分为3层: 间隔层、变电站层和过程层。IEC 61850标准提供制造报文规范(Manufactoring Message Specification, MMS)、面向通用对象的变电站事件(Generic Object Oriented Substation Event, GOOSE)和采样值(Sample Value, SV)。3类通信协议满足变电站3层结构需求[3]。MMS同行服务用于间隔层与站控层设备之间的通信, 重在保护与监控主机; GOOSE通信服务满足间隔层设备之间、间隔层与过程层设备之间的数据传输服务; SV传输服务完成过程层到间隔层的设备传输实时的电压、电流数据采样。
1.2 安全问题
GOOSE协议采取组播技术, 数据单元大小约1 500 Byte, 时限要求4 ms; 报文包含sqNum(序列号)和stNum(状态号)。无事件发生时, sqNum随着报文的发送而增加, stNum保持不变; 当事件发生时, stNum累加, sqNum重置。SV协议与GOOSE协议相似, 同样采用组播技术, 报文时限同样要求为4 ms。MMS是智能设备之间交换实时数据和监控信息的一套独立的国际报文规范, 协议数据单元大于3 000 Byte, 无时限要求。
因为GOOSE与SV协议采取组播技术, 所以带来的安全问题最为明显, 如组员资格开放和设备接入带来的安全问题。虽然报文时限要求严格, 但是由于智能电力设备(Intelligent Electronic Derices, IED)的存储空间和计算能力有限, 因此无法采用复杂的信息安全技术。攻击者可以利用GOOSE的通信机制伪造sqNum和stNum字段, 致使后续报文被丢弃, 造成严重后果; 也可以利用SV在报文处理过程中没有信息安全防护手段进行虚假数据攻击, 使继电保护系统错误响应或拒绝响应, 造成严重后果。邓力[4]已经证明了使用GOOSE和SV消息造成的重播攻击。在重播攻击中, 用于发送此跳闸信号的GOOSE消息被攻击者捕获并保存, 然后攻击者发送完全相同的消息, 使断路器在非正常状态时跳闸, 导致无原因的停电, 对变电站造成严重危害。
MMS协议虽然存在认证和访问控制机制, 但由于其工作在TCP/IP上, 而TCP/IP对于拒绝服务(Denial of Service, DoS)攻击脆弱, 所以使MMS对于DoS攻击同样脆弱。为了验证DoS攻击对IEC 61850变电站网络的影响是对变电站网络可用性的破坏, 邓力[4]对在IED上运行的文件传输协议(File Transfer Protocol, FTP)、超文本传输协议(Hyper Text Transter Protocol, HTTP)和Telnet服务成功进行了密码破解攻击, 从而使基于IEC 61850变电站受到严重影响。
2 实验测试和分析
变电站基于IEC 61850协议进行数据传输, IEC 61850协议基于TCP/IP协议, 数据通过以太网传输, 因此对以太网的攻击包括地址解析协议(Address Resolution Protocol, ARP)攻击、DoS攻击、身份盗用、介质访问(Media Access Control, MAC)欺骗[5]。本文通过DoS攻击对IEC 61850通信过程进行模拟攻击, 从而进一步探析该攻击对IEC 61850正常通信造成的影响。
2.1 实验环境
2.2 DoS攻击过程
3 ECCAES通信防御算法
3.1 IEC 61850报文分析
从IEC 61850的3类通信协议中选取最为典型的GOOSE报文作为分析报文, 将抓取到的报文采用Python语言编写程序, 分析GOOSE报文的特征。基于Python的报文分析主要程序为
a = rdpcap("IEC 61850.pcap")//读取wireshark抓取到的报文
for i in a:
try:
if i.type == 0x88b8://通过截获以以太网帧的协议类型字段为OX88B8识别出的GOOSE报文
g = goose.GOOSE(i.load)//调用goose.py中的GOOSE方法: class GOOSE(Packet)
print (repr(g.load))
gpdu = goose.GOOSEPDU(g.load[4:])//调用
goose.py中的GOOSEPDU方法: class GOOSEPDU(object):
print (gpdu.__dict__)
except AttributeError:
continue
GOOSE报文分析程序程序运行如图 4所示。
GOOSE报文中最易受到攻击的部分为与报文中控制量相关的布尔值、stNum和sqNum序列性质[8]; 而且这3个值都存在于应用协议数据单元(Application Protocol Data Unit, APDU)中。因此, 结合IEC 61850对报文的规范和约定, 本文在加密过程中只对报文的应用协议数据单元部分进行加密处理。
3.2 算法描述
加密算法一般分为对称加密算法和非对称加密算法两类。
对称加密算法有高级加密标准(Advanced Encryption Standard, AES)和数据加密标准(Data Encryption Standard, DES)2种, 主要是对敏感数据等信息进行加密。
通过Python编写程序对2种算法的加解密比较如图 5和图 6所示。
由图 5和图 6可以看出, AES的安全级别更高。AES的工作原理是加密和解密用相同的密钥。
非对称算法有非对称密钥算法(Rivest Shamir Adleman, RSA)、数据签名标准算法(Digital Signature Algorithm, DSA)和椭圆曲线密码编码(Elliptic Curves Cryptography, ECC)3种。RSA算法是一个支持变长密钥的公共密钥算法, 即为保证数据的安全, RSA的密钥会不断增加。随着密钥长度的增加, 在报文传输的过程中其加解密的速度也会大大降低, 从而加大了硬件的负担。ECC的提出, 大大减轻了这种负担。ECC是一种椭圆曲线密码编码学, 与RSA算法相比, 其抗攻击性更强, 加密速度更快。随着安全等级的增加, RSA加密法的密钥长度成指数增加, 而ECC密钥长度却只是成线性增加。例如, 128位安全加密需要3 072位RSA密钥, 却只需要一个256位ECC密钥。所以在相同的密钥长度条件下, 其抗攻击性更强, 计算量小, 处理速度快, 存储空间小。
3.3 ECCAES算法加密IEC 61850报文流程
为提高报文在IEC 61850传输中的安全性, ECC-AES 混合加密算法对IEC 61850传输报文进行加密, 加密签名后的报文通过网络发送给接收方; 接收方接收到报文后, 对报文进行解密并验证报文的数字签名, 最后将验证结果和根据验证结果所做出的相应处理信息加密并签名后发送回发送方。
IEC 61850客户端传输报文到服务器端时加解密工作流程如图 7所示。
3.4 实验分析
通过上述实验获得应用层协议数据单元后, 转存于文本中, 编写Python语言程序, 用AES算法对明文m (即文本内容)进行加密, 得到密文C, 加密密钥为Key; 用ECC对Key进行加密, 得到AES密钥块, 最后所得密文就是密文C和AES密钥块。ECC加密后得到的AES密钥块如图 8所示。
该方法集成2种算法的优点, 使数据能够更加安全可靠地在IEC 61850通信过程中进行传输, 提高了抵御DoS攻击的能力。
4 结语
本文在IEC 61850仿真平台下对服务器进行攻击, 并对攻击结果进行了分析, 提出了ECC-AES加密算法。由于目前网络攻击行为仿真还处于初期阶段, 仍有许多问题尚待解决: 如缺乏丰富的攻击仿真模型库; 缺少变电站的真实数据建模; 还需进一步优化算法等。对数字化变电站的网络安全而言, 后续仍需要投入大量的研究力量, 不断提升仿真水平, 才能掌握各类攻击特性, 提高防范技术的适应能力, 减少其对变电站实时性能的影响。
参考文献
-
[1]王德文, 阎春雨, 毕建刚, 等. 变电站状态监测通信网关中Modbus与IEC 61850的映射方法[J]. 电力系统自动化, 2012, 36(19): 78-84.
-
[2]冯宜伟, 杨丹丹, 任方杰. 智能微网的国内外研究发展综述[J]. 智能电网(汉斯), 2019, 9(2): 70-87.
-
[3]董一机, 熊荫乔, 王宝耀. 智能电网通信协议安全威胁与防御技术[J]. 计算机技术与发展, 2019, 29(2): 1-6.
-
[4]邓力. 一种用于智能变电站通信网络漏洞鉴别的攻击技术研究[D]. 武汉: 湖北工业大学, 2017.
-
[5]AHMED E, MOHAMMED E. Analysis of Cyber-attacks on IEC 61850 networks[C]//IEEE 11th International Conference on Application of Information and Communication Technologies (AICT). Surabaya, Indonesia: IEEE, 2017: 252-255.
-
[6]王明辉, 王勇, 邓乐, 等. 基于AES-RSA的IEC 61850数据安全传输方法[J]. 自动化博览·工业控制系统信息安全专刊, 2019(2): 64-69.
-
[7]董一机, 熊荫乔, 王宝耀. 智能电网通信协议安全威胁与防御技术[J]. 计算机技术与发展, 2019, 29(2): 1-6.
-
[8]王智东, 王钢, 许志恒, 等. 结合域含义的GOOSE报文加解密方法[J]. 华南理工大学学报(自然科学报), 2016, 44(4): 64-70.