Research on DoS Attack Detection Method of Modbus TCP in OpenPLC


一、引言与概要

随着云计算、物联网和移动物联网等信息技术的发展,工业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 面临的问题:

  1. 通信协议没有考虑安全问题;
  2. 网络风险以及数据安全问题
  3. 新技术和新应用的潜在风险。

(三)Attack Detection Method

下图说明了作者的攻击检测流程。首先,构建一个小型的工业控制系统、然后构建数字孪生系统,最后,在该系统上执行相关的端口扫描、数据捕获、数据控制和数据分析。

构建数字孪生系统,原文如下,不是很理解。红色部分,在server上安装OpenPLC,那么树莓派安装OpenPLC吗?不是应该由树莓派安装OpenPLC控制实际的物理设备,然后树莓派通过Modbus TCP协议与server通信,此时server用作SCADA,但是似乎不需要OpenPLC。黄色部分,说到了使用花生壳做内网穿透,那么是希望哪个局域网的设备能被直接访问呢?假设是树莓派,但是树莓派分配了公网IP,那么内网穿透还有何必要?server?server不是云服务器吗?如果server不在云端,为何不直接和其他设备接到一个局域网里?

攻击检测:通过Pfsense防火墙和snort插件做攻击检测。具体流程如下:

  1. 收到数据包,Pfsense使用黑名单检查源IP,如果在黑名单里,阻止访问,检测过程结束,否则继续检测;
  2. 解析包,使用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攻击。攻击过程如下:

  1. 使用fping -asg 192.168.0.0/24,扫描局域网内的活动IP;
  2. 使用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攻击后,系统的资源使用情况,如下图所示。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值