CN111262722B - 一种用于工业控制系统网络的安全监测方法 - Google Patents
一种用于工业控制系统网络的安全监测方法 Download PDFInfo
- Publication number
- CN111262722B CN111262722B CN201911423677.5A CN201911423677A CN111262722B CN 111262722 B CN111262722 B CN 111262722B CN 201911423677 A CN201911423677 A CN 201911423677A CN 111262722 B CN111262722 B CN 111262722B
- Authority
- CN
- China
- Prior art keywords
- industrial control
- control system
- comparison result
- model
- data
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/147—Network analysis or design for predicting network behaviour
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/02—Capturing of monitoring data
- H04L43/028—Capturing of monitoring data by filtering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/16—Threshold monitoring
-
- 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/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/23—Clustering techniques
- G06F18/232—Non-hierarchical techniques
- G06F18/2321—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
- G06F18/23213—Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2411—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on the proximity to a decision surface, e.g. support vector machines
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/243—Classification techniques relating to the number of classes
- G06F18/24323—Tree-organised classifiers
-
- 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 Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
一种用于工业控制系统网络的安全监测方法,涉及核电站工业控制系统网络安全技术领域。首先获取工业控制系统网络的工控元数据并提取工控元数据的特征信息,然后将工控元数据的特征信息输入到预设模型中,最后依据预设模型输出的结果获取工业控制系统网络安全的风险指数。其中,工控元数据包括工业控制系统网络中传输的数据包。在不影响核电站工业控制系统网络正常运行安全和运行效率的基础上,实现了对工控系统网络安全运行数据的监控,以提高类似如核电站等国家关键基础设施中的工业控制系统网络安全和可靠性。
Description
技术领域
本发明涉及核电站工业控制系统网络安全技术领域,具体涉及一种用于工业控制系统网络的安全监测方法。
背景技术
长期以来,工业控制系统独立封闭,存在天然的安全性,因而其网络安全隐患一直被忽视,随着了“两化融合”的推进,实时数据库和报警管理等系统的部署实施,使得工业控制系统不再独立。同时工控系统伴随着IT技术的发展而发展,已由专用性向通用性演进,大量采集IT通用软硬件,例如PC、操作系统、数据库系统和以太网等,随之而来的,各种威胁和脆弱性也被引入了工业控制系统,所以工业控制系统网络安全问题日益突出。尤其类似如核电站等国家关键基础设施中的工业控制系统网络安全问题更为突出。
在现有技术中,工业控制系统的安全防护一般采取逐层防护的方式部署,即在攻击路径上的任意位置如企业网入口、监控层网络入口、现场层网络入口设置特定的防护措施,阻断攻击,实现对安全等级最高的现场层的保护,工控安全防护设备需能支持各式现场总线通讯协议,层层拆解数据封包,深入剖析封包结构与封包内容,确保封包的合法性,即所谓的深层管理。然而,采用代理方式工作的工控防火墙工作在应用层,其工作方式是完全控制会话,针对特定的应用层协议,通过对每种应用服务建立专门的代理服务程序,支持MODBUS、OPC等多种工业协议,也可支持FTP等工控网内常见的传统协议的过滤,实现了工控以太网中常用控制协议的内容分析和完整性检查,能很好地监控工控协议的控制行为。通过对控制协议的深度分析,防止伪装成正常通信协议内容的恶意代码进入工业控制系统网络内部或区域内部,从而防止畸形代码攻击等多种发生在工控以太网络内部的攻击。虽然可以实现监控和控制应用层通信流的作用,但是其速度较慢,消耗过多的CPU资源,使得防护设备成为安全防护的瓶颈。尤其是在防护设备的CPU资源占用较多、接口流量过大时,处理速度过慢,安全防护设备成为响应瓶颈,对一切数据进行过滤分析造成速度过慢,数据交换有较大的时延,不适应工控系统的实时性要求,严重影响工控现场网络,甚至造成网络瘫痪,无法动态地适应现场情况,造成无法弥补的损失。
发明内容
为了解决现有技术中存在的上述问题,本申请提供一种用于工业控制系统网络的安全监测方法。
根据第一方面,一种实施例中提供一种用于工业控制系统网络的安全监测方法,包括:
获取所述工业控制系统网络的工控元数据;所述工控元数据包括所述工业控制系统网络中传输的数据包;
提取所述工控元数据的特征信息;
将所述工控元数据的特征信息输入到预设模型,并依据所述预设模型输出的结果获取所述工业控制系统网络安全的风险指数。
进一步,所述获取所述工业控制系统网络的工控元数据,包括:
从所述工业控制系统网络的网卡循环队列中获取发送和接收两个方向的数据包。
进一步,所述工业控制系统网络中传输的数据包包括所述工业控制系统网络传输的用于组态变更、操作指令变更、指令参数变更、开关机、启动停止程序、PLC下装和/或负载变更数据的数据包;和/或,所述工控元数据的特征信息包括所述数据包的MAC地址、IP地址、端口、工控指令、控制点位信息和/或应用层协议。
进一步,所述预设模型包括基于时间序列对数据深度解析进行异常检测模型、树模型、支持向量机模型和/或聚类算法模型。
进一步,所述基于时间序列对数据深度解析进行异常检测模型的建立包括:
对基于时间序列按一预设采样频率和/或采样周期获取工控元数据的特征信息建立训练集;
依据一预设换算方法获取训练集的正常值区间,以建立基于时间序列对数据深度解析进行异常检测模型。
进一步,所述依据一预设换算方法获取训练集的正常值区间,包括:
所述正常值区间为(μ-3σ,μ+3σ),其中,μ为训练集样本平均值,σ为样本方差。
进一步,所述依据一预设换算方法获取训练集的正常值区间,包括:
所述正常值区间为大于Q3+1.5IQR之外的数和小于Q1-1.5IQR,其中,Q1为所述训练集样本中所有数值由小到大排列后第25%的数字,Q3为所述训练集样本中所有数值由小到大排列后第75%的数字,IQR为Q3和Q1的差。
进一步,所述树模型的建立包括:
分别对每个所述工控元数据的特征信息建立决策树模型;将样本分为训练集、验证集和测试集;所述样本是基于时间序列按一预设采样频率和/或采样周期获取所述工控元数据的特征信息;依据树类算法,按一预设异常指数比例筛选所述训练集,并通过所述验证集优化参数;采用所述测试集评估模型训练的效果,选取最优的作为所述树模型;每个所述决策树模型进行投票,依据每个所述决策树模型的投票结果获取树模型的输出结果;
和/或,所述支持向量机模型的建立包括:
对所述工控元数据的特征信息建立支持向量机模型;将样本分为训练集、验证集和测试集;所述样本是基于时间序列按一预设采样频率和/或采样周期获取所述工控元数据的特征信息;依据支持向量机类算法,按一预设预测错误率筛选所述训练集,并通过所述验证集优化参数;采用所述测试集评估模型训练的效果,选取最优的作为所述支持向量机模型;
和/或,所述聚类算法模型的建立包括:
对基于时间序列按一预设采样频率和/或采样周期获取所述工控元数据的特征信息建立数据集;将所述数据集划分为训练集和测试集;采用聚类算法依据所述训练集构建所述聚类算法模型;采用所述测试集评估模型训练的效果,选取最优的作为所述聚类算法模型;所述聚类算法包括基于密度的聚类算法。
进一步,所述依据所述预设模型输出的结果获取所述工业控制系统网络安全的风险指数,包括:
将所述树模型输出的结果与所述第一预设阈值进行比较,以获取第一比较结果,所述第一比较结果包括异常和正常;
将所述支持向量机模型输出的结果与所述第二预设阈值进行比较,以获取第二比较结果,所述第二比较结果包括异常和正常;
将所述聚类算法模型输出的结果与所述第三预设阈值进行比较,以获取第三比较结果,所述第三比较结果包括异常和正常;
依据所述第一比较结果、第二比较结果和/或第三比较结果获取所述工业控制系统网络安全的风险指数。
进一步,所述依据所述第一比较结果、第二比较结果和/或第三比较结果获取所述工业控制系统网络安全的风险指数,包括:
所述工业控制系统网络安全的风险指数包括传输数据的异常指标,所述传输数据的异常指标包括正常数据、异常数据、较异常数据和/或一般异常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中都是正常则所述工业控制系统网络安全的风险指数为正常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中都是异常则所述工业控制系统网络安全的风险指数为异常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中两个是异常则所述工业控制系统网络安全的风险指数为较异常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中一个是异常则所述工业控制系统网络安全的风险指数为一般异常数据。
依据上述实施例的用于工业控制系统网络的安全监测方法,首先获取工业控制系统网络的工控元数据并提取工控元数据的特征信息,然后将工控元数据的特征信息输入到预设模型中,最后依据预设模型输出的结果获取工业控制系统网络安全的风险指数。其中,工控元数据包括工业控制系统网络中传输的数据包。在不影响核电站工业控制系统网络正常运行安全和运行效率的基础上,实现了对工控系统网络安全运行数据的监控,以提高类似如核电站等国家关键基础设施中的工业控制系统网络安全和可靠性。
附图说明
图1为一种实例中用于工业控制系统网络的安全监测方法的流程示意图;
图2为深度数据包解析技术示意图;
图3为一种实施例中以IEC104协议特征信息建立树模型的输出示意图;
图4为一种实施例中以IEC104协议特征信息建立树模型的输出示意图;
图5为工业控制系统网络安全的风险指数获取示意图。
具体实施方式
下面通过具体实施方式结合附图对本发明作进一步详细说明。其中不同实施方式中类似元件采用了相关联的类似的元件标号。在以下的实施方式中,很多细节描述是为了使得本申请能被更好的理解。然而,本领域技术人员可以毫不费力的认识到,其中部分特征在不同情况下是可以省略的,或者可以由其他元件、材料、方法所替代。在某些情况下,本申请相关的一些操作并没有在说明书中显示或者描述,这是为了避免本申请的核心部分被过多的描述所淹没,而对于本领域技术人员而言,详细描述这些相关操作并不是必要的,他们根据说明书中的描述以及本领域的一般技术知识即可完整了解相关操作。
另外,说明书中所描述的特点、操作或者特征可以以任意适当的方式结合形成各种实施方式。同时,方法描述中的各步骤或者动作也可以按照本领域技术人员所能显而易见的方式进行顺序调换或调整。因此,说明书和附图中的各种顺序只是为了清楚描述某一个实施例,并不意味着是必须的顺序,除非另有说明其中某个顺序是必须遵循的。
本文中为部件所编序号本身,例如“第一”、“第二”等,仅用于区分所描述的对象,不具有任何顺序或技术含义。而本申请所说“连接”、“联接”,如无特别说明,均包括直接和间接连接(联接)。
数据采集,又称数据获取,是利用采集装置,数据获取的方式也是采样方式,即隔一定时间(称采样周期)对同一点数据重复采集。采集的数据大多是瞬时值,也可是某段时间内的一个特征值。采样方式的选择是基于实现准确的数据测量,而数据量测方法有接触式和非接触式,检测元件多种多样。但不论哪种方法和元件,均以不影响被测对象状态和测量环境为前提,以保证数据的正确性。数据采集含义很广,包括对面状连续物理量的采集。在计算机辅助制图、测图、设计中,对图形或图像数字化过程也可称为数据采集,此时被采集的是几何量(或包括物理量,如灰度)数据。工业控制系统的数据采集过程,是从工业控制系统外部采集数据并输入到系统内部的一个过程,被采集数据是已被转换为电讯号的各种物理量,如温度、水位、风速、压力等,可以是模拟量,也可以是数字量。工业控制系统网络就是用于采集装置、采集控制装置、监测装置和检测控制装置等工业控制设备之间的数据传输,其传输的数据包括针对工业控制设备的操作行为的元数据(例如:组态变更、操作指令变更、指令参数变更、开关机、启动停止程序、PLC下装、负载变更等操作行为数据)和设备状态及行为数据(例如:设备流量、设备收发指令和控制参数等)。而核电站工业控制系统基于核电站安全运行的目的,需要根据工业控制系统网络传输的元数据和设备状态及行为数据来构建核电站控制设备健康状态预警模型,以对核电站控制设备的健康状况进行实时监测,并依据健康状态预警模型输出的结果对核电站工控系统各个设备的健康状态进行评估和预警。
在本申请实施例中,首先获取工业控制系统网络的工控元数据并提取工控元数据的特征信息,然后将工控元数据的特征信息输入到预设模型中,最后依据预设模型输出的结果获取工业控制系统网络安全的风险指数。其中,工控元数据包括工业控制系统网络中传输的数据包。在不影响核电站工业控制系统网络正常运行安全和运行效率的基础上,实现了对工控系统网络安全运行数据的监控,以提高类似如核电站等国家关键基础设施中的工业控制系统网络安全和可靠性。
实施例一
请参考图1,为一种实例中用于工业控制系统网络的安全监测方法的流程示意图,包括:
步骤100,获取工业控制系统网络的工控元数据;
获取工业控制系统网络的工控元数据,其中,工控元数据包括工业控制系统网络中传输的数据包,工业控制系统网络中传输的数据包包括所述工业控制系统网络传输的用于组态变更、操作指令变更、指令参数变更、开关机、启动停止程序、PLC下装和/或负载变更数据的数据包。一实施例中,从工业控制系统网络的网卡循环队列中获取发送和接收两个方向的数据包,网卡通过循环队列(即NIC环)来管理数据包的传输,每个网卡至少维护一对NIC环,分别用以管理发送和接收两个方向的数据包。直接从千兆或万兆网卡的循环队列里获取网络中传输的数据包能够有效地节省CPU等计算机的处理器资源。在本申请实施例中,采用“零拷贝”流量数据采集方式,即通过减少数据拷贝或共享总线操作次数,消除通信数据的不必要的拷贝过程,例如直接缓存访问(direct buffer access)。DBA为了节省内核态和用户态之间的拷贝,可以将应用程序直接跑在内核态,能够有效地提高通信效率、节省存储空间和处理时间,从而有效提高采集性能,实现快速流量采集。
步骤200,提取工控元数据的特征信息;
工控元数据的特征信息包括数据包的MAC地址、IP地址、端口、工控指令、控制点位信息和/或应用层协议。请参考图2,为深度数据包解析技术示意图,本申请实施例中,基于深度数据包解析(Deep packet inspection,缩写为 DPI)的网络技术获取工控元数据的特征信息,对获取的工业控制系统网络中传输的数据包进行深度解析,DPI通过用“旁路接入”的方式接入到网络,它会对网络中的每个数据包进行检查,解析出MAC地址、IP地址、端口、工控指令、控制点位信息及应用层协议内容(例如对工程师站组态变更、操控指令变更、PLC下装、负载变更等)。
下面以对工业控制系统中的协议包数据进行深度解析为例,以表述工控元数据的特征信息的获取。当通用部分的TYPE=IEC104时,该条报文的DEEP标签被IEC104深度数据模板替代,IEC104在表项上具体细分为I帧,S帧,U帧,现以U帧为例说明IEC104深度数据格式,如下表所示:
特征字段 | 特征介绍 |
启动数据传输 | |
停止数据传输 | |
测试数据传输 | |
总召唤 | |
电能脉冲召唤命令 | |
读命令 | |
CON <103>(con_103) | 时钟同步命令 |
CON <105>(con_105) | 复位进程命令 |
CON <110>(con_110) | 测量值参数,规一化值 |
CON <111>(con_111) | 测量值参数,标度化值 |
CON <120>(con_120) | 文件已准备好 |
步骤300,将工控元数据的特征信息输入到预设模型;
在本申请实施例中,预设模型包括基于时间序列对数据深度解析进行异常检测模型、树模型、支持向量机模型和/或聚类算法模型。
(一)基于时间序列对数据深度解析进行异常检测模型的建立包括:
1)对基于时间序列按一预设采样频率和/或采样周期获取工控元数据的特征信息建立训练集;
2)按一预设换算方法获取训练集的正常值区间,以建立基于时间序列对数据深度解析进行异常检测模型;
一实施例中,正常值区间为(μ-3σ,μ+3σ),其中,μ为训练集样本平均值,σ为样本方差。
以IEC104的特征字段进行分析为例,首先以读写指令CON_102单特征建立基于时间序列对数据深度解析进行异常检测模型为例:
首先用一个月的深度报文解析数据为训练集,计算出CON_102每小时CON_102读指令的数量(Count_hour_con_102=Count(con_102)/Hour)以及对应平均值μ和方差σ。
正常的取值范围在(μ-3σ,μ+3σ)区间内的概率为99.74。
则当后期深度报文解析中的Count_hour_con_102 的数据分布超过这个区间时,即可认为是异常数据。其中μ-3σ和μ+3σ便是我们需要的阈值,实时存储这些阈值,后期将这些阈值作为时间序列中的异常判别基线依据。
一实施例中,正常值区间为大于Q3+1.5IQR之外的数和小于Q1-1.5IQR,其中,Q1为所述训练集样本中所有数值由小到大排列后第25%的数字,Q3为所述训练集样本中所有数值由小到大排列后第75%的数字,IQR为Q3和Q1的差。
以电能脉冲召唤命令((CON_101)特征为例,计算每分钟下电能脉冲召唤命令((CON_101)特征Count_minute_con_101=Count(con_101)/Minute的第一四分位数Q1、第二四分位数Q2、第三四分位数Q3和四分位间距IQR。
第一四分位数Q1,又称“较小四分位数”或“下四分位数”,等于该样本中所有数值由小到大排列后第25%的数字。
第二四分位数Q2,又称“中位数”,等于该样本中所有数值由小到大排列后第50%的数字。
第三四分位数Q3,又称“较大四分位数”或“上四分位数”,等于该样本中所有数值由小到大排列后第75%的数字。
第三四分位数与第一四分位数的差距又称四分位间距(InterQuartile Range,IQR),简称四分差。
大于Q3+1.5IQR之外的数和小于Q1-1.5IQR的值被认为是异常值(或3倍),其中Q3+1.5IQR和Q1-1.5IQR便是我们需要的阈值。正对特殊情况下将Q3+1.5IQR作为基数重新计算上边界得到极端异常,实时存储这些阈值,后期将这些阈值作为时间序列中的异常判别基线依据。
在本实例中开创性的提出极端上四分位法,即取上四分位以上的数据计算出一个新的上四分数和四分差,然后将上四分位数加四分差,从而得到极端上四分位法的极端异常上界阈值。依据极端上四分位法原理还提出极端下四分位法,即取下四分位以上的数据计算出一个新的下四分数和四分差,然后将下四分位数加四分差,从而得到极端下四分位法的极端异常下界阈值。其中,在本实施例中,基于时间序列对数据深度解析进行异常检测模型对基于时间序列按一预设采样频率和/或采样周期获取工控元数据的特征信息,是指将同一统计指标的数值按其发生的时间先后顺序排列而成的数列,例如,T时刻的数值对于T−1时刻具有较强的依赖性。比如深度报文解析数据在8:00很多,在8:01时刻深度报文解析数据很多的概率是很大的,但是如果07:01时刻对于8:01时刻影响不是很大。首先,我们可以使用最近时间窗口(T)内的数据遵循某种趋势的现象来做文章。比如我们将T设置为7(表示一周的时间),则创新性的将极端上四分位法和普通上四分位数加一倍半的四分差值作为检测值和过去7个时间点进行比较,同时本实施例还可引入自适应的滑动窗口和动态检测值。如果大于阈值我们将计数器加1,如果计数器超过我们设置的计数器总值,则认为该点是异常点。
(二)树模型的建立包括:
1)分别对每个工控元数据的特征信息建立决策树模型;
2)将样本分为训练集、验证集和测试集,样本是基于时间序列按一预设采样频率和/或采样周期获取工控元数据的特征信息。
3)依据树类算法,按一预设异常指数比例筛选训练集,并通过验证集优化参数;
4)采用测试集评估模型训练的效果,选取最优的作为最终使用的树模型。
由于工控元数据的特征信息比较多,所以建立的决策树模型也比较多,因此可将每个决策树模型进行投票,依据每个决策树模型的投票结果获取树模型的输出结果。一是实例中,树类算法包括孤独森林算法(Isolation Forest),孤立森林属于一种无参数的非监督算法,他是一种侦测异常十分有效的组合算法,底层用的是决策树,包括:建立n个决策树模型;随机抽取样本数据输入这n个模型进行训练(随机按最大最小切割);切到指定异常数据比例为止;利用n个决策树进行投票,求出异常系数。
请参考图3和图4,为一种实例中以IEC104协议特征信息建立树模型的输出示意图,下面以IEC104协议为例,对每种报文收集统计了历史上的所有发生过的Session,利用Session的特征值计算得出事件的特征值,以及得到报文的均值和标准差,可以将Session按照“单位时间窗口”进行划分,单位为1分钟,采用同样的特征值可以计算出该分钟内的流量情况,利用该“单位时间窗口”可以对当前流量进行实时检测是否有异常,阈值为5倍标准差。同时,对每种报文建立一个孤立森林模型,用以确定报文深度解析后是否有异常情况,阈值为每棵子树的高度平均值。
(三)支持向量机模型的建立包括:
1)对工控元数据的特征信息建立支持向量机模型;
2)将样本分为训练集、验证集和测试集;样本是基于时间序列按一预设采样频率和/或采样周期获取工控元数据的特征信息;
3)依据支持向量机类算法,按一预设预测错误率筛选训练集,并通过验证集优化参数;
4)采用测试集评估模型训练的效果,选取最优的作为支持向量机模型。
一实施例中,支持向量机类算法包括单类支持向量机(One Class SVM)算法,在工厂设备中,控制系统的任务是判断是否有意外情况出现,例如产品质量过低,机器产生奇怪的震动或者机器零件脱落等。相对来说容易得到正常场景下的训练数据,但故障系统状态的收集示例数据可能相当昂贵,或者根本不可能.所以这里寻找单样本检测相关的算法。One Class SVM也是属于支持向量机大家族的,但是它和传统的基于监督学习的分类回归支持向量机不同,它是无监督学习的方法,也就是说,它不需要我们标记训练集的输出标签。寻找一个超平面将样本中的正例圈出来,预测就是用这个超平面做决策,在圈内的样本就认为是正样本。One Class SVM训练出一个最小的超球面(超球面是指三维以上的空间中的球面,对应的二维空间中就是曲线,三维空间中就是球面),将这堆数据全部“包起来”,识别一个新的数据点时,如果这个数据点落在超球面内,就属于这个类,否则不是,输出异常点。
(四)聚类算法模型的建立包括:
1)对基于时间序列按一预设采样频率和/或采样周期获取工控元数据的特征信息建立数据集;
2)将数据集划分为训练集和测试集;
3)采用聚类算法依据训练集构建所述聚类算法模型;
4)采用测试集评估模型训练的效果,选取最优的作为聚类算法模型。
一实施例中,聚类算法包括基于密度的聚类算法。密度的聚类算法(DBSCAN)是一维或多维特征空间中的非参数,基于密度的离群值检测方法。在DBSCAN聚类技术中,所有数据点都被定义为核心点(Core Points)、边界点(Border Points)或噪声点(NoisePoints)。核心点是在距离ℇ内至少具有最小包含点数(minPTs)的数据点,边界点是核心点的距离ℇ内邻近点,但包含的点数小于最小包含点数(minPTs),所有的其他数据点都是噪声点,也被标识为异常值。从而,异常检测取决于所要求的最小包含点数、距离ℇ和所选择的距离度量。
步骤400,获取预设模型输出的结果;
依据预设模型输出的结果获取工业控制系统网络安全的风险指数,包括:
将树模型输出的结果与第一预设阈值进行比较,以获取第一比较结果,第一比较结果包括异常和正常;将支持向量机模型输出的结果与第二预设阈值进行比较,以获取第二比较结果,第二比较结果包括异常和正常;将聚类算法模型输出的结果与第三预设阈值进行比较,以获取第三比较结果,第三比较结果包括异常和正常。
步骤500,依据预设模型输出的结果获取工业控制系统网络安全的风险指数。
请参考图5,为工业控制系统网络安全的风险指数获取示意图,依据第一比较结果、第二比较结果和/或第三比较结果获取工业控制系统网络安全的风险指数。其中,工业控制系统网络安全的风险指数包括传输数据的异常指标,传输数据的异常指标包括正常数据、异常数据、较异常数据和/或一般异常数据。当第一比较结果、第二比较结果和/或第三比较结果中都是正常则工业控制系统网络安全的风险指数为正常数据;当第一比较结果、第二比较结果和/或第三比较结果中都是异常则工业控制系统网络安全的风险指数为异常数据;当第一比较结果、第二比较结果和/或第三比较结果中两个是异常则工业控制系统网络安全的风险指数为较异常数据;当第一比较结果、第二比较结果和/或第三比较结果中一个是异常则工业控制系统网络安全的风险指数为一般异常数据。
在本申请实施例中,首先获取工业控制系统网络的工控元数据并提取工控元数据的特征信息,然后将工控元数据的特征信息输入到预设模型中,最后依据预设模型输出的结果获取工业控制系统网络安全的风险指数。其中,工控元数据包括工业控制系统网络中传输的数据包。在不影响核电站工业控制系统网络正常运行安全和运行效率的基础上,实现了对工控系统网络安全运行数据的监控,以提高类似如核电站等国家关键基础设施中的工业控制系统网络安全和可靠性。
本申请公开的用于工业控制系统网络的安全监测方法基于工控系统协议深度解析技术、融合基于时间序列的数据深度解析及多种模型融合综合,通过对工控协议的深度分析,防止伪装成正常通信协议内容的恶意代码进入工业控制系统网络内部或区域内部,从而防止畸形代码攻击等多种发生在工控以太网络内部的攻击。本方法基于对工控通信协议的深度解析,自动学习工控操作行为规则和通信关系,对通信行为建立安全监测模型,基于安全监测模型去检测业务流量中不合规操作等异常通信行为,并进行实时告警。基于本方法能有效抵御新型工控系统病毒(如海量虚假数据注入式攻击、水滴式数据串行连续攻击)等。
本领域技术人员可以理解,上述实施方式中各种方法的全部或部分功能可以通过硬件的方式实现,也可以通过计算机程序的方式实现。当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘、光盘、硬盘等,通过计算机执行该程序以实现上述功能。例如,将程序存储在设备的存储器中,当通过处理器执行存储器中程序,即可实现上述全部或部分功能。另外,当上述实施方式中全部或部分功能通过计算机程序的方式实现时,该程序也可以存储在服务器、另一计算机、磁盘、光盘、闪存盘或移动硬盘等存储介质中,通过下载或复制保存到本地设备的存储器中,或对本地设备的系统进行版本更新,当通过处理器执行存储器中的程序时,即可实现上述实施方式中全部或部分功能。
以上应用了具体个例对本发明进行阐述,只是用于帮助理解本发明,并不用以限制本发明。对于本发明所属技术领域的技术人员,依据本发明的思想,还可以做出若干简单推演、变形或替换。
Claims (8)
1.一种用于工业控制系统网络的安全监测方法,其特征在于,包括:
获取所述工业控制系统网络的工控元数据;所述工控元数据包括所述工业控制系统网络中传输的数据包;
提取所述工控元数据的特征信息;
将所述工控元数据的特征信息输入到预设模型,并依据所述预设模型输出的结果获取所述工业控制系统网络安全的风险指数;
所述预设模型包括树模型、支持向量机模型和/或聚类算法模型;
所述树模型的建立包括:
分别对每个所述工控元数据的特征信息建立决策树模型;将样本分为训练集、验证集和测试集;所述样本是基于时间序列按一预设采样频率和/或采样周期获取所述工控元数据的特征信息;依据树类算法,按一预设异常指数比例筛选所述训练集,并通过所述验证集优化参数;采用所述测试集评估模型训练的效果,选取最优的作为所述树模型;每个所述决策树模型进行投票,依据每个所述决策树模型的投票结果获取树模型的输出结果;
所述支持向量机模型的建立包括:
对所述工控元数据的特征信息建立支持向量机模型;将样本分为训练集、验证集和测试集;所述样本是基于时间序列按一预设采样频率和/或采样周期获取所述工控元数据的特征信息;依据支持向量机类算法,按一预设预测错误率筛选所述训练集,并通过所述验证集优化参数;采用所述测试集评估模型训练的效果,选取最优的作为所述支持向量机模型;
所述聚类算法模型的建立包括:
对基于时间序列按一预设采样频率和/或采样周期获取所述工控元数据的特征信息建立数据集;将所述数据集划分为训练集和测试集;采用聚类算法依据所述训练集构建所述聚类算法模型;采用所述测试集评估模型训练的效果,选取最优的作为所述聚类算法模型;所述聚类算法包括基于密度的聚类算法。
2.如权利要求1所述的方法,其特征在于,所述获取所述工业控制系统网络的工控元数据,包括:
从所述工业控制系统网络的网卡循环队列中获取发送和接收两个方向的数据包。
3.如权利要求1所述的方法,其特征在于,所述工业控制系统网络中传输的数据包包括所述工业控制系统网络传输的用于组态变更、操作指令变更、指令参数变更、开关机、启动停止程序、PLC下装和/或负载变更数据的数据包;和/或,所述工控元数据的特征信息包括所述数据包的MAC地址、IP地址、端口、工控指令、控制点位信息和/或应用层协议。
4.如权利要求1所述的方法,其特征在于,所述基于时间序列对数据深度解析进行异常检测模型的建立包括:
对基于时间序列按一预设采样频率和/或采样周期获取工控元数据的特征信息建立训练集;
依据一预设换算方法获取训练集的正常值区间,以建立基于时间序列对数据深度解析进行异常检测模型。
5.如权利要求4所述的方法,其特征在于,所述依据一预设换算方法获取训练集的正常值区间,包括:
所述正常值区间为(μ-3σ,μ+3σ),其中,μ为训练集样本平均值,σ为样本方差。
6.如权利要求4所述的方法,其特征在于,所述依据一预设换算方法获取训练集的正常值区间,包括:
所述正常值区间为大于Q3+1.5IQR之外的数和小于Q1-1.5IQR,其中,Q1为所述训练集样本中所有数值由小到大排列后第25%的数字,Q3为所述训练集样本中所有数值由小到大排列后第75%的数字,IQR为Q3和Q1的差。
7.如权利要求1所述的方法,其特征在于,所述依据所述预设模型输出的结果获取所述工业控制系统网络安全的风险指数,包括:
将所述树模型输出的结果与一第一预设阈值进行比较,以获取第一比较结果,所述第一比较结果包括异常和正常;
将所述支持向量机模型输出的结果与一第二预设阈值进行比较,以获取第二比较结果,所述第二比较结果包括异常和正常;
将所述聚类算法模型输出的结果与一第三预设阈值进行比较,以获取第三比较结果,所述第三比较结果包括异常和正常;
依据所述第一比较结果、第二比较结果和/或第三比较结果获取所述工业控制系统网络安全的风险指数。
8.如权利要求7所述的方法,其特征在于,所述依据所述第一比较结果、第二比较结果和/或第三比较结果获取所述工业控制系统网络安全的风险指数,包括:
所述工业控制系统网络安全的风险指数包括传输数据的异常指标,所述传输数据的异常指标包括正常数据、异常数据、较异常数据和/或一般异常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中都是正常则所述工业控制系统网络安全的风险指数为正常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中都是异常则所述工业控制系统网络安全的风险指数为异常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中两个是异常则所述工业控制系统网络安全的风险指数为较异常数据;
当所述第一比较结果、第二比较结果和/或第三比较结果中一个是异常则所述工业控制系统网络安全的风险指数为一般异常数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423677.5A CN111262722B (zh) | 2019-12-31 | 2019-12-31 | 一种用于工业控制系统网络的安全监测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911423677.5A CN111262722B (zh) | 2019-12-31 | 2019-12-31 | 一种用于工业控制系统网络的安全监测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111262722A CN111262722A (zh) | 2020-06-09 |
CN111262722B true CN111262722B (zh) | 2023-04-18 |
Family
ID=70952523
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911423677.5A Active CN111262722B (zh) | 2019-12-31 | 2019-12-31 | 一种用于工业控制系统网络的安全监测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111262722B (zh) |
Families Citing this family (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111800312B (zh) * | 2020-06-23 | 2021-08-24 | 中国核动力研究设计院 | 一种基于报文内容分析的工控系统异常检测方法及系统 |
CN113882908B (zh) * | 2020-07-03 | 2023-07-25 | 东方电气股份有限公司 | 基于被动监测算法的汽轮机网络安全离线监测系统及方法 |
CN112116014A (zh) * | 2020-09-24 | 2020-12-22 | 贵州电网有限责任公司 | 一种配电自动化设备测试数据离群值检测方法 |
CN112653693A (zh) * | 2020-12-21 | 2021-04-13 | 哈尔滨工大天创电子有限公司 | 一种工控协议分析方法、装置、终端设备及可读存储介质 |
CN112699113B (zh) * | 2021-01-12 | 2022-08-05 | 上海交通大学 | 时序数据流驱动的工业制造流程运行监测系统 |
WO2022169420A1 (en) * | 2021-02-05 | 2022-08-11 | Singapore University Of Technology And Design | Anomaly detection system and method for an industrial control system |
CN112698622B (zh) * | 2021-03-23 | 2021-06-18 | 中国信息通信研究院 | 自动控制方法、装置及机器可读存储介质 |
CN112905671A (zh) * | 2021-03-24 | 2021-06-04 | 北京必示科技有限公司 | 时间序列异常处理方法、装置、电子设备及存储介质 |
CN114019946B (zh) * | 2021-11-11 | 2023-08-29 | 辽宁石油化工大学 | 工控终端的监控数据处理方法及装置 |
CN114154866A (zh) * | 2021-12-02 | 2022-03-08 | 北京顶象技术有限公司 | 一种上市企业财务风险预警方法和系统 |
CN114697081B (zh) * | 2022-02-28 | 2024-05-07 | 国网江苏省电力有限公司淮安供电分公司 | 基于iec61850 sv报文运行态势模型的入侵检测方法和系统 |
CN115118447A (zh) * | 2022-03-16 | 2022-09-27 | 杭州迦尔科技有限公司 | 工控网络流量的安全判别方法、装置、电子装置和介质 |
CN116192494B (zh) * | 2023-02-13 | 2023-10-20 | 山东云天安全技术有限公司 | 一种确定异常数据的方法、电子设备及存储介质 |
CN115826542B (zh) * | 2023-02-16 | 2023-05-05 | 北京网藤科技有限公司 | 基于工业互联网的生产智能调控系统及方法 |
CN116680621A (zh) * | 2023-08-02 | 2023-09-01 | 国网江苏省电力有限公司 | 一种避雷器相角差预测方法、装置、设备及存储介质 |
CN117851789B (zh) * | 2024-03-05 | 2024-05-31 | 北京珞安科技有限责任公司 | 一种基于人工智能的工控设备运行质量评估系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871638B (zh) * | 2016-06-03 | 2019-03-12 | 北京启明星辰信息安全技术有限公司 | 一种网络安全控制方法及装置 |
WO2018218537A1 (zh) * | 2017-05-31 | 2018-12-06 | 西门子公司 | 工业控制系统及其网络安全的监视方法 |
US10614214B2 (en) * | 2018-01-02 | 2020-04-07 | Honeywell International Inc. | Using machine learning to detect communication channel abnormalities in an ICS/IIoT application |
CN109861988A (zh) * | 2019-01-07 | 2019-06-07 | 浙江大学 | 一种基于集成学习的工业控制系统入侵检测方法 |
CN110175756B (zh) * | 2019-05-07 | 2022-01-07 | 岭澳核电有限公司 | 核电站信息系统运行安全预警方法、装置、设备及介质 |
-
2019
- 2019-12-31 CN CN201911423677.5A patent/CN111262722B/zh active Active
Non-Patent Citations (1)
Title |
---|
核电站工控信息安全检测平台建设实践;张琪;《大众用电》;20171230;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN111262722A (zh) | 2020-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111262722B (zh) | 一种用于工业控制系统网络的安全监测方法 | |
CN114584405B (zh) | 一种电力终端安全防护方法及系统 | |
Zolanvari et al. | Effect of imbalanced datasets on security of industrial IoT using machine learning | |
KR101538709B1 (ko) | 산업제어 네트워크를 위한 비정상 행위 탐지 시스템 및 방법 | |
CN107360145B (zh) | 一种多节点蜜罐系统及其数据分析方法 | |
CN107346388A (zh) | Web攻击检测方法及装置 | |
CN106502234A (zh) | 基于双轮廓模型的工业控制系统异常检测方法 | |
CN105637519A (zh) | 使用行为辨识系统的认知信息安全性 | |
CN103870751A (zh) | 入侵检测方法及系统 | |
CN112468347A (zh) | 一种云平台的安全管理方法、装置、电子设备及存储介质 | |
CN116366374B (zh) | 基于大数据的电网网络管理的安全评估方法、系统及介质 | |
CN111176202A (zh) | 工业控制网络的安全管理方法、装置、终端设备及介质 | |
Faisal et al. | Modeling Modbus TCP for intrusion detection | |
KR101281456B1 (ko) | 자기 유사성을 이용한 scada 네트워크의 이상증후를 탐지하는 장치 및 방법 | |
CN116781347A (zh) | 基于深度学习的工业物联网入侵检测方法及装置 | |
Elbez et al. | Detection of DoS attacks using ARFIMA modeling of GOOSE communication in IEC 61850 substations | |
CN115396324A (zh) | 一种网络安全态势感知预警处理系统 | |
CN113282920B (zh) | 日志异常检测方法、装置、计算机设备和存储介质 | |
CN113032774B (zh) | 异常检测模型的训练方法、装置、设备及计算机存储介质 | |
CN115706669A (zh) | 网络安全态势预测方法及系统 | |
CN118018229A (zh) | 基于大数据的网络威胁检测方法 | |
Najafian et al. | Signature-based method and stream data mining technique performance evaluation for security and intrusion detection in advanced metering infrastructures (ami) | |
CN117391214A (zh) | 模型训练方法、装置及相关设备 | |
CN113347021B (zh) | 一种模型生成方法、撞库检测方法、装置、电子设备及计算机可读存储介质 | |
CN117633665B (zh) | 一种网络数据监控方法及系统 |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |