CN111931175A - 一种基于小样本学习的工业控制系统入侵检测方法 - Google Patents

一种基于小样本学习的工业控制系统入侵检测方法 Download PDF

Info

Publication number
CN111931175A
CN111931175A CN202011007316.5A CN202011007316A CN111931175A CN 111931175 A CN111931175 A CN 111931175A CN 202011007316 A CN202011007316 A CN 202011007316A CN 111931175 A CN111931175 A CN 111931175A
Authority
CN
China
Prior art keywords
sample
data
training
samples
model
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.)
Granted
Application number
CN202011007316.5A
Other languages
English (en)
Other versions
CN111931175B (zh
Inventor
李贝贝
欧阳远凯
马小霞
兰小龙
赵亮
杨进
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sichuan University
Original Assignee
Sichuan University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Sichuan University filed Critical Sichuan University
Priority to CN202011007316.5A priority Critical patent/CN111931175B/zh
Publication of CN111931175A publication Critical patent/CN111931175A/zh
Application granted granted Critical
Publication of CN111931175B publication Critical patent/CN111931175B/zh
Priority to US17/359,587 priority patent/US11218502B1/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Biophysics (AREA)
  • Biomedical Technology (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Medical Informatics (AREA)
  • Image Analysis (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种基于小样本学习的工业控制系统入侵检测方法,包括下述步骤:将从工业控制系统网络流量中提取到的原始数据集划分为检测模型训练集和基础模型训练集;使用主成分分析法对基础模型训练集、检测模型训练集中的连续型数据矩阵
Figure DEST_PATH_IMAGE002
进行降维;使用独热编码方法对基础模型训练集、检测模型训练集中的离散型数据矩阵
Figure DEST_PATH_IMAGE004
进行编码处理;使用处理后的基础模型训练集,构建基础模型训练所需的小样本训练任务;借助构建好的小样本训练任务,训练基于卷积神经网络的基础模型;基于已经训练好的基础模型,利用处理后的检测模型训练集进一步训练,得到检测模型;借助原始数据集三种不同类型样本的中心向量,实现网络数据流中潜在攻击的实时有效检测。

Description

一种基于小样本学习的工业控制系统入侵检测方法
技术领域
本发明涉及工业控制系统入侵检测技术领域,具体的说,是一种基于小样本学习的工业控制系统入侵检测方法。
背景技术
工业控制系统被用来支持工业生产过程中各组成部分间的互联通信、保障工业生产过程稳定有序进行。早期的工业生产过程大多只涉及小范围、专用硬件间的通信,因此,传统的工业控制系统存在天然封闭性,除系统内部故障外,不必担心大规模网络攻击事件发生。然而,随着互联网信息技术发展,信息和通信技术(Information andCommunications Technology, ICT)、自动化、分布式控制、广域监视和控制、边缘计算等技术开始应用于工业控制系统,传统工业控制系统和现代信息网络逐渐融合,在提升生产效率的同时也引入了更多的安全威胁。由于工控系统被广泛应用于交通、电力、化工、石油、冶金等国民计生重大领域,因此,工业控制系统安全问题亟待解决。
接入互联网的工业控制系统向外界暴露了许多入侵接入点,攻击者可以利用这些入侵接入点来向工业控制系统发起拒绝服务攻击、侦查攻击、恶意命令注入攻击、恶意响应注入攻击等不同形式的网络攻击,而由于工业控制系统在设计之初缺乏对安全性的考虑,往往难以发现上述网络威胁。目前,已有大量相关研究工作通过传统机器学习技术来实现工业控制系统中的入侵检测。在检测某类攻击之前,使用传统机器学习技术的检测方法需要预先学习此类攻击的大量恶意样本,然而,工业控制系统中有可能出现某些破坏力极强的新型网络攻击,在这种情况下,由于可以供机器学习训练使用的样本量极小,使用传统机器学习技术的检测方法往往效果较差甚至失效。
传统机器学习技术的检测方法存在如下缺点:
(1)在检测某种特定攻击前,需要经过长时间训练,难以应对实时变化的工业控制系统环境;
(2)仅能有效检测有大量恶意样本可供训练的攻击类型,难以检测那些仅有少量样本的攻击类型;
(3)只能区分正常样本和异常样本,不能对进一步区分出新型攻击的样本。
导致传统机器学习技术的检测方法存在上述缺陷的原因在于:
1、使用传统机器学习技术的检测方法需要经过大量同类样本的训练才能学习到此类攻击中的潜在特征,且由于训练阶段的样本量巨大,导致耗费较长时间。
2、为了学习到攻击数据中的潜在特征,传统的机器学习方法通常采用未经改进的深度神经网络,结构较为复杂,当样本量较少时,传统的机器学习方法往往会出现过拟合,因此不能有效检测小样本攻击;
3、传统检测方法不考虑对新型攻击样本的获取,因此,通常是二分类模型,即只区分正常样本和异常样本,而不对异常样本进一步分类。
发明内容
本发明的目的在于提供一种基于小样本学习的工业控制系统入侵检测方法,可以有效对正常类型、某种常规攻击类型及某种新型攻击类型样本进行分类并检测。
本发明通过下述技术方案实现:一种基于小样本学习的工业控制系统入侵检测方法,包括下述步骤:
1)数据集划分,将从工业控制系统数据流量中提取到的原始数据集的三种不同类型样本划分为检测模型训练集和基础模型训练集,三种不同类型样本分别为正常样本、常见攻击样本及新型攻击样本;
2)连续数据处理,使用主成分分析法(Principal Component Analysis, PCA)对基础模型训练集、检测模型训练集的
Figure 100002_DEST_PATH_IMAGE001
个数据样本中
Figure 141277DEST_PATH_IMAGE002
维连续型特征构成的数据矩阵
Figure 100002_DEST_PATH_IMAGE003
进行降维;
3)离散数据处理,使用独热编码(One-hot Encoding)方法对基础模型训练集、检测模型训练集的
Figure 585290DEST_PATH_IMAGE004
个数据样本中
Figure 100002_DEST_PATH_IMAGE005
维离散型特征构成的数据矩阵
Figure 147858DEST_PATH_IMAGE006
进行处理;
4)小样本训练任务构建,经步骤3)后,使用处理后的基础模型训练集形成支持集和查询集,构建基础模型训练所需的小样本训练任务;
5)基础模型训练,借助构建好的小样本训练任务,训练基于卷积神经网络(Convolutional Neural Networks, CNN)的基础模型;
6)检测模型训练,基于已经训练好的基础模型,利用经步骤3)处理后的检测模型训练集进一步训练,得到检测模型;
7)实时数据检测,借助检测模型中三种不同类型样本的中心向量,实现有效检测实时数据流中出现的攻击。
进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤1)具体为:将包含有大量的正常类型的正常样本、至少3种常见攻击类型的常见攻击样本及
Figure 630792DEST_PATH_IMAGE007
个新型攻击类型的新型攻击样本(
Figure DEST_PATH_IMAGE008
)共计三种不同类型样本的原始数据集按下述方式划分得到检测模型训练集和基础模型训练集:
1.1)从正常样本、要检测的某种常见攻击类型的常见攻击样本中分别提取
Figure 654479DEST_PATH_IMAGE009
个样本,与
Figure DEST_PATH_IMAGE010
个新型攻击样本组成检测模型训练集;
1.2)将剩余的正常样本及常见攻击类型的常见攻击样本组成基础模型训练集。
进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤2)的具体步骤为:
2.1)使用z-score标准化方法对基础模型训练集、检测模型训练集的
Figure 626983DEST_PATH_IMAGE001
个数据样本中
Figure 614531DEST_PATH_IMAGE002
维连续特征构成的数据矩阵
Figure 697893DEST_PATH_IMAGE011
进行预处理,数据矩阵
Figure 152533DEST_PATH_IMAGE011
中第
Figure DEST_PATH_IMAGE012
列数据中的第
Figure 827097DEST_PATH_IMAGE013
个数据
Figure 301940DEST_PATH_IMAGE015
根据(1)式变换为
Figure 126677DEST_PATH_IMAGE016
Figure 636156DEST_PATH_IMAGE017
(1),
其中,
Figure 91408DEST_PATH_IMAGE018
Figure 644093DEST_PATH_IMAGE019
分别代表第
Figure 272521DEST_PATH_IMAGE020
列数据的平均值和标准差;
2.2)在预处理后,根据(2)式计算出数据矩阵
Figure 105347DEST_PATH_IMAGE011
的最优特征矩阵
Figure 793818DEST_PATH_IMAGE021
Figure 100002_DEST_PATH_IMAGE022
(2),
其中,
Figure 167555DEST_PATH_IMAGE023
是数据矩阵
Figure 865252DEST_PATH_IMAGE011
的特征矩阵,其维度为
Figure 880482DEST_PATH_IMAGE024
Figure 536591DEST_PATH_IMAGE025
是数据矩阵
Figure 906612DEST_PATH_IMAGE011
的协方差矩阵,其维度为
Figure DEST_PATH_IMAGE026
2.3)根据(3)式将
Figure 66722DEST_PATH_IMAGE027
维的数据矩阵
Figure 405299DEST_PATH_IMAGE011
降为
Figure 232310DEST_PATH_IMAGE028
维的
Figure 100002_DEST_PATH_IMAGE029
Figure 515393DEST_PATH_IMAGE030
(3),
其中,
Figure 100002_DEST_PATH_IMAGE031
矩阵由最优特征矩阵
Figure 676597DEST_PATH_IMAGE032
的前
Figure 100002_DEST_PATH_IMAGE033
维数据构成。
进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤3)具体为:统计数据矩阵
Figure 259894DEST_PATH_IMAGE006
的第
Figure 257806DEST_PATH_IMAGE012
列数据中所包含的离散值类型数量
Figure 575655DEST_PATH_IMAGE034
,为第
Figure 218513DEST_PATH_IMAGE012
列数据分配
Figure DEST_PATH_IMAGE035
位编码,然后根据(4)式将第
Figure 62841DEST_PATH_IMAGE036
列数据中第
Figure DEST_PATH_IMAGE037
类离散值(
Figure 94905DEST_PATH_IMAGE038
)编码为独热向量
Figure 290263DEST_PATH_IMAGE039
Figure DEST_PATH_IMAGE040
(4),其中,
Figure 468303DEST_PATH_IMAGE041
是向量
Figure DEST_PATH_IMAGE042
的第
Figure 170068DEST_PATH_IMAGE043
个元素。
进一步的为更好地实现本发明,特别采用下述设置方式:在实现根据(4)式将第
Figure 40941DEST_PATH_IMAGE012
列数据中第
Figure DEST_PATH_IMAGE044
类离散值(
Figure 723595DEST_PATH_IMAGE045
)编码为独热向量
Figure DEST_PATH_IMAGE046
时,若出现
Figure 623768DEST_PATH_IMAGE047
种类型离散值之外的新类型离散值,即考虑到在实际检测的阶段可能会有未在训练集中出现的新类型离散值,在这种情况下,将
Figure DEST_PATH_IMAGE048
的第
Figure 973847DEST_PATH_IMAGE049
位设置为1,其他位设置为0。
进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤4)包括下述具体步骤:
4.1)从基础模型训练集中,选取正常类型、任意两种攻击类型的样本集合,然后从集合的每种类型样本中不重复地随机抽取
Figure 281200DEST_PATH_IMAGE010
个样本组成基础模型训练所需的支持集;
4.2)从基础模型训练集中,选取与步骤4.1)中相同的三种类型样本集合,然后从样本集合的每种类型样本中不重复地随机抽取
Figure 654413DEST_PATH_IMAGE050
个样本组成查询集,其中,
Figure DEST_PATH_IMAGE051
,用以验证基础模型的训练效果;
4.3)将步骤4.1)、步骤4.2)中的支持集和查询集组合,构成一次小样本训练任务;
4.4)重复步骤4.1)、步骤4.2)、步骤4.3)
Figure 832978DEST_PATH_IMAGE052
次(
Figure DEST_PATH_IMAGE053
),构建出基础模型训练所需的全部小样本训练任务。
进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤5)包括下述具体步骤:
5.1)初始化最优loss值
Figure 303142DEST_PATH_IMAGE054
为0;
5.2)初始化第
Figure DEST_PATH_IMAGE055
个小样本训练任务的loss值
Figure 778467DEST_PATH_IMAGE056
为0;
5.3)根据(5)式分别计算第
Figure 107817DEST_PATH_IMAGE057
个小样本训练任务的支持集中三种不同类型样本的中心向量:
Figure 103455DEST_PATH_IMAGE058
(5),
其中,
Figure DEST_PATH_IMAGE059
代表此次训练任务中的第
Figure 693705DEST_PATH_IMAGE060
类样本的中心向量,
Figure 142529DEST_PATH_IMAGE061
为此次训练任务中第
Figure 287071DEST_PATH_IMAGE060
类样本的集合,
Figure 679875DEST_PATH_IMAGE062
Figure 856123DEST_PATH_IMAGE064
中的第
Figure DEST_PATH_IMAGE065
个样本向量,
Figure 925448DEST_PATH_IMAGE066
是样本向量
Figure 294637DEST_PATH_IMAGE068
所对应的标签,
Figure 100919DEST_PATH_IMAGE069
是一个具有模型参数
Figure 72286DEST_PATH_IMAGE070
的映射函数,模型参数
Figure 266507DEST_PATH_IMAGE071
通过机器学习确定;
5.4)使用第
Figure 120062DEST_PATH_IMAGE072
个小样本训练任务的查询集,根据(6)式计算第
Figure 100002_DEST_PATH_IMAGE073
个小样本训练任务的loss值
Figure 203073DEST_PATH_IMAGE074
Figure 100002_DEST_PATH_IMAGE075
(6),
其中,
Figure 28946DEST_PATH_IMAGE076
是模型关于第
Figure DEST_PATH_IMAGE077
类样本的loss值;
5.5)若
Figure 721965DEST_PATH_IMAGE078
Figure DEST_PATH_IMAGE079
,则令
Figure 128063DEST_PATH_IMAGE080
,并将此时的模型参数
Figure DEST_PATH_IMAGE081
保存以便后续进一步训练检测模型;
5.6)重复步骤5.2)~5.5)
Figure 400781DEST_PATH_IMAGE082
次,得到基础模型。
进一步的为更好地实现本发明,特别采用下述设置方式:所述模型关于第
Figure 815582DEST_PATH_IMAGE083
类样本的loss值
Figure 148343DEST_PATH_IMAGE084
是由(7)式确定:
Figure 648595DEST_PATH_IMAGE085
(7),
其中,
Figure 128599DEST_PATH_IMAGE086
是样本
Figure 663485DEST_PATH_IMAGE087
在模型参数
Figure DEST_PATH_IMAGE088
下被预测为第
Figure 308093DEST_PATH_IMAGE089
类的概率分布,由(8)式确定:
Figure 92379DEST_PATH_IMAGE090
(8),
其中,
Figure 644583DEST_PATH_IMAGE091
表示向量
Figure 895960DEST_PATH_IMAGE092
和向量
Figure 242628DEST_PATH_IMAGE094
之间的距离函数,由(9)式确定:
Figure 717471DEST_PATH_IMAGE095
(9)。
进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤6)包括下述步骤:
6.1)加载模型参数
Figure 542208DEST_PATH_IMAGE070
6.2)根据(5)式分别计算正常样本、要检测的某类常见攻击类型的常见攻击样本及新型攻击样本的中心向量;
6.3)保存三种类型样本的中心向量,得到检测模型。
进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤7)包括下述步骤:
7.1)从实时数据流中截取与原始数据集中的样本具有相同结构的数据段作为检测样本;
7.2)采用步骤2)、步骤3)分别处理检测样本中的连续型数据和离散型数据;
7.3)加载模型参数
Figure 51687DEST_PATH_IMAGE070
7.4)计算检测样本预测类型的概率分布,对应最大概率分布的类型即为模型预测类型;例如,对于检测样本
Figure 162731DEST_PATH_IMAGE097
,最大概率分布
Figure DEST_PATH_IMAGE098
的计算方法如(10)式所示:
Figure 184258DEST_PATH_IMAGE099
(10),
其中,
Figure 812685DEST_PATH_IMAGE100
是求最大值函数,其输出是
Figure 114354DEST_PATH_IMAGE102
Figure 802824DEST_PATH_IMAGE094
Figure 111315DEST_PATH_IMAGE103
中的最大值,
Figure 340171DEST_PATH_IMAGE104
是检测样本属于第
Figure DEST_PATH_IMAGE105
类型的概率(此处
Figure 420647DEST_PATH_IMAGE106
),由(11)式确定:
Figure 748860DEST_PATH_IMAGE107
(11),
其中
Figure 420013DEST_PATH_IMAGE108
是第
Figure 514876DEST_PATH_IMAGE109
类样本的中心向量,由(5)式计算;
7.5)根据步骤7.4)预测结果作进一步处理:若检测样本为正常类型,则让数据流量正常通过;若检测样本为攻击类型,则拦截数据流量并报警。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明从现有技术的缺点出发,考虑到工业控制系统实际应用场景中可能出现的小样本攻击问题,提出一种基于小样本学习的工业控制系统入侵检测方法。
(2)本发明可以解决前述3个现有技术缺点,实现对仅有
Figure DEST_PATH_IMAGE110
个攻击样本的新型网络攻击进行有效检测(
Figure 709579DEST_PATH_IMAGE111
),为工业控制系统在对抗小样本的新型网络入侵方面提供更强的防御能力。
附图说明
图1为典型的用于实现本发明的系统模型架构图。
具体实施方式
下面结合实施例对本发明作进一步地详细说明,但本发明的实施方式不限于此。
为使本发明实施方式的目的、技术方案和优点更加清楚,下面将结合本发明实施方式中的附图,对本发明实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本发明一部分实施方式,而不是全部的实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。因此,以下对在附图中提供的本发明的实施方式的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施方式。基于本发明中的实施方式,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施方式,都属于本发明保护的范围。
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横 向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、 “竖直”、“水平”、“顶”、“底”、“内”、“外”、“顺时针”、“逆时针”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也 可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征之“上”或之“下”可以包括第一和第二特征直接接触,也可以包括第一和第二特征不是直接接触而是通过它们之间的另外的特征接触。而且,第一特征在第二特征“之上”、“上方”和“上面”包括第一特征在第二特征正上方和斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”包括第一特征在第二特征正下方和斜下方,或仅仅表示第一特征水平高度小于第二特征。
实施例1:
本发明设计出一种基于小样本学习的工业控制系统入侵检测方法,包括下述步骤:
1)数据集划分,将从工业控制系统数据流量中提取到的原始数据集的三种不同类型样本划分为检测模型训练集和基础模型训练集,三种不同类型样本分别为正常样本、常见攻击样本及新型攻击样本;
2)连续数据处理,使用主成分分析法(Principal Component Analysis, PCA)对基础模型训练集、检测模型训练集的
Figure 864485DEST_PATH_IMAGE001
个数据样本中
Figure 491776DEST_PATH_IMAGE002
维连续型特征构成的数据矩阵
Figure 593593DEST_PATH_IMAGE003
进行降维;
3)离散数据处理,使用独热编码(One-hot Encoding)方法对基础模型训练集、检测模型训练集的
Figure 55186DEST_PATH_IMAGE004
个数据样本中
Figure 849835DEST_PATH_IMAGE005
维离散型特征构成的数据矩阵
Figure 167684DEST_PATH_IMAGE006
进行处理;
4)小样本训练任务构建,经步骤3)后,使用处理后的基础模型训练集形成支持集和查询集,构建基础模型训练所需的小样本训练任务;
5)基础模型训练,借助构建好的小样本训练任务,训练基于卷积神经网络(Convolutional Neural Networks, CNN)的基础模型;
6)检测模型训练,基于已经训练好的基础模型,利用步骤3)处理后的检测模型训练集进一步训练,得到检测模型;
7)实时数据检测,借助检测模型中三种不同类型样本的中心向量,实现有效检测实时数据流中出现的攻击。
实施例2:
本实施例是在上述实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤1)具体为:将包含有大量的正常类型的正常样本、至少3种常见攻击类型的常见攻击样本及
Figure 479717DEST_PATH_IMAGE009
个新型攻击类型的新型攻击样本(
Figure 261728DEST_PATH_IMAGE008
)共计三种不同类型样本的原始数据集按下述方式划分得到检测模型训练集和基础模型训练集:
1.1)从正常样本、要检测的某种常见攻击类型的常见攻击样本中分别提取
Figure 430541DEST_PATH_IMAGE009
个样本,与
Figure 563582DEST_PATH_IMAGE010
个新型攻击样本组成检测模型训练集;
1.2)将剩余的正常样本及常见攻击类型的常见攻击样本组成基础模型训练集。
实施例3:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤2)的具体步骤为:
2.1)使用z-score标准化方法对基础模型训练集、检测模型训练集的
Figure 699814DEST_PATH_IMAGE001
个数据样本中
Figure 601911DEST_PATH_IMAGE002
维连续特征构成的数据矩阵
Figure 144887DEST_PATH_IMAGE011
进行预处理,数据矩阵
Figure 499645DEST_PATH_IMAGE011
中第
Figure 419060DEST_PATH_IMAGE012
列数据中的第
Figure 175663DEST_PATH_IMAGE013
个数据
Figure 889541DEST_PATH_IMAGE015
根据(1)式变换为
Figure 997175DEST_PATH_IMAGE016
Figure 457630DEST_PATH_IMAGE017
(1),
其中,
Figure 68740DEST_PATH_IMAGE018
Figure 422361DEST_PATH_IMAGE019
分别代表第
Figure 751711DEST_PATH_IMAGE020
列数据的平均值和标准差;
2.2)在预处理后,根据(2)式计算出数据矩阵
Figure 544087DEST_PATH_IMAGE011
的最优特征矩阵
Figure 275283DEST_PATH_IMAGE021
Figure 330963DEST_PATH_IMAGE022
(2),
其中,
Figure 882030DEST_PATH_IMAGE023
是数据矩阵
Figure 619042DEST_PATH_IMAGE011
的特征矩阵,其维度为
Figure 936235DEST_PATH_IMAGE024
Figure 162817DEST_PATH_IMAGE025
是数据矩阵
Figure 263497DEST_PATH_IMAGE011
的协方差矩阵,其维度为
Figure 866517DEST_PATH_IMAGE026
2.3)根据(3)式将
Figure 41146DEST_PATH_IMAGE027
维的数据矩阵
Figure 376313DEST_PATH_IMAGE011
降为
Figure 901972DEST_PATH_IMAGE028
维的
Figure DEST_PATH_IMAGE112
Figure 105420DEST_PATH_IMAGE030
(3),
其中,
Figure 262120DEST_PATH_IMAGE031
矩阵由最优特征矩阵
Figure 830504DEST_PATH_IMAGE032
的前
Figure 577880DEST_PATH_IMAGE033
维数据构成。
实施例4:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤3)具体为:统计数据矩阵
Figure 319440DEST_PATH_IMAGE006
的第
Figure 530979DEST_PATH_IMAGE012
列数据中所包含的离散值类型数量
Figure 270265DEST_PATH_IMAGE034
,为第
Figure 33166DEST_PATH_IMAGE012
列数据分配
Figure 781679DEST_PATH_IMAGE035
位编码,然后根据(4)式将第
Figure 50986DEST_PATH_IMAGE036
列数据中第
Figure 961173DEST_PATH_IMAGE037
类离散值(
Figure 620825DEST_PATH_IMAGE038
)编码为独热向量
Figure 235346DEST_PATH_IMAGE039
Figure 93580DEST_PATH_IMAGE113
(4),其中,
Figure 440248DEST_PATH_IMAGE041
是向量
Figure 245918DEST_PATH_IMAGE042
的第
Figure 601813DEST_PATH_IMAGE043
个元素。
实施例5:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:在实现根据(4)式将第
Figure 845712DEST_PATH_IMAGE115
列数据中第
Figure 894440DEST_PATH_IMAGE037
类离散值(
Figure 450055DEST_PATH_IMAGE116
)编码为独热向量
Figure 544394DEST_PATH_IMAGE117
时,若出现
Figure 970696DEST_PATH_IMAGE047
种类型离散值之外的新类型离散值,即考虑到在实际检测的阶段可能会有未在训练集中出现的新类型离散值,在这种情况下,将
Figure 924746DEST_PATH_IMAGE048
的第
Figure 311865DEST_PATH_IMAGE049
位设置为1,其他位设置为0。
实施例6:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤4)包括下述具体步骤:
4.1)从基础模型训练集中,选取正常类型、任意两种攻击类型的样本集合,然后从集合的每种类型样本中不重复地随机抽取
Figure 743983DEST_PATH_IMAGE110
个样本组成基础模型训练所需的支持集;
4.2)从基础模型训练集中,选取与步骤4.1)中相同的三种类型样本集合,然后从样本集合的每种类型样本中不重复地随机抽取
Figure 621197DEST_PATH_IMAGE118
个样本组成查询集,其中,
Figure 949410DEST_PATH_IMAGE119
,用以验证基础模型的训练效果;
4.3)将步骤4.1)、步骤4.2)中的支持集和查询集组合,构成一次小样本训练任务;
4.4)重复步骤4.1)、步骤4.2)、步骤4.3)
Figure 417300DEST_PATH_IMAGE052
次(
Figure 590793DEST_PATH_IMAGE053
),构建出基础模型训练所需的全部小样本训练任务。
实施例7:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤5)包括下述具体步骤:
5.1)初始化最优loss值
Figure 929370DEST_PATH_IMAGE054
为0;
5.2)初始化第
Figure 694064DEST_PATH_IMAGE055
个小样本训练任务的loss值
Figure 649250DEST_PATH_IMAGE056
为0;
5.3)根据(5)式分别计算第
Figure 157592DEST_PATH_IMAGE057
个小样本训练任务的支持集中三种不同类型样本的中心向量:
Figure 636763DEST_PATH_IMAGE058
(5),
其中,
Figure DEST_PATH_IMAGE120
代表此次训练任务中的第
Figure 103516DEST_PATH_IMAGE060
类样本的中心向量,
Figure 749261DEST_PATH_IMAGE061
为此次训练任务中第
Figure 61294DEST_PATH_IMAGE060
类样本的集合,
Figure 905622DEST_PATH_IMAGE062
Figure 12118DEST_PATH_IMAGE064
中的第
Figure 879580DEST_PATH_IMAGE065
个样本向量,
Figure 667408DEST_PATH_IMAGE066
是样本向量
Figure 306855DEST_PATH_IMAGE068
所对应的标签,
Figure 646570DEST_PATH_IMAGE121
是一个具有模型参数
Figure 1328DEST_PATH_IMAGE070
的映射函数,模型参数
Figure DEST_PATH_IMAGE122
通过机器学习确定;
5.4)使用第
Figure 717480DEST_PATH_IMAGE072
个小样本训练任务的查询集,根据(6)式计算第
Figure 411766DEST_PATH_IMAGE073
个小样本训练任务的loss值
Figure 125644DEST_PATH_IMAGE074
Figure 561174DEST_PATH_IMAGE123
(6),
其中,
Figure 219033DEST_PATH_IMAGE076
是模型关于第
Figure 95722DEST_PATH_IMAGE124
类样本的loss值;
5.5)若
Figure 246080DEST_PATH_IMAGE078
Figure 903327DEST_PATH_IMAGE125
,则令
Figure 430123DEST_PATH_IMAGE080
,并将此时的模型参数
Figure DEST_PATH_IMAGE126
保存以便后续进一步训练检测模型;
5.6)重复步骤5.2)~5.5)
Figure 223635DEST_PATH_IMAGE082
次,得到基础模型。
实施例8:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述模型关于第
Figure 16667DEST_PATH_IMAGE127
类样本的loss值
Figure DEST_PATH_IMAGE128
是由(7)式确定:
Figure 567734DEST_PATH_IMAGE129
(7),
其中,
Figure 632642DEST_PATH_IMAGE086
是样本
Figure 546240DEST_PATH_IMAGE087
在模型参数
Figure 772822DEST_PATH_IMAGE088
下被预测为第
Figure 342343DEST_PATH_IMAGE060
类的概率分布,由(8)式确定:
Figure DEST_PATH_IMAGE130
(8),
其中,
Figure 801488DEST_PATH_IMAGE091
表示向量
Figure 507276DEST_PATH_IMAGE092
和向量
Figure 170338DEST_PATH_IMAGE094
之间的距离函数,由(9)式确定:
Figure 430418DEST_PATH_IMAGE095
(9)。
实施例9:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤6)包括下述步骤:
6.1)加载模型参数
Figure 509233DEST_PATH_IMAGE131
6.2)根据(5)式分别计算正常样本、要检测的某类常见攻击类型的常见攻击样本及新型攻击样本的中心向量;
6.3)保存三种类型样本的中心向量,得到检测模型。
实施例10:
本实施例是在上述任一实施例的基础上进一步优化,与前述技术方案相同部分在此将不再赘述,进一步的为更好地实现本发明,特别采用下述设置方式:所述步骤7)包括下述步骤:
7.1)从实时数据流中截取与原始数据集中的样本具有相同结构的数据段作为检测样本;
7.2)采用步骤2)、步骤3)分别处理检测样本中的连续型数据和离散型数据;
7.3)加载模型参数
Figure 131844DEST_PATH_IMAGE131
7.4)计算检测样本预测类型的概率分布,对应最大概率分布的类型即为模型预测类型;例如,对于检测样本
Figure DEST_PATH_IMAGE132
,最大概率分布
Figure 296634DEST_PATH_IMAGE098
的计算方法如(10)式所示:
Figure 309589DEST_PATH_IMAGE133
(10),
其中,
Figure 723253DEST_PATH_IMAGE100
是求最大值函数,其输出是
Figure 465950DEST_PATH_IMAGE102
Figure 533132DEST_PATH_IMAGE094
Figure 33383DEST_PATH_IMAGE103
中的最大值,
Figure 513387DEST_PATH_IMAGE104
是检测样本属于第
Figure 376170DEST_PATH_IMAGE105
类型的概率(此处
Figure 755199DEST_PATH_IMAGE106
),由(11)式确定:
Figure DEST_PATH_IMAGE134
(11),
其中
Figure 460856DEST_PATH_IMAGE108
是第
Figure 15989DEST_PATH_IMAGE109
类样本的中心向量,由(5)式计算;
7.5)根据步骤7.4)预测结果作进一步处理:若检测样本为正常类型,则让数据流量正常通过;若检测样本为攻击类型,则拦截数据流量并报警。
实施例11:
如图1所示,典型的用于实现基于小样本学习的工业控制系统入侵检测方法的系统模型,设置有:
HMI:人机交互界面(Human Machine Interface)是系统模型与操作员之间交互的媒介,SCADA(Supervisory Control And Data Acquisition)主机反馈的信息通过HMI向操作员展示,操作员依据反馈信息作出判断,然后通过HMI向SCADA主机下达相应的控制命令。
SCADA主机:一方面,负责收集SCADA远程终端上报的数据,并将这些数据交付给数据存储中心进行安全存储;另一方面,负责向SCADA远程终端发送来自于操作员的控制命令。
数据存储中心:负责安全存取SCADA主机交付的数据。
SCADA远程终端:一方面,连接到PLC和RTU,负责接收数据和传递SCADA主机发来的控制命令。另一方面,通过广域网连接到SCADA主机,负责上报数据和接收控制命令。
PLC:可编程逻辑控制器(Programmable Logic Controller)连接到远程工作站生产设备中的传感器和执行器,并通过有线连接与SCADA远程终端相连。一方面,负责监控并汇报传感器和执行器的工作状态;另一方面,负责执行SCADA远程终端发来的控制命令。
RTU:远程终端单元(Remote terminal unit)连接到远程工作站生产设备中的传感器和执行器,并通过无线连接与SCADA远程终端相连。与PLC功能类似,负责监控并汇报传感器和执行器的工作状态、执行逻辑控制命令。
远程工作站:指工厂、发电站、变电站、海上钻井平台等工业基础设施,每个远程工作站包含多个具备传感器和执行器的工业生产设备,与PLC或RTU通过硬接线直接相连。
基于该系统模型实现一种基于小样本学习的工业控制系统入侵检测方法,包括下述步骤:
1)数据集划分,从数据存储中心的历史数据中获取包含有大量的正常类型的正常样本、至少3种常见攻击类型的常见攻击样本及
Figure 874224DEST_PATH_IMAGE010
个新型攻击类型的新型攻击样本(
Figure 283208DEST_PATH_IMAGE135
)共计三种不同类型样本的原始数据集,然后将原始数据集按下述方式划分得到检测模型训练集和基础模型训练集:
1.1)从正常样本、要检测的某种常见攻击类型的常见攻击样本中分别提取
Figure 23631DEST_PATH_IMAGE009
个样本,与
Figure 645106DEST_PATH_IMAGE010
个新型攻击样本组成检测模型训练集;
1.2)将剩余的正常样本及常见攻击类型的常见攻击样本组成基础模型训练集。
2)连续数据处理,包括下述步骤:
2.1)使用z-score标准化方法对基础模型训练集、检测模型训练集的
Figure 889005DEST_PATH_IMAGE001
个数据样本中
Figure 427082DEST_PATH_IMAGE002
维连续特征构成的数据矩阵
Figure 123643DEST_PATH_IMAGE003
进行预处理,数据矩阵
Figure 486491DEST_PATH_IMAGE003
中第
Figure 116055DEST_PATH_IMAGE012
列数据中的第
Figure 132422DEST_PATH_IMAGE013
个数据
Figure 316278DEST_PATH_IMAGE136
根据(1)式变换为
Figure 748397DEST_PATH_IMAGE016
Figure 638992DEST_PATH_IMAGE017
(1),
其中,
Figure 235714DEST_PATH_IMAGE018
Figure 703605DEST_PATH_IMAGE019
分别代表第
Figure DEST_PATH_IMAGE137
列数据的平均值和标准差;
2.2)在预处理后,根据(2)式计算出数据矩阵
Figure 532889DEST_PATH_IMAGE003
的最优特征矩阵
Figure 74729DEST_PATH_IMAGE138
Figure 370581DEST_PATH_IMAGE022
(2),
其中,
Figure DEST_PATH_IMAGE139
是数据矩阵
Figure 916313DEST_PATH_IMAGE003
的特征矩阵,其维度为
Figure 690234DEST_PATH_IMAGE024
Figure 617739DEST_PATH_IMAGE025
是数据矩阵
Figure 491017DEST_PATH_IMAGE003
的协方差矩阵,其维度为
Figure 136762DEST_PATH_IMAGE026
2.3)根据(3)式将
Figure 448795DEST_PATH_IMAGE027
维的数据矩阵
Figure 230806DEST_PATH_IMAGE003
降为
Figure 868461DEST_PATH_IMAGE140
维的
Figure 332328DEST_PATH_IMAGE112
Figure DEST_PATH_IMAGE141
(3),
其中,
Figure 979210DEST_PATH_IMAGE142
矩阵由最优特征矩阵
Figure 881307DEST_PATH_IMAGE143
的前
Figure 424283DEST_PATH_IMAGE033
维数据构成。
3)离散数据处理,使用独热编码(One-hot Encoding)方法对基础模型训练集、检测模型训练集的
Figure 106937DEST_PATH_IMAGE004
个数据样本中
Figure 351318DEST_PATH_IMAGE005
维离散型特征构成的数据矩阵
Figure 107922DEST_PATH_IMAGE006
进行处理;具体为:统计数据矩阵
Figure 352958DEST_PATH_IMAGE006
的第
Figure 929433DEST_PATH_IMAGE012
列数据中所包含的离散值类型数量
Figure 59063DEST_PATH_IMAGE034
,为第
Figure 935752DEST_PATH_IMAGE012
列数据分配
Figure 554953DEST_PATH_IMAGE035
位编码,然后根据(4)式将第
Figure DEST_PATH_IMAGE144
列数据中第
Figure 215128DEST_PATH_IMAGE037
类离散值(
Figure 210766DEST_PATH_IMAGE038
)编码为独热向量
Figure 941962DEST_PATH_IMAGE039
Figure 997643DEST_PATH_IMAGE145
(4),其中,
Figure 814289DEST_PATH_IMAGE041
是向量
Figure 410355DEST_PATH_IMAGE042
的第
Figure 199320DEST_PATH_IMAGE043
个元素,考虑到在实际检测的阶段可能会有未在训练集中出现的新类型离散值,即若出现
Figure 488219DEST_PATH_IMAGE047
种类型离散值之外的新类型离散值,在这种情况下,将
Figure 523652DEST_PATH_IMAGE048
的第
Figure DEST_PATH_IMAGE146
位设置为1,其他位设置为0。
4)小样本训练任务构建,包括下述具体步骤:
4.1)从基础模型训练集中,选取正常类型、任意两种攻击类型的样本集合,然后从集合的每种类型样本中不重复地随机抽取
Figure 923409DEST_PATH_IMAGE010
个样本组成基础模型训练所需的支持集;
4.2)从基础模型训练集中,选取与步骤4.1)中相同的三种类型样本集合,然后从样本集合的每种类型样本中不重复地随机抽取
Figure 894777DEST_PATH_IMAGE147
个样本组成查询集,其中,
Figure 292260DEST_PATH_IMAGE148
,用以验证基础模型的训练效果;
4.3)将步骤4.1)、步骤4.2)中的支持集和查询集组合,构成一次小样本训练任务;
4.4)重复步骤4.1)、步骤4.2)、步骤4.3)
Figure 880236DEST_PATH_IMAGE052
次(
Figure 21367DEST_PATH_IMAGE053
),构建出基础模型训练所需的全部小样本训练任务。
5)基础模型训练,借助构建好的小样本训练任务,训练基于卷积神经网络(Convolutional Neural Networks, CNN)的基础模型,包括下述具体步骤:
5.1)初始化最优loss值
Figure 319012DEST_PATH_IMAGE054
为0;
5.2)初始化第
Figure 152976DEST_PATH_IMAGE055
个小样本训练任务的loss值
Figure DEST_PATH_IMAGE149
为0;
5.3)根据(5)式分别计算第
Figure 556144DEST_PATH_IMAGE057
个小样本训练任务的支持集中三种不同类型样本的中心向量:
Figure 500967DEST_PATH_IMAGE058
(5),
其中,
Figure 587871DEST_PATH_IMAGE059
代表此次训练任务中的第
Figure 186212DEST_PATH_IMAGE060
类样本的中心向量,
Figure 175813DEST_PATH_IMAGE061
为此次训练任务中第
Figure 252222DEST_PATH_IMAGE060
类样本的集合,
Figure 990371DEST_PATH_IMAGE062
Figure 166137DEST_PATH_IMAGE064
中的第
Figure 481581DEST_PATH_IMAGE065
个样本向量,
Figure 99031DEST_PATH_IMAGE066
是样本向量
Figure 222845DEST_PATH_IMAGE068
所对应的标签,
Figure 569513DEST_PATH_IMAGE069
是一个具有模型参数
Figure 309936DEST_PATH_IMAGE070
的映射函数,模型参数
Figure 603514DEST_PATH_IMAGE122
通过机器学习确定;
5.4)使用第
Figure 112993DEST_PATH_IMAGE073
个小样本训练任务的查询集,根据(6)式计算第
Figure 692879DEST_PATH_IMAGE073
个小样本训练任务的loss值
Figure 327122DEST_PATH_IMAGE074
Figure 280516DEST_PATH_IMAGE150
(6),
其中,
Figure 706818DEST_PATH_IMAGE076
是模型关于第
Figure 926447DEST_PATH_IMAGE077
类样本的loss值;
5.5)若
Figure 703779DEST_PATH_IMAGE078
Figure 138827DEST_PATH_IMAGE125
,则令
Figure 357319DEST_PATH_IMAGE080
,并将此时的模型参数
Figure DEST_PATH_IMAGE151
保存以便后续进一步训练检测模型;
5.6)重复步骤5.2)~5.5)
Figure 482270DEST_PATH_IMAGE082
次,得到基础模型。
6)检测模型训练,基于已经训练好的基础模型,利用步骤3)处理后的检测模型训练集进一步训练,得到检测模型,并将其部署到SCADA主机上,包括下述步骤:
6.1)加载模型参数
Figure 74794DEST_PATH_IMAGE152
6.2)根据(5)式分别计算正常样本、要检测的某类常见攻击类型的常见攻击样本及新型攻击样本的中心向量;
6.3)保存三种类型样本的中心向量,得到检测模型,并将其部署到SCADA主机上。
7)实时数据检测,借助检测模型中三种不同类型样本的中心向量,实现有效检测实时数据流中出现的攻击,包括下述步骤:
7.1)PLC/RTU将远程工作站汇报的实时数据通过有线/无线方式上报至SCADA远程终端,进一步地,SCADA远程终端通过广域网将实时数据上报至SCADA主机,由SCADA主机从实时数据流中截取与原始数据集中的样本具有相同结构的数据段作为检测样本;
7.2)采用步骤2)、步骤3)分别处理检测样本中的连续型数据和离散型数据;
7.3)加载模型参数
Figure 779445DEST_PATH_IMAGE071
7.4)借助检测模型中的三种中心向量,SCADA主机计算检测样本预测类型的概率分布,对应最大概率分布的类型即为模型预测类型;例如,对于检测样本
Figure 849513DEST_PATH_IMAGE153
,最大概率分布
Figure 207682DEST_PATH_IMAGE154
的计算方法如(10)式所示:
Figure 631710DEST_PATH_IMAGE155
(10)
其中
Figure 405631DEST_PATH_IMAGE156
是求最大值函数,其输出是
Figure 536398DEST_PATH_IMAGE102
Figure 3152DEST_PATH_IMAGE094
Figure 648897DEST_PATH_IMAGE103
中的最大值,
Figure 698280DEST_PATH_IMAGE157
是检测样本属于第
Figure 542608DEST_PATH_IMAGE158
类型的概率(此处
Figure 914683DEST_PATH_IMAGE159
),由(11)式确定:
Figure 782145DEST_PATH_IMAGE160
(11),
其中
Figure 569973DEST_PATH_IMAGE161
是第
Figure 472070DEST_PATH_IMAGE036
类样本的中心向量,由(5)式计算;
7.5)根据步骤7.4)预测结果,由SCADA主机作进一步处理:若检测样本为正常类型,则将数据流量正常交付给数据存储中心;若检测样本为攻击类型,则拦截数据流量并向HMI报警。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。

Claims (10)

1.一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:包括下述步骤:
1)数据集划分,将从工业控制系统数据流量中提取到的原始数据集的三种不同类型样本划分为检测模型训练集和基础模型训练集,三种不同类型样本分别为正常样本、常见攻击样本及新型攻击样本;
2)连续数据处理,使用主成分分析法对基础模型训练集、检测模型训练集的
Figure DEST_PATH_IMAGE001
个数据样本中
Figure 109309DEST_PATH_IMAGE002
维连续型特征构成的数据矩阵
Figure DEST_PATH_IMAGE003
进行降维;
3)离散数据处理,使用独热编码方法对基础模型训练集、检测模型训练集的
Figure 475568DEST_PATH_IMAGE001
个数据样本中
Figure 750691DEST_PATH_IMAGE004
维离散型特征构成的数据矩阵
Figure DEST_PATH_IMAGE005
进行处理;
4)小样本训练任务构建,经步骤3)后,使用处理后的基础模型训练集形成支持集和查询集,构建基础模型训练所需的小样本训练任务;
5)基础模型训练,借助构建好的小样本训练任务,训练基于卷积神经网络的基础模型;
6)检测模型训练,基于已经训练好的基础模型,利用经步骤3)处理后的检测模型训练集进一步训练,得到检测模型;
7)实时数据检测,借助检测模型中三种不同类型样本的中心向量,实现有效检测实时数据流中出现的攻击。
2.根据权利要求1所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述步骤1)具体为:将包含有大量正常类型的正常样本、至少3种常见攻击类型的常见攻击样本及
Figure 846692DEST_PATH_IMAGE006
个新型攻击类型的新型攻击样本共计三种不同类型样本的原始数据集按下述方式划分得到检测模型训练集和基础模型训练集:
1.1)从正常样本、要检测的某种常见攻击类型的常见攻击样本中分别提取
Figure 506825DEST_PATH_IMAGE006
个样本,与
Figure 235747DEST_PATH_IMAGE006
个新型攻击样本组成检测模型训练集;
1.2)将剩余的正常样本及常见攻击样本组成基础模型训练集。
3.根据权利要求1所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述步骤2)的具体步骤为:
2.1)使用z-score标准化方法对基础模型训练集、检测模型训练集的
Figure 235933DEST_PATH_IMAGE001
个数据样本中
Figure 796227DEST_PATH_IMAGE002
维连续特征构成的数据矩阵
Figure DEST_PATH_IMAGE007
进行预处理,数据矩阵
Figure 692508DEST_PATH_IMAGE003
中第
Figure 174305DEST_PATH_IMAGE008
列数据中的第
Figure DEST_PATH_IMAGE009
个数据
Figure DEST_PATH_IMAGE011
根据(1)式变换为
Figure 246690DEST_PATH_IMAGE012
Figure 661491DEST_PATH_IMAGE013
(1),
其中,
Figure 666356DEST_PATH_IMAGE014
Figure 494504DEST_PATH_IMAGE015
分别代表第
Figure 711859DEST_PATH_IMAGE016
列数据的平均值和标准差;
2.2)在预处理后,根据(2)式计算出数据矩阵
Figure 571711DEST_PATH_IMAGE003
的最优特征矩阵
Figure 747478DEST_PATH_IMAGE017
Figure DEST_PATH_IMAGE018
(2),
其中,
Figure 469446DEST_PATH_IMAGE019
是数据矩阵
Figure 83967DEST_PATH_IMAGE003
的特征矩阵,其维度为
Figure 738939DEST_PATH_IMAGE020
Figure 554449DEST_PATH_IMAGE021
是数据矩阵
Figure 32222DEST_PATH_IMAGE003
的协方差矩阵,其维度为
Figure DEST_PATH_IMAGE022
2.3)根据(3)式将
Figure 856959DEST_PATH_IMAGE023
维的数据矩阵
Figure 100858DEST_PATH_IMAGE024
降为
Figure 415165DEST_PATH_IMAGE025
维的
Figure 705201DEST_PATH_IMAGE026
Figure DEST_PATH_IMAGE027
(3),
其中,
Figure 682032DEST_PATH_IMAGE028
矩阵由最优特征矩阵
Figure DEST_PATH_IMAGE029
的前
Figure 842755DEST_PATH_IMAGE030
维数据构成。
4.根据权利要求1所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述步骤3)具体为:统计数据矩阵
Figure DEST_PATH_IMAGE031
的第
Figure 859121DEST_PATH_IMAGE032
列数据中所包含的离散值类型数量
Figure DEST_PATH_IMAGE033
,为第
Figure 574137DEST_PATH_IMAGE032
列数据分配
Figure 337081DEST_PATH_IMAGE034
位编码,然后根据(4)式将第
Figure 821152DEST_PATH_IMAGE035
列数据中第
Figure DEST_PATH_IMAGE036
类离散值编码为独热向量
Figure 273999DEST_PATH_IMAGE037
Figure 273048DEST_PATH_IMAGE038
(4),其中,
Figure DEST_PATH_IMAGE039
是向量
Figure 302665DEST_PATH_IMAGE040
的第
Figure DEST_PATH_IMAGE041
个元素。
5.根据权利要求4所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:在实现根据(4)式将第
Figure 110084DEST_PATH_IMAGE032
列数据中第
Figure 468253DEST_PATH_IMAGE042
类离散值编码为独热向量
Figure DEST_PATH_IMAGE043
时,若出现
Figure 689019DEST_PATH_IMAGE044
种类型离散值之外的新类型离散值,则将
Figure DEST_PATH_IMAGE045
的第
Figure 197360DEST_PATH_IMAGE046
位设置为1,其他位设置为0。
6.根据权利要求2所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述步骤4)包括下述具体步骤:
4.1)从基础模型训练集中,选取正常类型、任意两种攻击类型的样本集合,然后从样本集合的每种类型样本中不重复地随机抽取
Figure DEST_PATH_IMAGE047
个样本组成基础模型训练所需的支持集;
4.2)从基础模型训练集中,选取与步骤4.1)中相同的三种类型样本集合,然后从样本集合的每种类型样本中不重复地随机抽取
Figure 518008DEST_PATH_IMAGE048
个样本组成查询集,其中,
Figure 719182DEST_PATH_IMAGE049
4.3)将步骤4.1)、步骤4.2)中的支持集和查询集组合,构成一次小样本训练任务;
4.4)重复步骤4.1)、步骤4.2)、步骤4.3)
Figure DEST_PATH_IMAGE050
次,构建出基础模型训练所需的全部小样本训练任务。
7.根据权利要求1所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述步骤5)包括下述具体步骤:
5.1)初始化最优loss值
Figure 896085DEST_PATH_IMAGE051
为0;
5.2)初始化第
Figure DEST_PATH_IMAGE052
个小样本训练任务的loss值
Figure 801593DEST_PATH_IMAGE053
为0;
5.3)根据(5)式分别计算第
Figure 908571DEST_PATH_IMAGE054
个小样本训练任务的支持集中三种不同类型样本的中心向量:
Figure 280646DEST_PATH_IMAGE055
(5),
其中,
Figure 413688DEST_PATH_IMAGE056
代表此次训练任务中的第
Figure 529411DEST_PATH_IMAGE057
类样本的中心向量,
Figure DEST_PATH_IMAGE058
为此次训练任务中第
Figure 759404DEST_PATH_IMAGE057
类样本的集合,
Figure 36802DEST_PATH_IMAGE059
Figure 657139DEST_PATH_IMAGE061
中的第
Figure 983078DEST_PATH_IMAGE062
个样本向量,
Figure 742611DEST_PATH_IMAGE063
是样本向量
Figure 315544DEST_PATH_IMAGE065
所对应的标签,
Figure 626439DEST_PATH_IMAGE066
是一个具有模型参数
Figure 83966DEST_PATH_IMAGE067
的映射函数,模型参数
Figure 288551DEST_PATH_IMAGE068
通过机器学习确定;
5.4)使用第
Figure DEST_PATH_IMAGE069
个小样本训练任务的查询集,根据(6)式计算第
Figure 498297DEST_PATH_IMAGE070
个小样本训练任务的loss值
Figure DEST_PATH_IMAGE071
Figure 686701DEST_PATH_IMAGE072
(6),
其中,
Figure DEST_PATH_IMAGE073
是模型关于第
Figure 10235DEST_PATH_IMAGE074
类样本的loss值;
5.5)若
Figure DEST_PATH_IMAGE075
Figure 803748DEST_PATH_IMAGE076
,则令
Figure 531532DEST_PATH_IMAGE077
,并将此时的模型参数
Figure 351108DEST_PATH_IMAGE078
保存以便后续进一步训练检测模型;
5.6)重复步骤5.2)~5.5)
Figure 150437DEST_PATH_IMAGE079
次,得到基础模型。
8.根据权利要求7所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述模型关于第
Figure 470560DEST_PATH_IMAGE080
类样本的loss值
Figure 759459DEST_PATH_IMAGE081
是由(7)式确定:
Figure DEST_PATH_IMAGE082
(7),
其中,
Figure 860139DEST_PATH_IMAGE083
是样本
Figure 197579DEST_PATH_IMAGE084
在模型参数
Figure 575471DEST_PATH_IMAGE085
下被预测为第
Figure 868279DEST_PATH_IMAGE074
类的概率分布,由(8)式确定:
Figure 987414DEST_PATH_IMAGE086
(8),
其中,
Figure 98851DEST_PATH_IMAGE087
表示向量
Figure 252621DEST_PATH_IMAGE088
和向量
Figure DEST_PATH_IMAGE090
之间的距离函数,由(9)式确定:
Figure 617743DEST_PATH_IMAGE091
(9)。
9.根据权利要求7或8所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述步骤6)包括下述步骤:
6.1)加载模型参数
Figure 893348DEST_PATH_IMAGE085
6.2)根据(5)式分别计算正常样本、要检测的某类常见攻击类型的常见攻击样本及新型攻击样本的中心向量;
6.3)保存三种类型样本的中心向量,得到检测模型。
10.根据权利要求7或8所述的一种基于小样本学习的工业控制系统入侵检测方法,其特征在于:所述步骤7)包括下述步骤:
7.1)从实时数据流中截取与原始数据集中的样本具有相同结构的数据段作为检测样本;
7.2)采用步骤2)、步骤3)分别处理检测样本中的连续型数据和离散型数据;
7.3)加载模型参数
Figure 572591DEST_PATH_IMAGE068
7.4)计算检测样本预测类型的概率分布,对应最大概率分布的类型即为模型预测类型;
7.5)根据步骤7.4)预测结果作进一步处理:若检测样本为正常类型,则让数据流量正常通过;若检测样本为攻击类型,则拦截数据流量并报警。
CN202011007316.5A 2020-09-23 2020-09-23 一种基于小样本学习的工业控制系统入侵检测方法 Active CN111931175B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202011007316.5A CN111931175B (zh) 2020-09-23 2020-09-23 一种基于小样本学习的工业控制系统入侵检测方法
US17/359,587 US11218502B1 (en) 2020-09-23 2021-06-27 Few-shot learning based intrusion detection method of industrial control system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011007316.5A CN111931175B (zh) 2020-09-23 2020-09-23 一种基于小样本学习的工业控制系统入侵检测方法

Publications (2)

Publication Number Publication Date
CN111931175A true CN111931175A (zh) 2020-11-13
CN111931175B CN111931175B (zh) 2020-12-25

Family

ID=73334023

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011007316.5A Active CN111931175B (zh) 2020-09-23 2020-09-23 一种基于小样本学习的工业控制系统入侵检测方法

Country Status (2)

Country Link
US (1) US11218502B1 (zh)
CN (1) CN111931175B (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565256A (zh) * 2020-12-05 2021-03-26 星极实业(深圳)有限公司 一种可实时拦截及报警的工业控制系统入侵检测系统
CN112632549A (zh) * 2021-01-06 2021-04-09 四川大学 一种基于语境分析的Web攻击检测方法
CN113065606A (zh) * 2021-04-19 2021-07-02 北京石油化工学院 一种基于轻量级深度学习的异常点位检测方法及系统
CN115409124A (zh) * 2022-09-19 2022-11-29 小语智能信息科技(云南)有限公司 基于微调原型网络的小样本敏感信息识别方法
US11552989B1 (en) * 2021-11-23 2023-01-10 Radware Ltd. Techniques for generating signatures characterizing advanced application layer flood attack tools
US11582259B1 (en) 2021-11-23 2023-02-14 Radware Ltd. Characterization of HTTP flood DDoS attacks
CN115859277A (zh) * 2023-02-07 2023-03-28 四川大学 一种基于系统调用序列的主机入侵检测方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11785024B2 (en) * 2021-03-22 2023-10-10 University Of South Florida Deploying neural-trojan-resistant convolutional neural networks
CN114422241B (zh) * 2022-01-19 2023-07-07 内蒙古工业大学 一种入侵检测方法、装置及系统
CN114697081B (zh) * 2022-02-28 2024-05-07 国网江苏省电力有限公司淮安供电分公司 基于iec61850 sv报文运行态势模型的入侵检测方法和系统
CN115776401B (zh) * 2022-11-23 2024-04-19 中国人民解放军国防科技大学 基于少样本学习对网络攻击事件进行溯源的方法、装置
CN116522248B (zh) * 2023-03-22 2023-12-15 新疆维吾尔自治区疾病预防控制中心 基于机器学习的核酸异常数据智能研判系统
CN116821907B (zh) * 2023-06-29 2024-02-02 哈尔滨工业大学 一种基于Drop-MAML的小样本学习入侵检测方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825068A (zh) * 2019-09-29 2020-02-21 惠州蓄能发电有限公司 一种基于pca-cnn的工业控制系统异常检测方法
CN110837872A (zh) * 2019-11-14 2020-02-25 北京理工大学 一种工控网络入侵检测方法及系统
CN110912867A (zh) * 2019-09-29 2020-03-24 惠州蓄能发电有限公司 工业控制系统的入侵检测方法、装置、设备和存储介质
CN111428789A (zh) * 2020-03-25 2020-07-17 广东技术师范大学 一种基于深度学习的网络流量异常检测方法
CN111431938A (zh) * 2020-04-24 2020-07-17 重庆邮电大学 一种基于胶囊网络的工业互联网入侵检测方法
CN111460441A (zh) * 2020-04-17 2020-07-28 武汉大学 一种基于批归一化卷积神经网络的网络入侵检测方法
CN111553386A (zh) * 2020-04-07 2020-08-18 哈尔滨工程大学 一种基于AdaBoost和CNN的入侵检测方法
CN111553381A (zh) * 2020-03-23 2020-08-18 北京邮电大学 基于多网络模型的网络入侵检测方法、装置及电子设备

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20160095856A (ko) * 2015-02-04 2016-08-12 한국전자통신연구원 새로운 공격 유형의 자동 탐지 및 공격 유형 모델 갱신을 통한 지능형 침입 탐지 시스템 및 방법
US10999247B2 (en) * 2017-10-24 2021-05-04 Nec Corporation Density estimation network for unsupervised anomaly detection
US20200334578A1 (en) * 2018-01-09 2020-10-22 Nippon Telegraph And Telephone Corporation Model training apparatus, model training method, and program
US11171977B2 (en) * 2018-02-19 2021-11-09 Nec Corporation Unsupervised spoofing detection from traffic data in mobile networks
US11106789B2 (en) * 2019-03-05 2021-08-31 Microsoft Technology Licensing, Llc Dynamic cybersecurity detection of sequence anomalies
EP3792830A1 (en) * 2019-09-10 2021-03-17 Robert Bosch GmbH Training a class-conditional generative adverserial network
US11729190B2 (en) * 2019-10-29 2023-08-15 General Electric Company Virtual sensor supervised learning for cyber-attack neutralization
TWI760657B (zh) * 2019-11-14 2022-04-11 和碩聯合科技股份有限公司 異常偵測模型的訓練方法及使用此方法的電子裝置

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110825068A (zh) * 2019-09-29 2020-02-21 惠州蓄能发电有限公司 一种基于pca-cnn的工业控制系统异常检测方法
CN110912867A (zh) * 2019-09-29 2020-03-24 惠州蓄能发电有限公司 工业控制系统的入侵检测方法、装置、设备和存储介质
CN110837872A (zh) * 2019-11-14 2020-02-25 北京理工大学 一种工控网络入侵检测方法及系统
CN111553381A (zh) * 2020-03-23 2020-08-18 北京邮电大学 基于多网络模型的网络入侵检测方法、装置及电子设备
CN111428789A (zh) * 2020-03-25 2020-07-17 广东技术师范大学 一种基于深度学习的网络流量异常检测方法
CN111553386A (zh) * 2020-04-07 2020-08-18 哈尔滨工程大学 一种基于AdaBoost和CNN的入侵检测方法
CN111460441A (zh) * 2020-04-17 2020-07-28 武汉大学 一种基于批归一化卷积神经网络的网络入侵检测方法
CN111431938A (zh) * 2020-04-24 2020-07-17 重庆邮电大学 一种基于胶囊网络的工业互联网入侵检测方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112565256A (zh) * 2020-12-05 2021-03-26 星极实业(深圳)有限公司 一种可实时拦截及报警的工业控制系统入侵检测系统
CN112632549A (zh) * 2021-01-06 2021-04-09 四川大学 一种基于语境分析的Web攻击检测方法
CN112632549B (zh) * 2021-01-06 2022-07-12 四川大学 一种基于语境分析的Web攻击检测方法
CN113065606A (zh) * 2021-04-19 2021-07-02 北京石油化工学院 一种基于轻量级深度学习的异常点位检测方法及系统
CN113065606B (zh) * 2021-04-19 2023-11-17 北京石油化工学院 一种基于轻量级深度学习的异常点位检测方法及系统
US11552989B1 (en) * 2021-11-23 2023-01-10 Radware Ltd. Techniques for generating signatures characterizing advanced application layer flood attack tools
US11582259B1 (en) 2021-11-23 2023-02-14 Radware Ltd. Characterization of HTTP flood DDoS attacks
US11888893B2 (en) 2021-11-23 2024-01-30 Radware Ltd Characterization of HTTP flood DDoS attacks
US11916956B2 (en) * 2021-11-23 2024-02-27 Radware Ltd. Techniques for generating signatures characterizing advanced application layer flood attack tools
CN115409124A (zh) * 2022-09-19 2022-11-29 小语智能信息科技(云南)有限公司 基于微调原型网络的小样本敏感信息识别方法
CN115859277A (zh) * 2023-02-07 2023-03-28 四川大学 一种基于系统调用序列的主机入侵检测方法

Also Published As

Publication number Publication date
CN111931175B (zh) 2020-12-25
US11218502B1 (en) 2022-01-04

Similar Documents

Publication Publication Date Title
CN111931175B (zh) 一种基于小样本学习的工业控制系统入侵检测方法
CN106888205B (zh) 一种非侵入式基于功耗分析的plc异常检测方法
Shang et al. Intrusion detection algorithm based on OCSVM in industrial control system
US20180288084A1 (en) Method and device for automatically establishing intrusion detection model based on industrial control network
Nakhodchi et al. Steeleye: An application-layer attack detection and attribution model in industrial control systems using semi-deep learning
CN113162893B (zh) 基于注意力机制的工业控制系统网络流量异常检测方法
Yi et al. Optimized relative transformation matrix using bacterial foraging algorithm for process fault detection
Lai et al. Industrial anomaly detection and attack classification method based on convolutional neural network
CN111353153A (zh) 一种基于gep-cnn的电网恶意数据注入检测方法
CN115348080B (zh) 基于大数据的网络设备脆弱性综合分析系统及方法
CN108536130A (zh) 一种群智能寻优的化工故障诊断系统
Perez et al. Forget the myth of the air gap: Machine learning for reliable intrusion detection in SCADA systems
CN113067798A (zh) Ics入侵检测方法、装置、电子设备和存储介质
Li et al. Transfer-learning-based network traffic automatic generation framework
Ouyang et al. FS-IDS: a novel few-shot learning based intrusion detection system for scada networks
Li et al. Intrusion detection system using improved convolution neural network
CN113159517B (zh) 一种三维可视化电网运行数据分析系统
CN116032526A (zh) 一种基于机器学习模型优化的异常网络流量检测方法
Hu et al. Classification of Abnormal Traffic in Smart Grids Based on GACNN and Data Statistical Analysis
Wenhui et al. The Development of Artificial Intelligence Technology And Its Application in Communication Security
CN115001781A (zh) 一种终端网络状态安全监测方法
CN114638379A (zh) 边缘侧多智能体opc ua信息解析和决策方法
CN106209462A (zh) 基于智能视频技术的智慧金融管理系统
CN113407410A (zh) 一种区块链网络异常检测方法
Tan et al. Research on Fault Prediction Model Based on 5G Data Center

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