CN116962063A - 一种基于傅里叶级数拟合的工控实时入侵检测方法 - Google Patents
一种基于傅里叶级数拟合的工控实时入侵检测方法 Download PDFInfo
- Publication number
- CN116962063A CN116962063A CN202310975178.7A CN202310975178A CN116962063A CN 116962063 A CN116962063 A CN 116962063A CN 202310975178 A CN202310975178 A CN 202310975178A CN 116962063 A CN116962063 A CN 116962063A
- Authority
- CN
- China
- Prior art keywords
- data
- rmse
- sliding window
- time
- real
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000001514 detection method Methods 0.000 title claims abstract description 33
- 238000004364 calculation method Methods 0.000 claims abstract description 12
- 230000002159 abnormal effect Effects 0.000 claims description 7
- 230000006870 function Effects 0.000 claims description 4
- 238000004458 analytical method Methods 0.000 claims description 3
- 238000007619 statistical method Methods 0.000 claims description 3
- 238000000034 method Methods 0.000 abstract description 14
- 206010000117 Abnormal behaviour Diseases 0.000 abstract description 8
- 230000008859 change Effects 0.000 abstract description 6
- 230000009545 invasion Effects 0.000 abstract description 3
- 230000006399 behavior Effects 0.000 description 9
- 238000002474 experimental method Methods 0.000 description 4
- 230000005856 abnormality Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000002347 injection Methods 0.000 description 2
- 239000007924 injection Substances 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 238000004540 process dynamic Methods 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/16—Implementing security features at a particular protocol layer
- H04L63/168—Implementing security features at a particular protocol layer above the transport layer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/20—Network architectures or network communication protocols for network security for managing network security; network security policies in general
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/02—Total factory control, e.g. smart factories, flexible manufacturing systems [FMS] or integrated manufacturing systems [IMS]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明提出了一种基于傅里叶级数拟合的工控实时入侵检测方法,主要解决了现有技术中依赖已知攻击模式或异常行为模式,以及处理系统行为动态变化能力不足的问题。该方法通过使用傅里叶级数拟合历史数据和实时数据,预测系统的运行状态,然后通过比较预测结果和实际结果的差异来检测是否存在非法入侵。本方法旨在满足对实时、准确、自适应的入侵检测的需求,从而提高工控系统的安全性。特别地,本发明还提供了一个实时入侵检测系统,包括数据选择模块、滑动窗口模块、傅里叶级数拟合模块、RMSE计算模块以及入侵判断模块,这些模块的设计都是为了实现实时入侵检测,因此本发明具有很强的实用性。
Description
技术领域:
本发明属于工业控制系统安全领域,特别是涉及一种基于傅里叶级数拟合的工控实时入侵检测方法。
背景技术:
在现代工业控制系统中,由于大量设备的连接和网络化运行,系统安全问题日益突出,其中最重要的是防止非法入侵。现有的入侵检测方法主要依赖于事先定义好的攻击模式或异常行为模式,然后通过实时监控系统行为,对比已知模式来检测是否存在非法入侵。然而,这种方法存在两个主要的问题。一是需要有大量的已知攻击模式或异常行为模式,而这些模式的获取需要大量的人工工作,且无法覆盖所有可能的攻击;二是这种方法往往无法很好地处理系统行为的动态变化,例如系统的正常行为可能会因为设备的更换、系统的更新等原因而改变,而这种变化可能会被误识别为异常或攻击。
针对现有技术的缺点,本申请提案的主要目标是提出一种新的入侵检测方法,这种方法可以更好地处理系统行为的动态变化,提高检测的准确性,并减少对已知攻击模式或异常行为模式的依赖。具体来说,本申请提案的技术方案包括使用傅里叶级数拟合历史数据和实时数据,预测系统的运行状态,然后通过比较预测结果和实际结果的差异来检测是否存在非法入侵。这种方法不仅可以处理系统行为的动态变化,而且可以通过学习系统的正常行为模式来自动适应系统的变化,从而减少对已知攻击模式或异常行为模式的依赖。
发明内容:
针对现有技术的不足,本发明提出了一种基于傅里叶级数拟合的工控实时入侵检测方法。其核心是利用傅里叶级数对系统的历史数据和实时数据进行拟合,以此预测系统的未来运行状态,并根据预测结果和实际结果的差异来判断系统是否受到非法入侵。
一种基于傅里叶级数拟合的工控实时入侵检测方法,包含以下步骤:
S1:选择一条适当的历史记录;
S2:生成参考均方根误差为RMSE:
S2-1:选择适当大小的滑动窗口;
S2-2:将滑动窗口设置在历史数据上,滑动窗口初始位置为t=0;
S2-3:滑动窗口开始运行,利用滑动窗口前和滑动窗口后的历史数据使用傅里叶级数进行拟合,并根据拟合数据预测滑动窗口内的数据,其中ti和tj为滑动窗口的起止时间,滑动窗口前为<ti,滑动窗口后为>tj;
S2-4:计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的参考RMSE;
S2-5:滑动窗口运行,得到每一个时刻的参考RMSE;
S3:生成预测RMSE:
S3-1:引入和S2步骤一样大小的滑动窗口;
S3-2:初始化滑动窗口,将滑动窗口初始位置置于t=0,滑动窗口后的数据为S2步骤中的历史数据;
S3-3:系统开始运行,滑动窗口也随着系统运行,利用滑动窗口前的系统实时数据和滑动窗口后的历史数据,利用傅里叶级数进行拟合,预测滑动窗口中的数据;
S3-4:计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的预测RMSE;
S4:判断系统是否受到攻击;
当历史数据较多时,判断系统是否受到攻击的步骤如下:
S4-11:利用历史数据重复几次S2步骤,生成多组参考RMSE;
S4-12:利用历史数据模拟实时运行情况,生成S2步骤对应的多组预测RMSE;
S4-13:求S4-12得到的预测RMSE和S4-11得到的参考RMSE的差的绝对值,并取多组分析得到系统正常运行时的阈值σ;
S4-14:计算S3-3得到的预测RMSE和S2-3得到的参考RMSE的差的绝对值,若结果大于阈值σ,则判断系统受到攻击;
当历史数据较少时,判断系统是否受到攻击的步骤如下:
S4-21:比较S3-4得到的预测RMSE和S2-4得到的参考RMSE的大小;
S4-22:用两个RMSE中数值小的RMSE除以数值大的RMSE;
S4-23:得到的百分比即为系统这一时刻的可信度,系统运营方根据系统本身情况,判断系统此时是否出现异常。
作为本发明的一种优选技术方案:所述S2-3中傅里叶级数拟合包含以下步骤:
S2-31:将滑动窗口前的系统实时数据或历史数据,以及滑动窗口后的历史数据作为傅里叶级数拟合的输入数据;
S2-32:将输入数据进行傅里叶级数展开,得到一系列的正弦和余弦函数,其数学形式可以表示为:
其中,(a0,an,bn)是待确定的系数,T是周期,N是级数的项数;
S2-33:通过优化傅里叶级数中的系数,使得级数更好地拟合输入数据,以此构建一个预测模型,该模型能够预测未来的系统运行状态;
S2-34:利用上述预测模型,预测滑动窗口内的系统运行状态,生成预测数据,
其中,滑动窗口前的数据选用系统实时数据或历史数据,滑动窗口后的数据选用历史数据。
作为本发明的一种优选技术方案:所述S3中生成预测RMSE的具体步骤如下:
T1:确定滑动窗口的大小,记为w,大小取决于历史数据和系统实时数据的特性,以及预测的精度需求;
T2:设置滑动窗口的初始位置,在历史数据上为t=0,而在实时数据上,滑动窗口随着系统运行而移动,其位置可表示为t;
T3:在历史数据中,滑动窗口前的数据为t-w到t时刻的数据,滑动窗口后的数据为t到t+w时刻的数据,这两部分数据一同用于傅里叶级数拟合,以预测滑动窗口内的数据并生成参考RMSE;
T4:在系统实时运行时,滑动窗口前的数据为t-w到t时刻的实时数据,滑动窗口后的数据为t到t+w时刻的历史数据,这两部分数据一同用于傅里叶级数拟合,以预测滑动窗口内的数据并生成预测RMSE。
作为本发明的一种优选技术方案:所述S4中阈值的确定包含步骤Y1-Y3:
Y1:对于多次使用历史数据重复进行傅里叶级数拟合得到的多组RMSE预测值为和参考RMSE值为/>,计算它们的差的绝对值为/>
Y2:对Y1步骤中得到的所有差的绝对值进行分析,确定系统正常运行时的阈值T,通过各种统计方法进行确定,设定为所有差的绝对值的平均值,即 或者根据一定的百分比进行确定;
Y3:在系统实时运行时,计算实时预测RMSE和参考RMSE的差的绝对值,如果该值大于Y2步骤确定的阈值,即Dt>T,则判断系统受到攻击。
作为本发明的一种优选技术方案:所述S4-23中系统的可信度的计算,包含步骤P1-P4:
P1:在系统实时运行时,获取每个时刻的预测RMSE和参考RMSE;
P2:比较P1步骤中得到的预测RMSE和参考RMSE的大小,然后取两者中数值小的RMSE和数值大的RMSE;
P3:将P2步骤中得到的数值小的RMSE即RMSEmin除以数值大的RMSE即RMSEmax,得到的比值乘以100%,即:
P4:P3步骤中得到的百分比即为系统这一时刻的可信度,系统运营方根据系统本身情况,判断系统此时是否出现异常。
作为本发明的一种优选技术方案:所述S2中生成均方根误差RMSE计算的具体步骤如下:
W1:对于每一个滑动窗口时刻,首先获得预测得到的数据和历史记录中对应的数据;
W2:计算预测得到的数据和历史记录中对应数据的误差,即它们之间的差值;
W3:对W2步骤中获得的所有误差值进行平方,得到平方误差;
W4:计算W3步骤中所有平方误差的平均值,得到均方误差;
W5:对W4步骤中得到的均方误差进行开方,得到均方根误差RMSE,其中,RMSE的计算公式为:
在该公式中,yi是实际值,是预测值,n是数据的数量,RMSE是预测误差的标准度量,它能够量化预测的精度。
与相关的现有技术相比,本申请提案相比现有技术,有以下主要技术优点:本发明的有益效果是:
1、自适应性强:本发明利用傅里叶级数对系统的历史数据和实时数据进行拟合,生成预测模型。由于傅里叶级数能够拟合任何周期函数,因此本发明不仅可以适应系统行为的动态变化,还可以自动学习和适应系统的正常行为模式,从而大大提高了系统的自适应性。
2、依赖性低:现有的入侵检测方法通常依赖于大量的已知攻击模式或异常行为模式。相比之下,本发明通过对系统行为的实时预测,降低了对已知攻击模式或异常行为模式的依赖,从而能够更有效地检测到未知攻击或异常行为。
3、精度高:本发明通过计算预测结果和实际结果的RMSE,以及比较预测RMSE和参考RMSE的差异或比值,能够精确地判断系统是否受到攻击。这种方法既能减少误报率,也能提高检测的准确性。
4、实用性强:本发明提供的实时入侵检测系统包括数据选择模块、滑动窗口模块、傅里叶级数拟合模块、RMSE计算模块以及入侵判断模块,这些模块的设计都是为了实现实时入侵检测,因此本发明具有很强的实用性。
综上所述,本申请提案提出了一种基于傅里叶级数拟合的工控实时入侵检测方法,相比现有技术,具有自适应性强、依赖性低、精度高和实用性强等优点。
附图说明:
图1是本发明的提供方法的入侵检测流程;
图2是本发明的一种滑动窗口预测实时数据图;
图3是本发明的一种滑动窗口预测历史数据图;
图4是本发明提供的一组不同攻击影响图;
图5是本发明提供的一组入侵检测结果图;
图6是本发明提供的一组信任度评估图;
图7是本发明的实验1案例图;
图8是本发明的实验2案例图。
具体实施方式:
以下结合附图和实施例,进一步说明本发明。但是,本发明可以以多种不同方式实现,并且不应被理解为限制于所示的实施例;反之,这些实施例为那些熟悉技术的人员提供了满足适用的法律要求的实施方式。
本发明提供:一种基于傅里叶级数拟合的工控实时入侵检测方法,包含以下步骤:
S1:选择一条适当的历史记录;
S2:生成参考均方根误差为RMSE:
S2-1:选择适当大小的滑动窗口;
S2-2:将滑动窗口设置在历史数据上,滑动窗口初始位置为t=0;
S2-3:滑动窗口开始运行,利用滑动窗口前和滑动窗口后的历史数据使用傅里叶级数进行拟合,并根据拟合数据预测滑动窗口内的数据,其中ti和tj为滑动窗口的起止时间,滑动窗口前为<ti,滑动窗口后为>tj;
S2-31:将滑动窗口前的系统实时数据或历史数据,以及滑动窗口后的历史数据作为傅里叶级数拟合的输入数据;
S2-32:将输入数据进行傅里叶级数展开,得到一系列的正弦和余弦函数,其数学形式可以表示为:
其中,(a0,an,bn)是待确定的系数,T是周期,N是级数的项数;
S2-33:通过优化傅里叶级数中的系数,使得级数更好地拟合输入数据,以此构建一个预测模型,该模型能够预测未来的系统运行状态;
S2-34:利用上述预测模型,预测滑动窗口内的系统运行状态,生成预测数据,其中,滑动窗口前的数据选用系统实时数据或历史数据,滑动窗口后的数据选用历史数据;
S2-4:计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的参考RMSE;
S2-5:滑动窗口运行,得到每一个时刻的参考RMSE;
S3:生成预测RMSE:
S3-1:引入和S2步骤一样大小的滑动窗口;
S3-2:初始化滑动窗口,将滑动窗口初始位置置于t=0,滑动窗口后的数据为S2步骤中的历史数据;
S3-3:系统开始运行,滑动窗口也随着系统运行,利用滑动窗口前的系统实时数据和滑动窗口后的历史数据,利用傅里叶级数进行拟合,预测滑动窗口中的数据;
S3-4:计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的预测RMSE;
S4:判断系统是否受到攻击;
当历史数据较多时,判断系统是否受到攻击的步骤如下:
S4-11:利用历史数据重复几次S2步骤,生成多组参考RMSE;
S4-12:利用历史数据模拟实时运行情况,生成S2步骤对应的多组预测RMSE;
S4-13:求S4-12得到的预测RMSE和S4-11得到的参考RMSE的差的绝对值,并取多组分析得到系统正常运行时的阈值σ;
S4-14:计算S3-3得到的预测RMSE和S2-3得到的参考RMSE的差的绝对值,若结果大于阈值σ,则判断系统受到攻击;
当历史数据较少时,判断系统是否受到攻击的步骤如下:
S4-21:比较S3-4得到的预测RMSE和S2-4得到的参考RMSE的大小;
S4-22:用两个RMSE中数值小的RMSE除以数值大的RMSE;
S4-23:得到的百分比即为系统这一时刻的可信度,系统运营方根据系统本身情况,判断系统此时是否出现异常。
S3中生成预测RMSE的具体步骤如下:
T1:确定滑动窗口的大小,记为w,大小取决于历史数据和系统实时数据的特性,以及预测的精度需求;
T2:设置滑动窗口的初始位置,在历史数据上为t=0,而在实时数据上,滑动窗口随着系统运行而移动,其位置可表示为t;
T3:在历史数据中,滑动窗口前的数据为t-w到t时刻的数据,滑动窗口后的数据为t到t+w时刻的数据,这两部分数据一同用于傅里叶级数拟合,以预测滑动窗口内的数据并生成参考RMSE;
T4:在系统实时运行时,滑动窗口前的数据为t-w到t时刻的实时数据,滑动窗口后的数据为t到t+w时刻的历史数据,这两部分数据一同用于傅里叶级数拟合,以预测滑动窗口内的数据并生成预测RMSE。
S4中阈值的确定包含步骤Y1-Y3:
Y1:对于多次使用历史数据重复进行傅里叶级数拟合得到的多组RMSE预测值为和参考RMSE值为/>计算它们的差的绝对值为/>
Y2:对Y1步骤中得到的所有差的绝对值进行分析,确定系统正常运行时的阈值T,通过各种统计方法进行确定,设定为所有差的绝对值的平均值,即 或者根据一定的百分比进行确定;
Y3:在系统实时运行时,计算实时预测RMSE和参考RMSE的差的绝对值,如果该值大于Y2步骤确定的阈值,即Dt>T,则判断系统受到攻击。
S4-23中系统的可信度的计算,包含步骤P1-P4:
P1:在系统实时运行时,获取每个时刻的预测RMSE和参考RMSE;
P2:比较P1步骤中得到的预测RMSE和参考RMSE的大小,然后取两者中数值小的RMSE和数值大的RMSE;
P3:将P2步骤中得到的数值小的RMSE即RMSEmin除以数值大的RMSE即RMSEmax,得到的比值乘以100%,即:
P4:P3步骤中得到的百分比即为系统这一时刻的可信度,系统运营方根据系统本身情况,判断系统此时是否出现异常。
S2中生成均方根误差RMSE计算的具体步骤如下:
W1:对于每一个滑动窗口时刻,首先获得预测得到的数据和历史记录中对应的数据;
W2:计算预测得到的数据和历史记录中对应数据的误差,即它们之间的差值;
W3:对W2步骤中获得的所有误差值进行平方,得到平方误差;
W4:计算W3步骤中所有平方误差的平均值,得到均方误差;
W5:对W4步骤中得到的均方误差进行开方,得到均方根误差RMSE,其中,RMSE的计算公式为:
在该公式中,yi是实际值,是预测值,n是数据的数量,RMSE是预测误差的标准度量,它能够量化预测的精度。
本发明方法涵盖了以下几个关键步骤:
1、选择适当的历史记录以及确定滑动窗口的大小和位置;
2、利用傅里叶级数拟合滑动窗口前后的历史数据,预测滑动窗口内的数据,从而生成参考RMSE和预测RMSE;
3、计算预测RMSE和参考RMSE的差异,如果差异超过预设的阈值,或者预测RMSE和参考RMSE的比值低于一定的可信度,则判断系统受到攻击。
为了实现该方法,本发明提供了一个实时入侵检测系统,包括数据选择模块、滑动窗口模块、傅里叶级数拟合模块、RMSE计算模块以及入侵判断模块。
其中,数据选择模块负责选择适当的历史记录;滑动窗口模块负责确定滑动窗口的大小和位置;傅里叶级数拟合模块负责拟合滑动窗口前后的历史数据,预测滑动窗口内的数据;RMSE计算模块负责计算预测结果和实际结果的RMSE;入侵判断模块负责根据预测RMSE和参考RMSE的差异或比值来判断系统是否受到攻击。
实施例1:按照图1,2,3所示,在一个具体的实施例中,本发明应用了本发明提出的基于傅里叶级数拟合的工控实时入侵检测方法,以保护一个工业控制系统免受非法入侵。
首先,本发明从系统的历史运行数据中选择了一段适当的历史记录。然后,本发明确定了滑动窗口的大小,取决于历史数据和系统实时数据的特性,以及预测的精度需求。
接下来,本发明将滑动窗口设置在历史数据上,滑动窗口的初始位置为t=0。滑动窗口开始运行,本发明利用滑动窗口前后的历史数据,使用傅里叶级数进行拟合,根据拟合数据预测滑动窗口内的数据。然后,本发明计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的参考RMSE。
在系统开始实时运行时,本发明引入一个和之前相同大小的滑动窗口,将滑动窗口的初始位置置于t=0。系统开始运行,滑动窗口也随着系统运行。本发明利用滑动窗口前的系统实时数据和滑动窗口后的历史数据,使用傅里叶级数进行拟合,预测滑动窗口中的数据。然后,本发明计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的预测RMSE。
最后,本发明计算预测RMSE和参考RMSE的差的绝对值,如果结果大于预设的阈值,本发明判断系统受到攻击。或者,本发明将两个RMSE中数值小的RMSE除以数值大的RMSE,得到的百分比即为系统这一时刻的可信度,如果可信度低于一定阈值,本发明也判断系统受到攻击。
实施例2:本实施例提供场景1是温度控制,场景2是无人机高度控制,每个场景考虑了四种不同参数的系统。考虑的攻击有6个,其中注入控制命令和注入错误参数分别有3个,具体如表1、表2所示。
表1:注入控制命令参数;
场景 | 系统 | 参数 |
场景1 | 系统1 | P=0.2,I=0.3,D=0.1 |
场景1 | 系统2 | P=0.3,I=0.4,D=0.2 |
场景1 | 系统3 | P=0.5,I=0.6,D=0.4 |
场景1 | 系统4 | P=0.8,I=0.9,D=0.5 |
场景2 | 系统5 | P=1,I=5,D=0.1 |
场景2 | 系统6 | P=2,I=6,D=0.2 |
场景2 | 系统7 | P=3,I=7,D=0.2 |
场景2 | 系统8 | P=3,I=10,D=0.1 |
表2:注入错误参数;
受到攻击影响下的系统如下图4所示;
由于拟合本身存在误差,因此只用预测RMSE衡量系统是否遭受入侵容易产生误报的情况,因此使用参考RMSE(R1)、预测RMSE(R2)共同判断系统是否出现异常。判断系统出现异常的标准为|R2-R1|是否大于一个阈值σ。当系统正常运行时,R1、R2的差距不会很大。即使预测RMSE出现了一些误差,当系统正常运行时,参考RMSE也会出现同样得误差,这能减少误报的产生。当系统出现异常时,R2会出现较为明显的变化,但R2不会出现明显的变化,导致|R2-R1|的值会随之变大。当|R2-R1|的值大于某一阈值时,IDS就会报警。检测结果如下图5所示,其中纵轴为|R2-R1|的值,横轴为系统运行时间;
上述判定方法对于历史数据丰富的ICS具有良好的检测效果,由于历史数据丰富可以获得精确的阈值σ。当系统历史数据并不丰富时,考虑使用零信任检测攻击。首先比较R1、R2的大小,若R1>R2,则用若R1<R2,则用/>计算得到的百分比即为此时系统的信任度,根据该信任度可以判断系统是否受到攻击。信任度过低则会报警。基于零信任的检测结果如下图6所示,其中纵轴为系统此时的信任度,横轴为运行时间;
实验1:系统9P=0.1,I=0.4,D=0.1,如图7所示;
实验2:系统10P=4,I=8,D=0.4,如图8所示;
通过上述实施例实验结果表面,本发明提供方法能够有效地实时监测和防止非法入侵,从而保护本发明的工业控制系统的安全。
以上实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
Claims (6)
1.一种基于傅里叶级数拟合的工控实时入侵检测方法,其特征在于:包含以下步骤:
S1:选择一条适当的历史记录;
S2:生成参考均方根误差为RMSE:
S2-1:选择适当大小的滑动窗口;
S2-2:将滑动窗口设置在历史数据上,滑动窗口初始位置为t=0;
S2-3:滑动窗口开始运行,利用滑动窗口前和滑动窗口后的历史数据使用傅里叶级数进行拟合,并根据拟合数据预测滑动窗口内的数据,其中ti和tj为滑动窗口的起止时间,滑动窗口前为<ti,滑动窗口后为>tj;
S2-4:计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的参考RMSE;
S2-5:滑动窗口运行,得到每一个时刻的参考RMSE;
S3:生成预测RMSE:
S3-1:引入和S2步骤一样大小的滑动窗口;
S3-2:初始化滑动窗口,将滑动窗口初始位置置于t=0,滑动窗口后的数据为S2步骤中的历史数据;
S3-3:系统开始运行,滑动窗口也随着系统运行,利用滑动窗口前的系统实时数据和滑动窗口后的历史数据,利用傅里叶级数进行拟合,预测滑动窗口中的数据;
S3-4:计算预测得到的数据和历史记录中对应滑动窗口时刻数据的RMSE,得到该时刻的预测RMSE;
S4:判断系统是否受到攻击;
当历史数据较多时,判断系统是否受到攻击的步骤如下:
S4-11:利用历史数据重复几次S2步骤,生成多组参考RMSE;
S4-12:利用历史数据模拟实时运行情况,生成S2步骤对应的多组预测RMSE;
S4-13:求S4-12得到的预测RMSE和S4-11得到的参考RMSE的差的绝对值,并取多组分析得到系统正常运行时的阈值σ;
S4-14:计算S3-3得到的预测RMSE和S2-3得到的参考RMSE的差的绝对值,若结果大于阈值σ,则判断系统受到攻击;
当历史数据较少时,判断系统是否受到攻击的步骤如下:
S4-21:比较S3-4得到的预测RMSE和S2-4得到的参考RMSE的大小;
S4-22:用两个RMSE中数值小的RMSE除以数值大的RMSE;
S4-23:得到的百分比即为系统这一时刻的可信度,系统运营方根据系统本身情况,判断系统此时是否出现异常。
2.根据权利要求1所述的一种基于傅里叶级数拟合的工控实时入侵检测方法,其特征在于:所述S2-3中傅里叶级数拟合包含以下步骤:
S2-31:将滑动窗口前的系统实时数据或历史数据,以及滑动窗口后的历史数据作为傅里叶级数拟合的输入数据;
S2-32:将输入数据进行傅里叶级数展开,得到一系列的正弦和余弦函数,其数学形式可以表示为:
其中,(a0,an,bn)是待确定的系数,T是周期,N是级数的项数;
S2-33:通过优化傅里叶级数中的系数,使得级数更好地拟合输入数据,以此构建一个预测模型,该模型能够预测未来的系统运行状态;
S2-34:利用上述预测模型,预测滑动窗口内的系统运行状态,生成预测数据,
其中,滑动窗口前的数据选用系统实时数据或历史数据,滑动窗口后的数据选用历史数据。
3.根据权利要求1所述的一种基于傅里叶级数拟合的工控实时入侵检测方法,其特征在于:所述S3中生成预测RMSE的具体步骤如下:
T1:确定滑动窗口的大小,记为w,大小取决于历史数据和系统实时数据的特性,以及预测的精度需求;
T2:设置滑动窗口的初始位置,在历史数据上为t=0,而在实时数据上,滑动窗口随着系统运行而移动,其位置可表示为t;
T3:在历史数据中,滑动窗口前的数据为t-w到t时刻的数据,滑动窗口后的数据为t到t+w时刻的数据,这两部分数据一同用于傅里叶级数拟合,以预测滑动窗口内的数据并生成参考RMSE;
T4:在系统实时运行时,滑动窗口前的数据为t-w到t时刻的实时数据,滑动窗口后的数据为t到t+w时刻的历史数据,这两部分数据一同用于傅里叶级数拟合,以预测滑动窗口内的数据并生成预测RMSE。
4.根据权利要求1所述的一种基于傅里叶级数拟合的工控实时入侵检测方法,其特征在于:所述S4中阈值的确定包含步骤Y1-Y3:
Y1:对于多次使用历史数据重复进行傅里叶级数拟合得到的多组RMSE预测值为和参考RMSE值为/>计算它们的差的绝对值为/>
Y2:对Y1步骤中得到的所有差的绝对值进行分析,确定系统正常运行时的阈值T,通过各种统计方法进行确定,设定为所有差的绝对值的平均值,即 或者根据一定的百分比进行确定;
Y3:在系统实时运行时,计算实时预测RMSE和参考RMSE的差的绝对值,如果该值大于Y2步骤确定的阈值,即Dt>T,则判断系统受到攻击。
5.根据权利要求1所述的一种基于傅里叶级数拟合的工控实时入侵检测方法,其特征在于:所述S4-23中系统的可信度的计算,包含步骤P1-P4:
P1:在系统实时运行时,获取每个时刻的预测RMSE和参考RMSE;
P2:比较P1步骤中得到的预测RMSE和参考RMSE的大小,然后取两者中数值小的RMSE和数值大的RMSE;
P3:将P2步骤中得到的数值小的RMSE即RMSEmin除以数值大的RMSE即RMSEmax,得到的比值乘以100%,即:
P4:P3步骤中得到的百分比即为系统这一时刻的可信度,系统运营方根据系统本身情况,判断系统此时是否出现异常。
6.根据权利要求1所述的一种基于傅里叶级数拟合的工控实时入侵检测方法,其特征在于:所述S2中生成均方根误差RMSE计算的具体步骤如下:
W1:对于每一个滑动窗口时刻,首先获得预测得到的数据和历史记录中对应的数据;
W2:计算预测得到的数据和历史记录中对应数据的误差,即它们之间的差值;
W3:对W2步骤中获得的所有误差值进行平方,得到平方误差;
W4:计算W3步骤中所有平方误差的平均值,得到均方误差;
W5:对W4步骤中得到的均方误差进行开方,得到均方根误差RMSE,其中,RMSE的计算公式为:
在该公式中,yi是实际值,是预测值,n是数据的数量,RMSE是预测误差的标准度量,它能够量化预测的精度。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310975178.7A CN116962063A (zh) | 2023-08-04 | 2023-08-04 | 一种基于傅里叶级数拟合的工控实时入侵检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310975178.7A CN116962063A (zh) | 2023-08-04 | 2023-08-04 | 一种基于傅里叶级数拟合的工控实时入侵检测方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116962063A true CN116962063A (zh) | 2023-10-27 |
Family
ID=88460274
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310975178.7A Pending CN116962063A (zh) | 2023-08-04 | 2023-08-04 | 一种基于傅里叶级数拟合的工控实时入侵检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116962063A (zh) |
-
2023
- 2023-08-04 CN CN202310975178.7A patent/CN116962063A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112202736B (zh) | 基于统计学习和深度学习的通信网络异常分类方法 | |
Li et al. | A sensor fault detection and diagnosis strategy for screw chiller system using support vector data description-based D-statistic and DV-contribution plots | |
Coble et al. | Applying the general path model to estimation of remaining useful life | |
CN109033499B (zh) | 一种多阶段一致性检验的航空发动机剩余寿命预测方法 | |
CN109829137B (zh) | 一种周期应力下非线性退化设备的寿命预测方法及系统 | |
CN109739214B (zh) | 工业过程间歇故障的检测方法 | |
CN112187528B (zh) | 基于sarima的工业控制系统通信流量在线监测方法 | |
CN112348237B (zh) | 一种动态钻井数据异常趋势检测方法 | |
CN112149860A (zh) | 一种自动异常检测方法和系统 | |
KR101941854B1 (ko) | 미취득 데이터 보정을 통한 부하 예측 시스템 및 방법 | |
CN110414154A (zh) | 一种带有双测点的风机部件温度异常检测和报警方法 | |
CN116105802B (zh) | 一种基于物联网的地下设施安全监测预警方法 | |
US10267519B2 (en) | System and method for detecting precursors to control blowout in combustion systems | |
GB2473602A (en) | Diagnosing EGR cooler efficiency in a Diesel engine | |
Juricek et al. | Predictive monitoring for abnormal situation management | |
CN113255783A (zh) | 基于无监督学习的传感器故障检测方法和装置 | |
KR102041683B1 (ko) | 결함 예측 방법 | |
CN108345711A (zh) | 基于事件驱动的动车组鲁棒传感器间歇故障检测方法 | |
CN114679310A (zh) | 一种网络信息安全检测方法 | |
CN113269327A (zh) | 一种基于机器学习的流量异常预测方法 | |
CN116962063A (zh) | 一种基于傅里叶级数拟合的工控实时入侵检测方法 | |
CN103364669B (zh) | Gis设备运行状态在线检测方法与系统 | |
CN111914386A (zh) | 一种基于退化模型不确定分析的可靠性评估方法及系统 | |
CN111413926A (zh) | 一种持续超限的故障预警方法 | |
Do | Statistical detection and isolation of cyber-physical attacks on SCADA systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |