CN110222505A - 一种基于遗传算法的工控攻击样本扩张方法及系统 - Google Patents
一种基于遗传算法的工控攻击样本扩张方法及系统 Download PDFInfo
- Publication number
- CN110222505A CN110222505A CN201910459977.2A CN201910459977A CN110222505A CN 110222505 A CN110222505 A CN 110222505A CN 201910459977 A CN201910459977 A CN 201910459977A CN 110222505 A CN110222505 A CN 110222505A
- Authority
- CN
- China
- Prior art keywords
- individual
- sample
- attack
- industrial control
- fitness
- 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
- 238000000034 method Methods 0.000 title claims abstract description 51
- 230000002068 genetic effect Effects 0.000 title claims abstract description 32
- 230000004044 response Effects 0.000 claims abstract description 31
- 108090000623 proteins and genes Proteins 0.000 claims abstract description 29
- 230000035772 mutation Effects 0.000 claims abstract description 12
- 235000012907 honey Nutrition 0.000 claims description 13
- 210000000349 chromosome Anatomy 0.000 claims description 11
- 238000012360 testing method Methods 0.000 claims description 10
- 238000004458 analytical method Methods 0.000 claims description 9
- 238000004891 communication Methods 0.000 claims description 7
- 230000006978 adaptation Effects 0.000 claims description 6
- 230000003416 augmentation Effects 0.000 claims description 6
- 230000008859 change Effects 0.000 claims description 5
- 210000004027 cell Anatomy 0.000 claims description 4
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 239000012634 fragment Substances 0.000 claims description 4
- 230000013011 mating Effects 0.000 claims description 4
- 238000013461 design Methods 0.000 claims description 3
- 238000012938 design process Methods 0.000 claims description 3
- 238000003860 storage Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 2
- 238000013139 quantization Methods 0.000 claims description 2
- XLYOFNOQVPJJNP-UHFFFAOYSA-N water Substances O XLYOFNOQVPJJNP-UHFFFAOYSA-N 0.000 claims 1
- 238000003672 processing method Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101150079123 Bad gene Proteins 0.000 description 1
- 241000700605 Viruses Species 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 229910002056 binary alloy Inorganic materials 0.000 description 1
- 238000004883 computer application Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 238000002986 genetic algorithm method Methods 0.000 description 1
- 230000008595 infiltration Effects 0.000 description 1
- 238000001764 infiltration Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000000203 mixture Substances 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000001151 other effect Effects 0.000 description 1
- 231100000572 poisoning Toxicity 0.000 description 1
- 230000000607 poisoning effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Classifications
-
- 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/2415—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/55—Detecting local intrusion or implementing counter-measures
- G06F21/552—Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/12—Computing arrangements based on biological models using genetic models
- G06N3/126—Evolutionary algorithms, e.g. genetic algorithms or genetic programming
Abstract
本发明提供了一种基于遗传算法的工控攻击样本扩张方法及系统,扩张方法包括:根据协议响应数据设计适应度函数;利用轮盘赌的方法在初始工控攻击样本中选取适应度较高的工控攻击样本个体;将选取的同类型工控攻击样本个体随机进行两两配对,并以某一概率通过单点或者多点交叉方式交换基因片段;随机选取交叉后个体中的基因并以某一概率进行变异操作;N代后,当种群平均适应度的值小于某个极小的阈值时,停止进化并输出扩充的优质个体。本发明相较于人工扩张未知工控协议数据集效率和准确率更高;相较于通过部署工控蜜罐来获取未知工控协议数据开销更少。
Description
技术领域
本发明涉及工控安全领域,具体为针对已有的工控协议攻击样本集,提出了一种基于遗传算法的工控攻击样本扩张方法及系统。
背景技术
随着制造业全面推进,工业数字化、网络化和智能化加快发展,工控安全面临安全漏洞不断增多、安全威胁加速渗透和攻击手段复杂多样等新的挑战。2018年台积电遭受勒索病毒入侵,仅三天损失高达11.5亿元人民币;2019年委内瑞拉电力系统遭受网络攻击,导致委内瑞拉大部分地区停电;美国和以色列在Stuxnet病毒上的合作,成功地迟滞了伊朗核计划。作为国家基础设施的神经中枢,工控系统由通信协议互联互通,通信协议的安全性是工控系统安全的重要部分,但各工控厂商出于提供个性化功能和优化通信协议等因素的考虑,导致工控行业中存在大量私有、未知的通信协议,对协议安全性分析带来了极大的挑战。
在现有的解决方案中,采用协议逆向技术来解析未知协议是主要手段。协议逆向技术不依赖于协议描述,通过对协议流或指令执行流进行监控和分析来提取协议格式。由于工控协议处理程序主要集成在工控厂商提供的专用软件和硬件设备中,所以不易获取协议解析执行流,我们主要采用针对协议流的静态方法来解析未知工控协议。Tao等人(SiyuTao,et al.“Bit-oriented format extraction approach for automatic binaryprotocol reverse engineering,”in IET Communications,2016.)提出了一种二进制协议解析方法,基于贝叶斯概率提取比特级特征,从而提升协议识别的效率;Luo等人(LuoJianzhen,et al.“Position-based automatic reverse engineering of networkprotocols,”in Journal of Network and Computer Applications,2013.)提出了一种应用层协议逆向解析方法,基于消息字段出现频率及位置分布规律建立的关联规则来推断消息格式;Cui等人(Weidong Cui,et al.“Discoverer:automatic protocol reverseengineering from network traces,”in Usenix Security Symposium,2007.)提出了一种协议格式标志域提取工具,通过概率匹配算法递归聚类出格式标志域来推断协议语义。上述方案中样本数量是制约解析准确度的主要因素,由于相对封闭的工控网络环境中的协议数据不易获取,通过在公网上部署工控蜜罐来捕获工控协议攻击数据开销较大,通过人工扩充数据集往往效率低、容易出错。因此,为了提高静态分析方法解析未知协议的准确度,需要一种可以高效、低成本、高准确度的工控协议样本扩充技术。
发明内容
本发明所要解决的技术问题是提供一种基于遗传算法的工控攻击样本扩张方法及系统,能够解决部署工控蜜罐来捕获工控数据开销大和人工扩充数据集效率低、易出错的问题。
为了解决上述问题,本发明的实施例提供一种基于遗传算法的工控攻击样本扩张方法,所述方法包括如下步骤:
步骤1:初始攻击样本收集:在公网上部署一定数量的工业控制蜜罐,将工控蜜罐捕获到的攻击样本存储到本地的数据库中,将每个攻击样本看作一条染色体,即一个个体为一个染色体,并且每条染色体上有多个基因,在数据库中随机选取Np个攻击样本作为初始攻击样本种群;
步骤2:攻击样本个体适应度计算:根据实际工控设备对攻击样本的反馈数据来设计攻击样本个体适应度函数,攻击样本个体适应度函数设计过程包括:首先通过实际工控设备反馈的数据对攻击样本个体进行分类,然后根据攻击的威胁程度将类别分等级,最后将威胁等级进行量化;
步骤3:攻击样本个体选择:将初始攻击样本种群采用“轮盘赌”的方法进行选择,各个个体被选中的概率与其适应度函数值大小成正比,使得适应度较高的个体将有更多的机会遗传到下一代,并将选择的个体放入交配池中;
步骤4:攻击样本个体交叉:首先将交配池中的个体按照一定规则进行简单的分类,将具有同类型的攻击样本个体随机两两配对,然后随机设定交叉点,并以某一特定概率Pc采用单点交叉或多点交叉的方法交换它们的基因;
步骤5:攻击样本个体变异:随机选取交叉后产生的新个体,并随机设定个体的某一位或几位基因值,并以某一较小的概率Pm做变异运算;
步骤6:终止条件设定及输出:多次迭代后,根据种群平均适应度值的收敛情况选择合适的进化代数N,并输出扩充的个体。
例如,本发明的实施例提供的一种基于遗传算法的工控攻击样本扩张方法,所述步骤2攻击样本个体适应度计算具体为:
步骤21:将Np个工控攻击样本向实际工控设备发送,获取工控设备返回的数据和返回数据后工控设备的系统状态;
步骤22:根据实际工控设备对攻击样本的反馈数据,将反馈数据分类并根据攻击的威胁程度划分三个等级,反馈等级由低到高依次为:
1)返回正常响应:实际工控设备可以正常地处理询问;
2)返回异常响应:至少包括非法功能、非法数据地址、非法数据值;
3)没有返回响应:通信错误,至少包括奇偶校验、LRC、CRC码错误;
步骤23:量化攻击等级,将返回正常响应设为a,返回异常响应设为b,没有返回响应设为c,其中a、b和c均为常数,此外,异常响应可以通过返回数据中的差错码和异常码来识别,设定适应度函数,其方法为:
例如,本发明的实施例提供的一种基于遗传算法的工控攻击样本扩张方法,所述步骤3攻击样本个体选择具体为:
步骤31:根据上述步骤23分别计算每个个体的适应度f(i)和所有个体的适应度总和其中,所述i=1,2,3,…,Np;
步骤32:计算每个个体的相对适应度大小它即为每个个体被遗传到下一代种群中的概率;
步骤33:计算每个个体的累积概率并将每个概率组成一个水平区域,全部概率为1;
步骤34:在[0,1]区间内产生一个均匀分布的伪随机数序列,依据该随机数出现在概率区域的位置来确定每个个体被选中的次数,作为交叉和变异的候选集;
例如,本发明的实施例提供的一种基于遗传算法的工控攻击样本扩张方法,所述步骤4攻击样本个体交叉具体为:
步骤41:首先对步骤3选取的工控攻击样本个体按照一定规则进行简单的分类,并将具有相同个体结构的分为一类;
步骤42:其次在同类中随机选取一对攻击样本个体;
步骤43:然后对要交配的一对攻击样本个体,产生[1,m]间的随机数作为交叉的位置;
步骤44:最后以某一特定概率Pc交换它们之间的基因片段,其中,所述交叉概率Pc取值为0.4-1.0;
例如,本发明的实施例提供的一种基于遗传算法的工控攻击样本扩张方法,所述步骤5攻击样本个体变异具体为:
步骤51:首先随机选取步骤4产生的新攻击样本个体;
步骤52:然后随机选取攻击样本个体中的一个或者多个基因;
步骤53:最后以变异概率Pm将变异点的原有基因值做变异运算,其中,所述变异概率Pm取值为0.01-0.1;
例如,本发明的实施例提供的一种基于遗传算法的工控攻击样本扩张方法,所述步骤6终止条件设定具体为:
步骤61:将扩充的每一代新个体向实际工控设备发送;
步骤62:获取实际工控设备返回的数据,并分别计算个体的适应度;
步骤63:直到N代后,种群平均适应度的值小于某一个极小的阈值,则停止进化并输出扩充的优质个体。
为了解决上述问题,本发明还提出了一种基于遗传算法的工控攻击样本扩张系统,包括:
初始样本生成模块,用于生成一定数量的个体作为初始样本;
适应度评估模块,用于根据适应度值的大小来评估个体的优劣,从而决定其遗传机会的大小;
样本选择模块,用于基于每个个体进入下一代的概率等于它的适应度值与整个种群中个体适应度值和的比例来选择进化的个体;
个体交叉模块,用于交叉两个不同个体之间的部分基因,从而产生新的基因组合个体;
个体变异模块,用于变异个体的某个基因,从而产生新的个体;
终止进化模块,用于确定种群的进化代数。
上述工控攻击样本扩张系统中,所述适应度评估模块还包括:
测试单元:用于向真实的工控设备发送测试攻击数据集;
响应获取单元:用于获取工控设备返回的响应数据;
评估单元:用于根据设备返回的响应数据来评估测试攻击的威胁等级。
本发明的有益效果之处在于:所述方法相较于人工扩张未知工控协议数据集效率和准确率更高;所述方法相较于通过部署工控蜜罐来获取未知工控协议数据开销更少。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本发明的一些实施例,而非对本发明的限制。
图1为本发明实施例提供的工控攻击样本扩张方法的流程图;
图2为本发明实施例提供的攻击样本个体轮盘赌选择结构图;
图3为本发明实施例提供的攻击样本个体交叉结构图;
图4为本发明实施例提供的攻击样本个体变异结构图;
图5为本发明实施例提供的工控攻击样本扩张系统结构示意图;
图6为本发明系统扩张的数据集对未知工控协议识别准确度变化的曲线图;
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例,基于所描述的本发明的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的实施例提供的基于遗传算法的工控攻击样本扩张方法,根据协议响应数据设计适应度函数,从交叉和变异产生的新样本中选择优质量的个体,提高了工控攻击样本的扩张效率,降低了部署工控蜜罐的成本开销。
本文中符号定义如表1所示:
表1:符号的定义表
符号 | 定义 |
N<sub>p</sub> | 初始工控攻击样本种群数 |
P<sub>c</sub> | 个体交叉的概率值 |
P<sub>m</sub> | 个体变异的概率值 |
N | 种群进化的代数 |
m | 染色体(即个体)的长度 |
i | 个体序号 |
a | 适应度的取值 |
b | 适应度的取值 |
c | 适应度的取值 |
P | 相对适应度值 |
Q | 累计概率值 |
如图1所述,本发明的实施例提供的基于遗传算法的工控攻击样本扩张方法,所述方法包括以下步骤:
步骤1:初始攻击样本收集:在公网上部署预设数量的工业控制蜜罐,将工控蜜罐捕获到的攻击样本存储到本地的数据库中,将每个攻击样本看作一条染色体,即一个个体为一个染色体,并且每条染色体上有多个基因,在数据库中随机选取Np个攻击样本作为初始攻击样本种群;
步骤2:攻击样本个体适应度计算:根据实际工控设备对攻击样本的反馈数据来设计攻击样本个体适应度函数,攻击样本个体适应度函数设计过程包括:首先通过实际工控设备反馈的数据对攻击样本个体进行分类,然后根据攻击的威胁程度将类别分等级,最后将威胁等级进行量化;
步骤3:攻击样本个体选择:将初始攻击样本种群采用“轮盘赌”的方法进行选择,各个个体被选中的概率与其适应度函数值大小成正比,使得适应度较高的个体将有更多的机会遗传到下一代,并将选择的个体放入交配池中;
步骤4:攻击样本个体交叉:首先将交配池中的个体按照预设规则进行简单的分类,将具有同类型的攻击样本个体随机两两配对,然后随机设定交叉点,并以某一特定概率Pc采用单点交叉或多点交叉的方法交换它们的基因;
步骤5:攻击样本个体变异:随机选取交叉后产生的新个体,并随机设定个体的某一位或几位基因值,并以某一较小的概率Pm做变异运算;
步骤6:终止条件设定及输出:多次迭代后,根据种群平均适应度值的收敛情况选择合适的进化代数N,并输出扩充的个体;
例如,在本发明实施例提供的基于遗传算法的工控攻击样本扩展技术中,对工控攻击样本基因选择的处理方法具体为:
如附图2所示,步骤1.对工控攻击样本基因选择的处理方法步骤为:
步骤11.计算每个个体的适应度f(i)值和所有个体的适应度总和其中i=1,2,3,…,Np,并计算每个个体的相对适应度大小
例如,计算个体的适应度值、适应度总和与相对适应度大小具体方法为:
56ea00000005012b0e0300H
2c3a00000005012b0e0300H
00b400000006010200b4001H
000000000005032b0e0100H
上述四个工控攻击样本基因均来自部署在公网上的蜜罐所捕获,属于Modbus工控协议,前两个个体返回正常响应,第三个个体返回异常响应,第四个个体无返回响应,故个体适应度依次为:f(1)=a,f(2)=a,f(3)=b,f(4)=c;适应度总和为:个体的相对适应度大小分别为: 其中a,b,c均为常数,且满足a≥b+c且b>c;
步骤12.计算个体的累积概率
例如,计算个体的累计概率具体方法为:
Q1=P1,Q2=P1+P2,Q3=P1+P2+P3,Q4=1;
步骤13.在[0,1]区间内产生一个均匀分布的伪随机数序列,依据该随机数出现在概率区域的位置来确定每个个体被选中的次数,作为交叉和变异的候选集;
例如,轮盘赌选择的具体方法为:
假设常数a,b,c依次设为6,3,1,则有P1=0.375,P2=0.375,P3=0.1875,P4=0.0625,Q1=0.3750,Q2=0.7500,Q3=0.9375,Q4=1.0000;
假设从区间[0,1]中产生4个随机数:0.120358、0.470128、0.684894、0.916435,则第一、二、三和四个攻击样本被选中的次数分别为1、2、1、0次,如下表所示:
个体 | 适应度 | 选择概率 | 累计概率 | 选中次数 |
000500000005005a000304H | a=6 | 0.3750 | 0.3750 | 1 |
0000000000060101000000d8H | a=6 | 0.3750 | 0.7500 | 2 |
00b400000006010200b4001H | b=3 | 0.1875 | 0.9375 | 1 |
000000000005032b0e0100H | c=1 | 0.0625 | 1.0000 | 0 |
例如,在本发明实施例提供的基于遗传算法的工控攻击样本扩张方法技术中,对工控攻击样本个体交叉的处理方法具体为:步骤2.如图3所示,对工控攻击样本个体交叉的处理方法的具体步骤为:
步骤21:首先对步骤3选择的工控攻击样本个体按照一定规则进行简单的分类,并将具有相同基因结构的基因分为一类;
例如,攻击样本基因进行简单分类的一种具体方法为:
704700000005002b0e0300H
56ea00000005012b0e0300H
2c3a00000005012b0e0300H
0000000000060101000203e8H
000000000006010100020002H
000000000006010100020003H
000c0000000d005a0020001300000000006400H
000d0000000d005a0020001300640000009c00H
000e0000000d005a0020001400000000006400H
很显然,上述九个攻击样本个体可以按照长度的不同分为三类;
步骤22:其次在同类中随机选取一对攻击样本;
步骤23:然后对交配的攻击样本,产生[1,m]间的随机数作为交叉的位置;
步骤24:最后以某一特定概率Pc交换它们之间的基因片段,其中,所述交叉概率Pc取值为0.4-1.0;
例如,选取上述56ea00000005012b0e0300H和2c3a00000005012b0e0300H攻击样本作为交叉的对象,并产生随机数3作为个体交叉的位置,然后交叉他们的基因片段;
例如,在本发明实施例提供的基于遗传算法的工控攻击样本扩张方法中,对工控攻击样本个体变异的处理方法具体为:步骤3.对工控攻击样本个体变异的处理方法的具体步骤为:
步骤31:首先随机选取步骤4产生的攻击样本个体,并将其转换成二进制形式;
步骤32:然后随机选择攻击样本个体的一个变异基因;
步骤33:最后依照变异概率Pm将变异点的原有基因值取反,其中,所述变异概率Pm取值为0.01-0.1;
例如,如图4所示,攻击样本个体变异具体方法为:
563a00000005012b0e0300H
10101100011101000000000000000000000000000000101000000010010101100
0011100000001100000000B
选取上述的攻击样本个体,并将其转换成二进制形式,产生随机数5作为个体变异的位置,并以变异概率Pm将变异点原有基因值1取反为0。
参照附图5,其示出本发明的一种基于遗传算法的工控攻击样本扩张系统实施例,包括初始样本生成模块、适应度评估模块、样本选择模块、个体交叉模块、个体变异模块和终止进化模块。
其中,初始样本生成模块,用于用于生成一定数量的个体作为初始样本;适应度评估模块,用于根据适应度值的大小来评估个体的优劣,从而决定其遗传机会的大小。适应度评估模块包括测试单元、响应获取单元和评估单元。其中,测试单元用于向真实的工控设备发送测试攻击数据集;响应获取单元用于获取工控设备返回的响应数据;评估单元用于根据设备返回的响应数据来评估测试攻击的威胁等级。
样本选择模块,用于基于每个个体进入下一代的概率等于它的适应度值与整个种群中个体适应度值和的比例来选择进化的个体。
个体交叉模块,用于交叉两个不同个体之间的部分基因,从而产生新的基因组合个体。
个体变异模块,用于变异个体的某个基因,从而产生新的个体。
终止进化模块,用于确定种群的进化代数。
下面采用本发明前述方法对未知工控协议的识别效果进行了说明。首先,我们选取了三种常见的工控协议,包括施耐德可编程逻辑控制器(PLC)的Modbus协议、西门子PLC的S7Comm协议和电力系统的IEC104协议;其次,对从工控蜜罐捕获的工控协议样本集进行预处理,以获取工控应用层协议数据;然后,将样本数据通过本发明提出的基于遗传算法的工控攻击样本扩张系统,从而扩充出优质的新样本数据,扩张的具体情况如下:
协议 | 样本集 | 扩张集 |
Modbus | 2055 | 514 |
S7Comm | 729 | 190 |
IEC104 | 628 | 163 |
最后,将扩张集和样本集作为未知工控协议解析系统的数据集,对其进行解析,识别效果附图6所示:经过多次扩张,Modbus协议最终识别率提高了35%,S7Comm协议最终识别率提高了45%,IEC104最终识别率提高了45%。实验结果显示本发明在没有协议规约的条件下能够扩张出优质的数据集,提高了未知工控协议解析的识别准确度。
本发明提出了一种基于遗传算法的工控攻击样本扩张方法,该技术首先对初始工控攻击样本个体进行交叉操作并结合选择规则,使优秀的基因得以保留,不良基因被遗弃;然后通过变异使基因发生突变,产生有实质性差异的新基因,有效避免了算法陷入局部最优的问题。此外,该技术支持其他类型的工控协议(例如:S7Comm、IEC104和bacnet等)。
本发明的实施例提供的基于遗传算法的工控攻击样本扩张方法,根据协议响应数据设计适应度函数,从交叉和变异产生的新样本中选择优质量的个体,提高了工控攻击样本的扩张效率,降低了部署工控蜜罐的成本开销。
本发明的实施例的基础上,可以对之作一些修改或改进,这对本领域技术人员而言是显而易见的,因此,在不偏离本发明精神的基础上所做的这些修改或改进,均属于本发明要求保护的范围。
Claims (8)
1.一种基于遗传算法的工控攻击样本扩张方法,其特征在于,包括以下步骤:
步骤1:初始攻击样本收集:在公网上部署预设数量的工业控制蜜罐,将工控蜜罐捕获到的攻击样本存储到本地的数据库中,将每个攻击样本看作一条染色体,并且每条染色体上有多个基因,在数据库中随机选取Np个攻击样本作为初始攻击样本种群;
步骤2:攻击样本个体适应度计算:根据实际工控设备对攻击样本的反馈数据来设计攻击样本个体适应度函数,攻击样本个体适应度函数设计过程包括:首先通过实际工控设备反馈的数据对攻击样本个体进行分类,然后根据攻击的威胁程度将类别分威胁等级,最后将威胁等级进行量化;
步骤3:攻击样本个体选择:将初始攻击样本种群采用“轮盘赌”的方法进行选择,各个染色体被选中的概率与其适应度函数值大小成正比,使得适应度较高的个体染色体将有更多的机会遗传到下一代,并将选择的个体放入交配池中;
步骤4:攻击样本个体交叉:首先将交配池中的个体按照一定规则进行简单的分类,将具有同类型的攻击样本个体随机两两配对,然后随机设定交叉点,并以设定的概率Pc采用单点交叉或多点交叉的方法交换它们的基因;
步骤5:攻击样本个体变异:随机选取交叉后产生的新个体,并随机设定个体的某一位或几位基因值,并以概率Pm做变异运算;
步骤6:终止条件设定及输出:多次迭代后,根据种群平均适应度值的收敛情况选择进化代数N,并输出扩充的个体。
2.根据权利要求1所述的工控攻击样本扩张技术,其特征在于,所述步骤2攻击样本个体适应度计算具体为:
步骤21:将Np个工控攻击样本向实际工控设备发送,获取工控设备响应的数据和响应数据后工控设备的系统状态;
步骤22:根据实际工控设备对攻击样本的反馈数据,将反馈数据分类并根据攻击的威胁程度划分三个等级,反馈等级由低到高依次为:
1)返回正常响应:实际工控设备可以正常地处理询问;
2)返回异常响应:至少包括非法功能、非法数据地址、非法数据值;
3)没有返回响应:通信错误,至少包括奇偶校验、LRC、CRC码错误;
步骤23:量化攻击等级,将返回正常响应设为a,返回异常响应设为b,没有返回响应设为c,其中a、b和c均为常数,此外,异常响应通过返回数据中的差错码和异常码来识别,设定适应度函数,其方法为:
且。
3.根据权利要求2所述的工控攻击样本扩张技术,其特征在于,所述步骤3攻击样本个体选择具体为:
步骤31:根据上述步骤23分别计算每个个体的适应度f(i)和所有个体的适应度总和其中,所述i=1,2,3,…,Np;
步骤32:计算每个个体的相对适应度大小即为每个个体被遗传到下一代种群中的概率;
步骤33:计算每个个体的累积概率并将每个概率组成一个水平区域,水平区域的总体概率为1;
步骤34:在[0,1]区间内产生一个均匀分布的伪随机数序列,依据该随机数出现在概率区域的位置来确定每个个体被选中的次数,作为交叉和变异的候选集。
4.根据权利要求3所述的工控攻击样本扩张技术,其特征在于,所述步骤4攻击样本个体交叉具体为:
步骤41:首先对步骤3选取的工控攻击样本个体按照预设规则进行分类,并将具有相同个体结构的分为一类;
步骤42:其次在同类中随机选取一对攻击样本个体;
步骤43:然后对要交配的一对攻击样本个体,产生[1,m]间的随机数作为交叉的位置;
步骤44:最后以交叉概率Pc交换它们之间的基因片段,其中,所述交叉概率Pc取值为0.4-1.0。
5.根据权利要求4所述的工控攻击样本扩张技术,其特征在于,所述步骤5攻击样本个体变异具体为:
步骤51:随机选取步骤4产生的新攻击样本个体;
步骤52:随机选取攻击样本个体中的一个或者多个基因;
步骤53:以变异概率Pm将变异点的原有基因值做变异运算,其中,所述变异概率Pm取值为0.01-0.1。
6.根据权利要求1所述的工控攻击样本扩张技术,其特征在于,所述步骤6终止条件设定具体为:
步骤61:将扩充的每一代新个体向实际工控设备发送;
步骤62:获取实际工控设备返回的数据,并分别计算个体的适应度值;
步骤63:直到N代后,种群平均适应度的值小于预设阈值,则停止进化并输出扩充后的个体。
7.一种基于遗传算法的工控攻击样本扩张系统,其特征在于,包括:
初始样本生成模块,用于生成预设数量的个体作为初始样本;
适应度评估模块,用于根据适应度值的大小来评估个体的优劣从而决定其遗传机会的大小;
样本选择模块,用于选择进化的个体时基于每个个体进入下一代的概率等于它的适应度值与整个种群中个体适应度值和的比例来选择;
个体交叉模块,用于交叉两个不同个体之间的部分基因,从而产生新的基因组合个体;
个体变异模块,用于变异个体的某个基因,从而产生新的个体;
终止进化模块,用于确定种群的进化代数。
8.如权利要求7所述的基于遗传算法的工控攻击样本扩张系统,其特征在于,所述适应度评估模块包括:
测试单元:用于向真实的工控设备发送测试攻击数据集;
响应获取单元:用于获取工控设备返回的响应数据;
评估单元:用于根据设备返回的响应数据来评估测试攻击的威胁等级。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459977.2A CN110222505A (zh) | 2019-05-30 | 2019-05-30 | 一种基于遗传算法的工控攻击样本扩张方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910459977.2A CN110222505A (zh) | 2019-05-30 | 2019-05-30 | 一种基于遗传算法的工控攻击样本扩张方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110222505A true CN110222505A (zh) | 2019-09-10 |
Family
ID=67818805
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910459977.2A Pending CN110222505A (zh) | 2019-05-30 | 2019-05-30 | 一种基于遗传算法的工控攻击样本扩张方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110222505A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797975A (zh) * | 2020-06-24 | 2020-10-20 | 武汉大学 | 一种基于微生物遗传算法的黑盒对抗样本生成方法 |
CN115550069A (zh) * | 2022-11-29 | 2022-12-30 | 国网电动汽车服务(天津)有限公司 | 一种电动汽车智能充电系统及其安全防护方法 |
CN116382250A (zh) * | 2023-05-24 | 2023-07-04 | 岭东核电有限公司 | 一种工控攻击事件监测感知处理方法及系统、存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101894237A (zh) * | 2010-08-03 | 2010-11-24 | 南开大学 | 应用遗传算法自动生成xss跨站点脚本漏洞检测参数的方法 |
CN105893876A (zh) * | 2016-03-28 | 2016-08-24 | 工业和信息化部电子第五研究所 | 芯片硬件木马检测方法和系统 |
US20170185785A1 (en) * | 2014-07-14 | 2017-06-29 | Iota Security Inc. | System, method and apparatus for detecting vulnerabilities in electronic devices |
US20170272534A1 (en) * | 2003-11-07 | 2017-09-21 | Plaxo, Inc. | Viral Engine for Network Deployment |
CN107222491A (zh) * | 2017-06-22 | 2017-09-29 | 北京工业大学 | 一种基于工业控制网络变种攻击的入侵检测规则创建方法 |
CN108924102A (zh) * | 2018-06-21 | 2018-11-30 | 电子科技大学 | 高效的工控协议模糊测试方法 |
CN109376544A (zh) * | 2018-09-18 | 2019-02-22 | 浙江工业大学 | 一种防止复杂网络中的社团结构被深度挖掘的方法 |
CN109639668A (zh) * | 2018-12-10 | 2019-04-16 | 潘晓君 | 基于属性决策的遗传粒子群入侵检测方法 |
CN109688154A (zh) * | 2019-01-08 | 2019-04-26 | 上海海事大学 | 一种网络入侵检测模型建立方法及网络入侵检测方法 |
CN109756478A (zh) * | 2018-11-28 | 2019-05-14 | 国网江苏省电力有限公司南京供电分公司 | 一种考虑优先级的工控系统攻击异常多级后备阻断方法 |
-
2019
- 2019-05-30 CN CN201910459977.2A patent/CN110222505A/zh active Pending
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20170272534A1 (en) * | 2003-11-07 | 2017-09-21 | Plaxo, Inc. | Viral Engine for Network Deployment |
CN101894237A (zh) * | 2010-08-03 | 2010-11-24 | 南开大学 | 应用遗传算法自动生成xss跨站点脚本漏洞检测参数的方法 |
US20170185785A1 (en) * | 2014-07-14 | 2017-06-29 | Iota Security Inc. | System, method and apparatus for detecting vulnerabilities in electronic devices |
CN105893876A (zh) * | 2016-03-28 | 2016-08-24 | 工业和信息化部电子第五研究所 | 芯片硬件木马检测方法和系统 |
CN107222491A (zh) * | 2017-06-22 | 2017-09-29 | 北京工业大学 | 一种基于工业控制网络变种攻击的入侵检测规则创建方法 |
CN108924102A (zh) * | 2018-06-21 | 2018-11-30 | 电子科技大学 | 高效的工控协议模糊测试方法 |
CN109376544A (zh) * | 2018-09-18 | 2019-02-22 | 浙江工业大学 | 一种防止复杂网络中的社团结构被深度挖掘的方法 |
CN109756478A (zh) * | 2018-11-28 | 2019-05-14 | 国网江苏省电力有限公司南京供电分公司 | 一种考虑优先级的工控系统攻击异常多级后备阻断方法 |
CN109639668A (zh) * | 2018-12-10 | 2019-04-16 | 潘晓君 | 基于属性决策的遗传粒子群入侵检测方法 |
CN109688154A (zh) * | 2019-01-08 | 2019-04-26 | 上海海事大学 | 一种网络入侵检测模型建立方法及网络入侵检测方法 |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111797975A (zh) * | 2020-06-24 | 2020-10-20 | 武汉大学 | 一种基于微生物遗传算法的黑盒对抗样本生成方法 |
CN115550069A (zh) * | 2022-11-29 | 2022-12-30 | 国网电动汽车服务(天津)有限公司 | 一种电动汽车智能充电系统及其安全防护方法 |
CN116382250A (zh) * | 2023-05-24 | 2023-07-04 | 岭东核电有限公司 | 一种工控攻击事件监测感知处理方法及系统、存储介质 |
CN116382250B (zh) * | 2023-05-24 | 2023-11-28 | 岭东核电有限公司 | 一种工控攻击事件监测感知处理方法及系统、存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Janarthanan et al. | Feature selection in UNSW-NB15 and KDDCUP'99 datasets | |
Parsaei et al. | A hybrid data mining approach for intrusion detection on imbalanced NSL-KDD dataset | |
Paliwal et al. | Denial-of-service, probing & remote to user (R2L) attack detection using genetic algorithm | |
Karthick et al. | Adaptive network intrusion detection system using a hybrid approach | |
CN109218304B (zh) | 一种基于攻击图和协同进化的网络风险阻断方法 | |
CN110222505A (zh) | 一种基于遗传算法的工控攻击样本扩张方法及系统 | |
Jongsuebsuk et al. | Network intrusion detection with fuzzy genetic algorithm for unknown attacks | |
CN108924102B (zh) | 高效的工控协议模糊测试方法 | |
CN109587144B (zh) | 网络安全检测方法、装置及电子设备 | |
CN109218321A (zh) | 一种网络入侵检测方法及系统 | |
CN110868404B (zh) | 一种基于tcp/ip指纹的工控设备自动识别方法 | |
CN111901340A (zh) | 一种面向能源互联网的入侵检测系统及其方法 | |
Narsingyani et al. | Optimizing false positive in anomaly based intrusion detection using genetic algorithm | |
CN114064471A (zh) | 一种基于生成对抗网络的Ethernet/IP协议模糊测试方法 | |
CN105262715A (zh) | 一种基于模糊时序关联模式的异常用户检测方法 | |
Ghalehgolabi et al. | Intrusion detection system using genetic algorithm and data mining techniques based on the reduction | |
Song et al. | Unsupervised anomaly detection based on clustering and multiple one-class SVM | |
Xian et al. | A novel intrusion detection method based on clonal selection clustering algorithm | |
CN113067798A (zh) | Ics入侵检测方法、装置、电子设备和存储介质 | |
Harbola et al. | Improved intrusion detection in DDoS applying feature selection using rank & score of attributes in KDD-99 data set | |
Pal et al. | Neural network & genetic algorithm based approach to network intrusion detection & comparative analysis of performance | |
Yang et al. | Cloud-edge coordinated traffic anomaly detection for industrial cyber-physical systems | |
CN112328465A (zh) | 一种基于深度学习与遗传算法的浏览器样本集获取方法 | |
CN115913764A (zh) | 基于生成对抗网络的恶意域名训练数据生成方法 | |
Tien et al. | Automatic device identification and anomaly detection with machine learning techniques in smart factories |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190910 |
|
RJ01 | Rejection of invention patent application after publication |