一种基于遗传算法的工控攻击样本扩张方法及系统技术方案

技术编号:22076469 阅读:30 留言:0更新日期:2019-09-12 14:23
本发明专利技术提供了一种基于遗传算法的工控攻击样本扩张方法及系统,扩张方法包括:根据协议响应数据设计适应度函数;利用轮盘赌的方法在初始工控攻击样本中选取适应度较高的工控攻击样本个体;将选取的同类型工控攻击样本个体随机进行两两配对,并以某一概率通过单点或者多点交叉方式交换基因片段;随机选取交叉后个体中的基因并以某一概率进行变异操作;N代后,当种群平均适应度的值小于某个极小的阈值时,停止进化并输出扩充的优质个体。本发明专利技术相较于人工扩张未知工控协议数据集效率和准确率更高;相较于通过部署工控蜜罐来获取未知工控协议数据开销更少。

A Sample Expansion Method and System for Industrial Control Attacks Based on Genetic Algorithms

【技术实现步骤摘要】
一种基于遗传算法的工控攻击样本扩张方法及系统
本专利技术涉及工控安全领域,具体为针对已有的工控协议攻击样本集,提出了一种基于遗传算法的工控攻击样本扩张方法及系统。
技术介绍
随着制造业全面推进,工业数字化、网络化和智能化加快发展,工控安全面临安全漏洞不断增多、安全威胁加速渗透和攻击手段复杂多样等新的挑战。2018年台积电遭受勒索病毒入侵,仅三天损失高达11.5亿元人民币;2019年委内瑞拉电力系统遭受网络攻击,导致委内瑞拉大部分地区停电;美国和以色列在Stuxnet病毒上的合作,成功地迟滞了伊朗核计划。作为国家基础设施的神经中枢,工控系统由通信协议互联互通,通信协议的安全性是工控系统安全的重要部分,但各工控厂商出于提供个性化功能和优化通信协议等因素的考虑,导致工控行业中存在大量私有、未知的通信协议,对协议安全性分析带来了极大的挑战。在现有的解决方案中,采用协议逆向技术来解析未知协议是主要手段。协议逆向技术不依赖于协议描述,通过对协议流或指令执行流进行监控和分析来提取协议格式。由于工控协议处理程序主要集成在工控厂商提供的专用软件和硬件设备中,所以不易获取协议解析执行流,我们主要采用针对协议流的静态方法来解析未知工控协议。Tao等人(SiyuTao,etal.“Bit-orientedformatextractionapproachforautomaticbinaryprotocolreverseengineering,”inIETCommunications,2016.)提出了一种二进制协议解析方法,基于贝叶斯概率提取比特级特征,从而提升协议识别的效率;Luo等人(LuoJianzhen,etal.“Position-basedautomaticreverseengineeringofnetworkprotocols,”inJournalofNetworkandComputerApplications,2013.)提出了一种应用层协议逆向解析方法,基于消息字段出现频率及位置分布规律建立的关联规则来推断消息格式;Cui等人(WeidongCui,etal.“Discoverer:automaticprotocolreverseengineeringfromnetworktraces,”inUsenixSecuritySymposium,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.一种基于遗传算法的工控攻击样本扩张方法,其特征在于,包括以下步骤:步骤1:初始攻击样本收集:在公网上部署预设数量的工业控制蜜罐,将工控蜜罐捕获到的攻击样本存储到本地的数据库中,将每个攻击样本看作一条染色体,并且每条染色体上有多个基因,在数据库中随机选取Np个攻击样本作为初始攻击样本种群;步骤2:攻击样本个体适应度计算:根据实际工控设备对攻击样本的反馈数据来设计攻击样本个体适应度函数,攻击样本个体适应度函数设计过程包括:首先通过实际工控设备反馈的数据对攻击样本个体进行分类,然后根据攻击的威胁程度将类别分威胁等级,最后将威胁等级进行量化;步骤3:攻击样本个体选择:将初始攻击样本种群采用“轮盘赌”的方法进行选择,各个染色体被选中的概率与其适应度函数值大小成正比,使得适应度较高的个体染色体将有更多的机会遗传到下一代,并将选择的个体放入交配池中;步骤4:攻击样本个体交叉:首先将交配池中的个体按照一定规则进行简单的分类,将具有同类型的攻击样本个体随机两两配对,然后随机设定交叉点,并以设定的概率Pc采用单点交叉或多点交叉的方法交换它们的基因;步骤5:攻击样本个体变异:随机选取交叉后产生的新个体,并随机设定个体的某一位或几位基因值,并以概率Pm做变异运算;步骤6:终止条件设定及输出:多次迭代后,根据种群平均适应度值的收敛情况选择进化代数N,并输出扩充的个体。...

【技术特征摘要】
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,...

【专利技术属性】
技术研发人员:何云华沈加龙肖珂王超李琛
申请(专利权)人:北方工业大学
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1