掌桥专利:专业的专利平台
掌桥专利
首页

一种面向SCADA系统的网络物理模型及其入侵检测方法

文献发布时间:2023-06-19 09:43:16


一种面向SCADA系统的网络物理模型及其入侵检测方法

技术领域

本发明属于网络安全技术领域,具体涉及一种面向SCADA系统的网络物理模型及其入侵检测方法。

背景技术

工业控制系统(ICSs)已广泛应用于工业过程,如电网,水利,天然气,石化等。监督控制和数据采集(SCADA)系统是ICS的核心组件,用于收集和处理由远程终端单元(RTU)和可编程逻辑单元(PLC)生成的数据,并允许工程师监视ICS和PC的状态。

现有的商用SCADA产品使用的标准、通信协议并不统一,且存在一些常见的漏洞。虽然大多数SCADA系统已经安全地隔离运行了很多年,但是一旦它们连接到外部网络,网络漏洞将给它们带来前所未有的安全风险。近来,越来越多的网络攻击表明它们对ICS造成了严重破坏。网络通信,尤其是基于ICS协议的网络通信,在网络攻击过程中起着重要的作用。但是,大多数现有的网络入侵检测方法仅专注于检测和表征针对SCADA系统的网络攻击,而无法完全描述其对系统的实际影响。

发明内容

本发明的目的是为SCADA系统提供一种新颖的网络物理模型,通过提取和关联ICS设备的通信模式和状态,来检测针对SCADA系统的网络入侵并评估其对工业过程的风险水平。

本发明的技术方案如下:

如图1所示,典型的SCADA系统由主终端单元(MTU)和远程终端设备(RTU)组成,其中MTU负责向RTU发送命令并监视其状态,而RTU用于向现场设备发送命令。通常,SCADA系统的网络结构和ICS设备之间的通信模式是稳定且恒定的,因此,任何违反已有正常通信模式的行为,都可以被视为是由错误操作或网络攻击引起的异常行为。本发明通过对ICS设备的通信模式和状态进行建模和关联,以检测和评估针对SCADA系统的网络攻击的风险级别。

本发明对有限状态机(FSM)进行了修改,得到一种面向SCADA系统的网络物理模型,将该模型表示为6元组:

G=(D,X,C,S,T,E)

其中,D={d

X={x

C={c

S={s

E={e

值得注意的是,由于SCADA系统的状态由其中所有RTU的状态组成,并且SCADA系统可能包括其他设备,因此X的大小不会超过D。某些设备可能永远不会主动尝试与其他设备进行通信,因此没有自己的通信模式,即C的大小也不会超过D。通信模式序列由通信模式组成,因此C与S的大小一致。以图1中的SCADA系统为例,SCADA系统的状态由三个RTU的状态组成,使用三个存储块分别存储所监视的现场设备的状态,如图2所示。通过RTU查询现场设备的测量数据或将数据写入RTU中未使用的存储块,系统的状态不会受到影响。但是,当MTU向RTU发送命令以更改现场设备(例如RTU 1的第一个存储块)的状态时,系统状态将被更改。总而言之,系统状态的更改可能是由管理员的手动操作或网络攻击引起的。当系统状态仅倾向于查询设备状态或将RTU的未使用存储块用于其他目的时,系统状态不受网络攻击的影响。

通信模式被定义为一组特征,旨在描述SCADA网络流量。本发明提出的方法不是一次分析每个网络数据包,而是一次提取一组网络数据包(称为IP流),来分析SCADA网络中的网络行为。IP流的主要优点在于,它提供了网络行为的概述,显示了网络节点之间交互的主要统计信息,可以揭示与攻击引起的正常行为的偏差。IP流由超时阈值T

上述面向SCADA系统的网络物理模型的通信模式表示为:

ζ

其中d

其中i代表目标设备d

通过解析SCADA系统的工业过程,发现设备通常以连续有序的方式将其命令(通信模式)发送到一个或多个其他设备,这种连续有序的通信模式在本发明中将其称为“通信模式序列”,缩写为“CPSequence”。为了分离设备的CPSequence,设置了另一个超时阈值T

在本发明中,假设SCADA系统是一个“稳定”的系统,它满足:1)系统的网络架构和工业过程保持不变;2)系统中的设备及其配置保持不变。基于以上条件,将不满足模型中集合CPSequence S的任何CPSequence都可判定为网络入侵(或异常)。根据与S的匹配程度,网络入侵可分为三类:

(1)序列类入侵,指在S中无法找到异常CPSequence的源IP;

(2)模式类入侵,指异常CPSequence和S中CPSequence的通信模式不匹配。不匹配有两种情况:1)异常的CPSequence中有不同的顺序或组合方式的模式;2)通过与C中已有通信模式的特征向量进行比较而发现异常的通信模式。

(3)内容类入侵,是模式类入侵的升级版本,除部分模式中的转换序列Γ不同外,其模式序列与现有模式序列具有完全相同的特征值。具体来说,Γs之间的差异可能由两种情况引起:1)异常Γ由不同顺序或组合方式组成;2)异常Γ包含未知转换。

一般情况下,通过对SCADA网络流量的分析,作为初始训练阶段,可以学习模型中的CPSequence集合。从网络流量中检测异常CPSequence的过程如下:

步骤1,输入一个新的CPSequence,

步骤2,对于集合

步骤3,判断标志位flag的状态。如果flag为false,当

步骤4,如果

本发明从以下三个方面评估网络入侵对SCADA系统的危害程度:

复杂程度:与入侵等级相对应的入侵复杂性;

网络影响:入侵对于系统和设备所造成的网络负载;

物理影响:被入侵篡改的设备的状态数;

使用R

根据上式,可以计算出:

其中|Γ

其中N

R=r

其中r

本发明的有益效果是:提供的一种面向SCADA系统的网络物理模型及其入侵检测方法,通过将网络入侵与SCADA系统的状态相关联,提出了一种风险评估方法来估评估攻击对系统的潜在破坏程度,从而为网络管理员提供有关网络攻击的更加丰富的信息。本发明通过在公共SCADA网络数据集上进行的大量的实验,验证了该方法在检测和分析针对SCADA系统的各种网络攻击方面优于现有方法。

附图说明

图1是本发明的SCADA系统示例图。

图2是本发明的SCADA系统状态展示图。

图3是本发明用于数据集生成的带有2个主终端单元(MTU)和6个控制器的SCADA网络拓扑图。

图4是本发明的模型和三个最佳算法的对比结果图。

图5是本发明基于网络入侵的风险等级R的计算公式和当所有系统因素都被视为同等重要且设备具有良好的性能时的评级函数L

图6是本发明的实验中各类攻击对应的通信模式序列数量图。

图7是本发明实验中各类攻击对应的与设备关联的数据包的数量的最大值和通信模式序列的数量图。

图8是根据本发明的基于网络入侵的风险等级R的计算公式和系统状态对网络负载很敏感时的评级函数L

图9是根据本发明的参数r

具体实施方式

以下结合附图和具体实施方案对本发明作进一步的详细说明,但不作为对本发明技术方案的限定。

实施例一:SCADA系统建模

在SCADA网络中生成的数据集包含的数据类型有三种:常规轮询数据,手动操作数据和攻击数据。两个MTU负责监视控制器的状态并向它们发送指令,每个控制器代表一个小型电网,每个小型电网由一个主电源分支和三个子分支组成。

在本发明中,根据对“Run1_6RTU”数据集中轮询和手动操作的一小时内的Modbus网络流量的分析,构建的系统模型如下:

G=(D,X,C,S,T,E)

其中:

D={d

X={x

C={c

E={e

E

实施例二:入侵检测

SCADA网络数据集的描述如表1所示。

本发明从准确率、检测率(DR)和F1评分三个方面来评估模型在入侵检测方面的有效性。准确性是指正确分类的数据包(TP+TN)在所有数据包(TP+FP+TN+FN)中所占的比例。DR定义为正确检测到的攻击数(TP)与网络中存在的攻击总数(TP+FN)之比。F1评分测量“精确度”和“查全率”(检测率)的谐波平均值。精度代表正确检测到的攻击数(TP)与所有检测到的攻击数(TP+FP)的比值。它们的公式如下:

其中TP,TN,FP和FN分别代表真阳性,真阴性,假阳性和假阴性。表2列出了各种数据集的实验结果。

攻击1

攻击1由数据集“6RTU_with_operate”表示,模拟了被感染的计算机通过启动远程攻击的方式感染下一个控制器,并通过这种方式逐渐扩大感染范围。实验结果表明,本发明提出的模型可以准确地检测到这种攻击。

攻击2和攻击3

攻击2和攻击3由数据集“CnC_uploading_exe”和“Moving_two_files”生成,旨在通过Metasploit Meterpreter通道移动文件。这说明了攻击者通过发送较新版本的恶意软件来上传新工具或更新其在计算机上的状态。实验结果表明,该模型可以检测出仅有少量假阴性的攻击。这是因为模型会忽略在标签文件中标记为恶意的广播数据包。

攻击4

在数据集“Characterization”中模拟攻击4,该数据集发起指纹攻击以通过发送一系列读取数据包来表征控制器内存的内容。这表示攻击者正在收集有关SCADA系统的信息。尽管该模型检测到所有标记为恶意的数据包,但它错误地将具有192个数据包的非恶意CPSEQUENCE标识为恶意。这是因为在常规CPSEQUENCE中插入了手动操作,从而导致CPSEQUENCE异常。

攻击5

攻击5通过向数据集“Send_a_fake_command”中的控制器发送未经授权的命令来实现。该命令是格式正确的WRITE_COIL数据包,已发送到另一个控制器。检测攻击5的错误也是由手动操作引起的,其中MTU A访问了从未通过手动操作访问过的控制器4。

攻击6

攻击6代表数据集“Channel_4d_12s”中基于Modbus的命令和控制通道。命令和控制通道使用Modbus数据的最低有效位来传输信息。显然,这种攻击更为复杂和阴险。由于此数据集是由模型外的其他IP地址生成的,并且没有相应的标签文件,因此本发明对其进行了一些修改。首先,将其源地址和目标地址更改为MTU B和控制器1的地址。然后,根据其规范将数据集中的所有数据包标记为恶意。实验结果表明,该模型可以准确地检测出攻击6。

常规数据

数据集“Modbus_polling_only”包含1个小时的常规Modbus流量(仅包括轮询),用于分析模型的误报率。如实验结果所示,该模型检测到具有183个数据包的异常CPSEQUENCE。这是因为像在数据集“特征化”中一样在数据集中检测到手动操作。但是,这违反了此数据集的描述,即不包括任何手动操作。此外,由于此数据集中没有攻击,因此未考虑“检测率”和“F1评分”。

为了进一步验证模型的有效性,本发明基于上述数据集,与最新的机器学习方法从准确性、检测率(DR)和F1评分三个指标中选取效果最好的方法进行了对比。如图4所示,本发明提出的模型在每个度量标准上都明显优于其他三种方法。

本实施例列举了对各种类型的攻击的检测结果,实验表明本发明提出的模型可以有效检测出网络入侵。

实施例三:风险评估

本实施例从两个方面进行评估:区分不同的攻击和针对不同的攻击。表3中列出了各种攻击的风险指数和CPSEQUENCE级别。

表4是相关攻击的统计信息。

区分不同的攻击

图5和图6显示了,不同的攻击有不同的描述自身特征的组合。如图5所示,当所有系统因素都被视为同等重要且设备具有良好的性能时,公式可以表示为:

R=0.25*R

其中

其中max

例如,攻击6在每个统计特征中都具有最大值;所有攻击均显示出不同的平均风险级别;“最大风险级别”功能可以区分5种攻击类型。尽管某些功能无法将一个攻击与其他攻击直接区分开,但是可以将它们的组合用于分类。例如图7中,CPSequence的最大值R

针对不同的攻击

通常,不同的SCADA系统可能具有不同的防御优先级,这取决于许多因素,例如工业流程,设备性能,网络安全状况等。在本发明中提出的公式中,可以修改参数来适应不同的评估要求。例如,当设备中存储的物理参数非常重要并且对更改敏感时,该参数往往会比其他参数大。此时,网络入侵的风险级别R可以表示为:

R=0.1*R

另外,当设备性能受到限制时,系统状态对网络负载很敏感。排名函数可以表述为

如图8和图9所示的实验结果表明,不同的参数和功能组合对不同攻击的敏感度不同。因此,本发明提出的风险评估方法能够针对具有不同参数和函数组合的不同攻击。

相关技术
  • 一种面向SCADA系统的网络物理模型及其入侵检测方法
  • 一种面向云计算的网络入侵检测方法及系统
技术分类

06120112275801