文章目录
一、引言与概要
随着云计算、物联网和移动物联网等信息技术的发展,工业4.0、智能制造以及中国制造2025等概念被提出。在这种背景下,一个新的制造模型——数字孪生(Digital Twin),被提出。将数字孪生平台同工业系统(Industrial System)相结合便得到了工业控制虚拟系统(Industrial Control Virtualization System)。但是,从近年来频繁发生的工业控制系统的安全事件来看,工业控制虚拟系统具有脆弱性,易受到攻击。一旦被攻击,将会带来严重的后果。
为了探究如何让提高工业控制虚拟系统的安全性,这篇文章使用Modbus TCP协议作为通信协议,以云服务器为主机、树莓派为从机,使用OpenPLC模拟了一个小型工业控制系统,构建了一个数字虚拟化平台,使用该平台研究针对工业控制虚拟系统的攻击。此外,本文说明Pfsense防火墙和snort插件可用于工业控制系统检测网络攻击,提高系统的安全性。
二、问题分析
(一)OpenPLC Communication Process
下图展示了OpenPLC系统,主要组件有Network Server、网络层、硬件层以及MatIEC编译器等。具体来看,将OpenPLC Editor生成的PLC Program(.st文件)通过web接口(Network Server)上传到OpenPLC,OpenPLC使用MatIEC将.st文件转化为.c文件,即最后的PLC控制逻辑程序。阴影部分,表明OpenPLC的Input和Output通过硬件层输出到实际硬件I/O上。虚线部分说明,OpenPLC使用Modbus TCP或者DNP3协议与SCADA系统通信。
(二)Digital Twin System
Digtal Twin System 面临的问题:
- 通信协议没有考虑安全问题;
- 网络风险以及数据安全问题
- 新技术和新应用的潜在风险。
(三)Attack Detection Method
下图说明了作者的攻击检测流程。首先,构建一个小型的工业控制系统、然后构建数字孪生系统,最后,在该系统上执行相关的端口扫描、数据捕获、数据控制和数据分析。
构建数字孪生系统,原文如下,不是很理解。红色部分,在server上安装OpenPLC,那么树莓派安装OpenPLC吗?不是应该由树莓派安装OpenPLC控制实际的物理设备,然后树莓派通过Modbus TCP协议与server通信,此时server用作SCADA,但是似乎不需要OpenPLC。黄色部分,说到了使用花生壳做内网穿透,那么是希望哪个局域网的设备能被直接访问呢?假设是树莓派,但是树莓派分配了公网IP,那么内网穿透还有何必要?server?server不是云服务器吗?如果server不在云端,为何不直接和其他设备接到一个局域网里?
攻击检测:通过Pfsense防火墙和snort插件做攻击检测。具体流程如下:
- 收到数据包,Pfsense使用黑名单检查源IP,如果在黑名单里,阻止访问,检测过程结束,否则继续检测;
- 解析包,使用snort规则进行匹配,如果匹配失败,说明为正常流量,否则说明为恶意流量,封锁该IP,禁止其访问系统。
四、安全分析
(一)实验环境
实验环境包括一个云服务器、一个树莓派3B+、一个路由器以及一台PC。硬件连接如下图所示,主要是通过树莓派控制一个LED灯的亮灭。host的IP为192.168.0.123,攻击者的IP为192.168.0.1。(host是指?根据原文4.1最后一段,host指server,但是根据5.1第三段,树莓派的IP为192.168.0.123)
下表描述了实验环境中各组件的版本信息。(第三列内容与列名不符…)
控制LED的PLC程序如下:
(二)DoS Attacks on the System
使用kali发起DoS攻击。攻击过程如下:
- 使用fping -asg 192.168.0.0/24,扫描局域网内的活动IP;
- 使用hping工具发动DoS攻击
(三)DoS Attack on Modbus Protocol
使用SMOD框架攻击Modbus。(感觉不能归类为DoS攻击)
(四)Attack Detection
使用Pfsense和snort做入侵检测。(原文没有明确说明Pfsense部署在哪里?路由器上?但是攻击者和树莓派等设备在同一网段)
检测DoS攻击的snort 规则(为每个到来的ICMP数据包生成一条警告信息,仅此而已):
用于检测Modbus TCP协议功能码扫描攻击的snort规则(限定了数据包的源IP和目的IP,个人感觉意义不大):
五、结果分析
(一)DoS攻击结果与分析
攻击者:kali,192.168.0.1
被攻击者:树莓派,192.168.0.123
结果:输出了相应的snort报警信息
(二)Modbus攻击结果与分析
使用SMOD成功修改了寄存器的值。
最后,作者给出了一组图,如下,是正常情况下以及遭受攻击后,WAN口的流量。
以及遭受DoS攻击后,系统的资源使用情况,如下图所示。