Modbus网络攻击的实施和检测

本文关注Modbus/TCP协议在关键基础设施中的安全性问题,尤其是拒绝服务(DoS)攻击。研究增强了Smod测试工具,增加了五种新的网络攻击模块。同时,提出了一种基于异常的入侵检测系统(IDS),能有效检测Modbus/TCP的DoS攻击,实验证明其准确性和F1分数分别为81%和77%。
摘要由CSDN通过智能技术生成

摘要--监视控制和数据采集(SCADA)系统在关键基础设施(CI)中起着重要作用,因为它们监视和控制工业设备的自动化过程。但是,SCADA依靠脆弱的通信协议而没有任何网络安全机制,从而有可能危及CI的整体运行。在本文中,我们关注于Modbus / TCP协议,该协议在许多CI中尤其是电网中普遍使用。特别是,我们的贡献是双重的。首先,我们研究并增强Smod pen-testing工具提供的网络攻击。其次,我们介绍了一种基于异常的入侵检测系统(IDS),该系统能够检测与Modbus / TCP相关的拒绝服务(DoS)网络攻击。拟议的IDS的功效通过利用水电厂的真实数据得到证明。提议的IDS的准确性和F1分数分别达到81%和77%。

关键字:入侵检测系统,Modbus,监控与数据采集,智能电网,Smod

第一节 介绍

在物联网(IoT)时代,信息和通信技术(ICT)构成关键基础设施(CI)不可或缺的一部分。特别是,在能源领域,常规电网通过提供多种优势(例如自我监控,双向通信,自我修复和分布式发电),被转换为称为智能电网(SG)的新范例。但是,SG由于ICT的脆弱性(主要是不安全的通信协议,例如Modbus,Profinet,分布式网络协议(DNP3)和IEC 60870-5-104)的脆弱性,给网络安全带来了严重威胁。

在本文中,我们关注于Modbus / TCP协议的安全性,该协议通常由监督控制和数据采集系统(SCADA)使用。Modbus / TCP不包括任何身份验证或访问控制机制,因此使潜在的网络攻击者能够执行大量的网络攻击,例如拒绝服务(DoS),中间人(MitM)和未经授权的访问。特别是,本文的贡献是双重的。首先,我们调查并增强Smod [1]支持的各种Modbus / TCP网络攻击。Smod是与Modbus / TCP相关的最广为人知的pen-testing测试工具,它集合了一组诊断和攻击功能[1]。在本文中,我们通过五个新的网络攻击扩展了Smod。其次,我们提供了一种入侵检测系统(IDS),该系统能够检测针对Modbus / TCP的DoS攻击。

本文的其余部分组织如下。第二部分提供有关Modbus / TCP安全性的相关工作。在第三部分中,我们列出了Smod支持的各种网络攻击并描述了我们的扩展。第四节分析了IDS的体系结构,而第五节则评估了其有效性。最后,第六节总结了本文。

第二节 相关工作

许多论文研究了Modbus的漏洞。更具体地说,在[2]中,P。Huitsing等人。提供了有关针对Modbus协议的各种网络攻击的详细理论研究。特别是,他们将攻击分为三类,即a)仅串行攻击,b)串行和TCP攻击以及c)仅TCP攻击。在[3]中,B。Chen等人。执行并检查了与Modbus相关的MiTM和TCP SYN泛洪攻击对真实测试台的影响。类似地,利用仿真环境,S.Li等人。在[4]中为了收集可用于机器学习算法的适当跟踪,进行了四种与Modbus相关的网络攻击。具体来说,他们的数据集包含有关1)侦查攻击,2)响应注入,3)命令注入和4)DoS的跟踪。最后,A。Voyiatzis等。[5]和S. Bhatia等。[6]分别开发了一个Modbus / TCP模糊器和一个Modbus泛洪攻击工具。

另一方面,也有一些工作致力于检测针对Modbus的网络攻击或异常情况。在[7]中,T。Morris等人。提供了一组与Modbus相关的规则,可以由已知的基于签名的IDS(如Snort和Suricata)使用。因此,在[8]中, N。Goldenberg和A. Wool提出了一种基于异常的IDS,该IDS依赖于确定性有限自动机(DFA)。以类似的方式,S。Anton等。在[9]中,他利用并评估了各种机器学习分类技术来检测Modbus攻击。最后,在[10]中,P。Wang等人。根据蜜罐(蜜罐技术本质上是一种对攻击方进行欺骗的技术)的日志为Modbus提供了IDS。

第三节 Modbus网络攻击和Smod扩展

表I总结了Smod支持的一组Modbus / TCP网络攻击。接下来,以下小节通过添加五个新的Modbus / TCP攻击模块来分析我们的扩展,即a)Modbus泪滴模块,b)标志泛滥模块,c)端口池耗尽模块,d)响应延迟模块和e)基线响应重播模块。

表I Smod攻击

A. Modbus Teardrop Module

Teardrop attack[2]是一种DoS攻击,其目的是通过发送重叠的分片报文使目标崩溃,从而切断目标与其他设备的通信。特别是,攻击者发送带有重叠或置乱的分片偏移量的Modbus/TCP分片包,以违反分片过程。Modbus有效载荷可以由随机值或特定值组成。算法1给出了关于攻击实现的更多细节。

B. Flag Flood Module

Flag Flood[2]属于DoS类。特别是,它试图通过使用大量带有特定标志(ACK、FIN、SYN和RST)的TCP包来泛滥目标。算法2提供了相关的实现细节。

C. Port Pool Exhaustion Module

端口池耗尽[2]的目的是耗尽目标器的可用带宽。当这个攻击模块被激活时,会产生大量并发线程,在特定的时间段里连接到目标Modbus TCP端口,从而破坏Modbus通信。算法3给出了相应的实现细节。

D. Response Delay Module

响应延迟攻击属于重放攻击的一类。它首先利用ARP中毒攻击,以便在两个通信点之间插入攻击者。这样,攻击者就可以获得交换的请求包,并以特定的延迟时间发送相应的响应。也就是说,响应报文只由攻击者以特定的延迟传输。在工业环境中,这种拖延可能会造成灾难性的后果。攻击的实现基于iptables和netfilter队列。算法5总结了攻击步骤。特别地,它由三个线程组成。第一个定时发送假ARP报文。第二个线程等待特定的时间,然后转发队列中的所有数据包。最后,主线程接收所有包并将它们追加到队列中。


E. Baseline Response Replay Module

基线响应重放攻击[2]的目的是通过捕获和重放在两台设备之间发送的信息,来混淆甚至中断两个端点之间的通信。具体来说,攻击者执行ARP中毒攻击来接收交换的流量。接下来,一些包被重放到目的地。算法4给出了实现步骤。

第四节 Modbus / TCP IDS

图1展示了所提出的Mod-bus / TCP IDS的体系结构,它由两个主要组件组成,分别称为a)传感器和b)服务器。传感器分布在整个网络中,它们负责捕获和解析每个子网的Modbus / TCP网络流量。特别是,传感器由两个模块组成,即a)网络流量监视模块和b)Modbus流提取模块。另一方面,服务器从各个传感器接收Modbus流,并识别其中哪些与DoS攻击有关。服务器包括两个模块:a)DoS检测模块和b)响应模块。以下小节将分析每个模块。

图1:Modbus/TCP的IDS架构

A.网络流量监控模块

网络捕获模块负责定期捕获网络流量。为此,使用了Scapy库。特别地,各种分组捕获(PCAP)文件是基于两个标准生成的:a)当它们的大小等于特定阈值时;或b)当特定时间量等于第二阈值时。这些阈值是根据每个用例定义的。

B. Modbus流量提取模块

所述的Modbus流量提取模块接收由产生的PCAP文件网络流量捕获模块和负责提取相应的Modbus / TCP使用CICFlowMeter软件流[11] 。这些流存储在Server的Elasticsearch数据库中。CICFlowMeter为每个Modbus流生成83个功能,这些功能用于检测DoS攻击。

C. DoS检测模块

拒绝服务攻击检测模块从Elasticsearch数据库中的Modbus / TCP流接收并承担通过使用分类的机器学习模型以检测潜在的DoS攻击。第五节介绍了这些模型的有效性。产生的安全事件存储在Server的Elasticsearch数据库的其他索引中。

D.响应模块

响应模块通知有关一个基于Web的用户界面上的安全事件的用户。为此,使用了Elastic Stack的Kibana。

第五节 评估

表II比较了用于训练各种入侵检测模型的拟议算法的功效。对于此评估,使用了a)准确性,b)F1得分,c)真实肯定率(TPR)和d)精度。这些度量标准在[12]中进行了定义和描述。关于用于训练和测试过程的数据集,我们结合了希腊发电厂的实际Modbus / TCP数据以及DoS数据[13]。总数据集分为两个子集:a)训练数据集(70%)和b)测试数据集(30%)。scikit-learn Python库用于培训和测试过程。根据评估结果,Adaboost和随机森林分类器在准确性和F1方面给出了最有效的结果。

表II:剂量检测评估结果。

第六节 结论

本文着重于Modbus / TCP协议的安全性。特别是,首先,我们通过引入新的五个攻击模块来研究和增强了Smod笔测试工具。随后,我们提供了基于异常的IDS,该IDS能够区分与Modbus / TCP相关的DoS攻击。评估分析证明了提出的IDS的效率,因为准确性和F1分数分别达到81%和77%。原文

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值