Intrusion Detection of Industrial Control System based on Modbus TCP Protocol
本文发表于 2017 IEEE 13th International Symposium on Autonomous Decentralized Systems,第一作者:Wang Yusheng,College of Computer Science Beijing University of Technology Beijing
01
背景
最初,ICS(工业控制系统)是一个封闭系统,主要关注系统的可控性、可用性、可扩展性。随着工业化和自动化转向网络和信息的发展,越来越多的ICS采用标准的通用通信协议和软硬件系统。许多现代ICS网络必须连接到外部网,外部网络也需要连接到ICS。由于缺乏安全意识和保护措施,各种蠕虫和病毒对ICS的影响越来越严重,ICS的网络安全事件频繁发生。近年来,ICS安全防护技术主要包括防火墙技术,入侵检测技术,ICS系统漏洞挖掘技术和风险评估等。IDS(入侵检测系统)可以在一定程度上识别入侵行为并增强系统的安全性,但仍存在一些问题:
(1)基于误用的方法能够有效处理已知威胁,但是存在漏报率,基于异常的方法能够处理识别新的攻击,但是存在误报率。
(2)采用传统的模式匹配作为检测算法,计算量大,精度低,耗费系统资源,会严重影响检测的性能。
(3)Modbus TCP协议存在漏洞,协议内容尚未深入分析,流量特性未灵活使用,设计规则仍停留在概念和逻辑层面,影响入侵检测的效率。
论文提出了一种创新方法SD-IDS(Stereo Depth入侵检测系统),用于对Modbus TCP流量进行实时深度检测。
02
创新的方法
SD-IDS算法由两部分组成:规则提取和深度检测。
A.规则提取
在这一部分,论文提出了一种新的规则提取模型。规则提取方法包括三个模块:深度协议解析模块,生成正常规则集合和生成异常规则集合。该方法不仅分析了工业流量的特点,还探讨了Modbus TCP协议中关键字段之间的语义关系。
1)深度协议解析模块
在这一部分中,论文实现了一个深度协议解析模块来提取数据包的关键字段。Modbus TCP协议的深度解析模块包括网络层,传输层和应用层。该模块不仅分析TCP和IP层的标志头,还解析Modbus有效负载。因此,可以理解Modbus TCP协议中的每个关键字段,以提高入侵检测的效率。
2)生成正常规则集合
生成模块正常规则集合由四部分组成:分析分组协议字段内的关系,分析Modbus主/从设备的通信分组之间的关系,分析相同功能行为类的周期性,讨论分组协议字段的变化及其规律,并分析整个分组之间可靠通信的关系。框架的基本概念定义如下:
3)生成异常规则集合
生成异常规则集合的模块由两部分组成:分析Modbus TCP协议的漏洞,分析入侵行为。框架的基本概念描述如下:
B.深度检测
深度检测模块主要对Modbus TCP流量进行实时深度检测。
SD-IDS算法在进入检测流程之前,需要为其提供分类后的规则集。因此,必须分析正常规则和异常规则,并删除重复规则。首先,将正常规则与异常规则集合相匹配,如果正常规则满足异常规则集合的一个规则,就去掉正常规则。其次,将异常规则与正常规则集合进行匹配,如果异常规则中的字段包含在正常规则集中,则保留正常规则并删除异常规则。
利用该模型来检测Modbus TCP 网络流量,以识别网络是否有被攻击的迹象。除非包不满足异常规则集中的所有规则,并且它满足正常规则集中至少一个规则中的所有条件,否则它被认为是异常数据。
03
实验
A.实验环境
论文在Modbus TCP协议上模拟实验环境。HMI通过SCnet II工业以太网与PLC相连,PLC主要执行简单的操作,如轮询、远程I/O、配置等,现场区域由一些分布在水箱上的传感器和执行器组成。为了与实际环境保持一致,PLC的参数和控制命令与实际工业过程相同。为了验证ID的有效性,论文通过攻击工业控制系统来测试其设计的模型。
B.攻击模拟
论文模拟了三种攻击:DoS攻击,中间人攻击,重放攻击。
1)DoS攻击。通过伪造了Modbus TCP包,利用Modbus协议的漏洞,模拟主机,使远程终端单元RTU无法提供正常服务。
2)中间人攻击。攻击者在主机和RTU之间秘密拦截和转发消息。攻击者可以实时捕获和更改密钥信息。
3)重放攻击,允许攻击者重新使用捕获的合法Modbus TCP包。
论文通过模拟3次攻击来测试实验的ID。每次攻击都是为了强制改变ICS流量。它可以触发异常规则和正常规则来识别异常所属的类。
C.测试结果
论文在实验环境中生成了正常的数据包,并计算出有多少数据包被认为是异常的。在图中的误报率和漏报率检测结果中,所有情况下的误报率均不超过0.045%。
测试结果中,对工业控制系统进行了3组攻击,生成了40个针对不同攻击的异常数据包。所有实例误报率均低于0.045%。
04
总结
论文的协议深度解析方法不仅提取数据包的时间戳、协议类型、数据包长度,还提取了数据包中的网络层数据、传输层数据、应用层数据,使SD-IDS从更深的层次防护工控网络的安全。
论文的规则提取方法结合了误用检测技术和异常检测技术的思想,实现了网络协议的纵深防御,提升了检测的精确度。论文的深度检测方法,从四个方面进行了优化:
1. 对建立的规则进行去重,减少规则冗余;
2. 结合异常行为分析流程和正常行为分析流程,对工控流量进行实时、深度检测;
3. 采用树形检测技术,使工控流量和规则快速、精确的匹配;
4. 经异常行为分析识别出的攻击,直接触发响应、过滤,不需再经正常行为分析检测。