掌桥专利:专业的专利平台
掌桥专利
首页

一种用于工业控制系统的防御策略生成方法和系统

文献发布时间:2023-06-19 11:52:33


一种用于工业控制系统的防御策略生成方法和系统

技术领域

本发明属于工业控制系统信息安全领域,更具体地,涉及一种用于工业控制系统的防御策略生成方法和系统。

背景技术

信息物理系统是信息通信技术和各类嵌入式微处理器的集合的概念,其概括了现场设备及工业过程的特征:信息层与物理层紧密耦、高实时性要求以及系统本身的高复杂性,所以在工业控制领域中,信息物理设备常用来指代工业现场各类工业过程实施设备。

工业控制系统是一种多层次化的系统,其包含业务层、监控层、控制层、物理层组合而成,相邻层及之间通过专用通信通路相连,并在通路上设立网关、网闸、防火墙等数据包过滤隔离设备。这四个层级的分工各不相同,层级中的设备也不尽相同,其中除了业务层负责整个流程抽象层面上的管理、决策、调度,与传统IT系统无异外,其余三个层级均为信息物理设备和信息层设备配合工作。随着工业信息化进程的推进,工控系统逐渐与外界互联,工控系统信息安全方面的脆弱性逐渐暴露,其被入侵的风险也与日俱增,入侵响应作为入侵攻击对抗体系的最后一道防线,在整个入侵防御体系中占据着重要位置,其容忍攻击、做出响应、修复系统的运行步骤也为工控系统提供了较大的攻击容忍性。

现今的工控入侵响应系统多为半自动入侵响应系统和静态入侵响应系统,该类系统仍存在着以下几类技术问题:首先,此类入侵响应系统的响应机制不够智能化,只能通过预先设定自动响应或是半自动响应式规则对入侵攻击痕迹进行判别;其次,这些入侵响应系统没有很好地针对工控系统的物理层与信息层相融合的特点进行入侵响应机制设置,这导致了响应机制的工作效率低,适用性差;最后,此类入侵响应系统在策略决策模块的考量多数为基于决策前的环境下的单智能体决策,而忽略了入侵响应作为攻守双方交互过程的特点,因此会导致策略决策的考量因素仅为防御方面对的环境因素,进而导致策略决策不够全面的技术问题。

发明内容

针对现有技术的以上缺陷或改进需求,本发明提供了一种用于工业控制系统的防御策略生成方法和系统,其目的在于,解决现有工控领域入侵响应系统中现今的工控入侵响应系统多为半自动入侵响应系统和静态入侵响应系统存在的响应机制不够智能化的技术问题,以及响应机制的工作效率低,适用性差的技术问题,以及由于忽略了入侵响应作为攻守双方交互过程的特点,进而导致策略决策不够全面的技术问题。

为实现上述目的,按照本发明的一个方面,提供了一种用于工业控制系统的防御策略生成方法,包括以下步骤:

(1)在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器;

(2)将步骤(1)更新后的风险系数表输入建立好的决策模型,以得到最优防御策略。

优选地,风险系数表是按照以下子步骤建立的:

(a1)获取工业控制系统中所有的信息层设备个数n和物理层设备个数m;

(a2)建立n个信息层设备数据表、m个物理层设备数据表、以及一个大小为(n+m)个条目的风险系数表,并建立n个信息层设备数据表、m个物理层设备数据表中的每一个与风险系数表中每一个条目之间的映射关系;

(a3)建立n个信息层设备数据表计数器{cntp

(a4)获取所有物理层设备的IP地址和信息层设备的IP地址,将其分别填入物理层设备数据表和信息层设备数据表中,并设置计数器cnt1=0,cnt2=0;

(a5)设置计数器cnt1=cnt1+1;

(a6)判断cnt1是否超过预设阈值,如果是则进入步骤(a13),此时m个物理设备数据表的建立进程已经完成,否则进入步骤(a7);

(a7)从SCADA系统中的服务器获取物理层设备的历史物理层数据集合,并根据其中第cnt1条历史物理层数据对应的物理层设备的IP地址查找对应的物理层设备数据表的序号i,其中i满足1≤i≤m;

(a8)查询序号为i的物理层设备数据表所对应的计数器cntp

(a9)获取第cnt1条历史物理层数据对应的时间戳,并判断序号为i的物理层设备数据表中是否存在该时间戳,如果存在则进入步骤(a10),否则进入步骤(a11)。

(a10)从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值,填入序号为i的物理层设备数据表中存在步骤(a9)获取时间戳的条目的对应属性中,并返回步骤(a5)。

(a11)设置计数器cntp

(a12)在序号为i的物理层设备数据表中创建的第cntp

(a13)设置计数器cnt2=cnt2+1;

(a14)判断计数器cnt2是否超过预设阈值,如果是则进入步骤(a22),此时所有n个信息层设备数据表的建立过程已经完成,否则进入步骤(a15);

(a15)从IDS及信息层设备分别获取IDS警报集与信息层设备警报集,将二者整合为一个信息层历史数据集合,并根据其中第cnt2条历史信息层数据对应的信息层设备的IP地址在信息层设备数据表中查找对应的序号j,其中j满足1≤j≤n。

(a16)获取序号为j的信息层设备数据表所对应的计数器cntn

(a17)设置计数器cntn

(a18)获取信息层历史数据集合中第cnt2条历史信息层数据的时间戳timestamp

(a21)创建序号为j的信息层设备数据表的第cntn

(a22)获取经过步骤(a5)-步骤(a12)所形成的m个物理层设备数据表,创建一个大小为2m个条目的拟合函数储存表,建立m个物理层设备数据表中的每一个与拟合函数储存表中的2个条目之间的映射关系,并设置计数器cnt1=1。

(a23)判断cnt1是否超过m,如果是则进入步骤(a31),此时具有m个条目的拟合函数储存表以及风险系数表中第(n+1)到第(n+m)个条目的建立进程已经完成,否则进入步骤(a24);

(a24)获取序号为cnt1的物理层设备数据表,为序号为cnt1的物理层设备创建系统平均恢复/修复时间(Mean-Time-To-Recovery/Repair,简称MTTR)表(其大小为cntp

(a25)判断cnt2是否大于cntp

(a26)获取序号为cnt1的物理层设备数据表的第cnt2行数据中的时间戳

(a27)设置计数器cnt2=cnt2+1,并返回步骤(a25)。

(a28)使用最小二乘法将序号为cnt1的物理层设备数据表和通过步骤(25)-步骤(27)获得的MTTR表中的cntp

(a29)获取通过步骤(25)-步骤(27)获得的MTTR表的cntp

(a30)设置计数器cnt1=cnt1+1,并返回步骤(a23);

(a31)获取经过步骤(a13)-步骤(a21)所形成的n个信息层设备数据表,并将设置计数器cnt1=1。

(a32)判断cnt1是否超过n,如果是则过程结束,此时风险系数表中第1到第n个条目的建立进程已经完成,否则进入步骤(a33);

(a33)获取序号为cnt1的信息层设备数据表,创建一个大小为2倍于该信息层设备数据集所管理的警报点总数l

(a34)判断cnt2是否大于l

(a35)获取序号为cnt1的信息层设备数据表管理的警报点中的第cnt2个警报点,并获得其编号alarms

(a36)设置计数器cnt2=cnt2+1,返回步骤(34)。

(a37)使用通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表,计算序号为cnt1的信息层设备的风险系数δ,

(a38)将通过步骤(a37)获得的

优选地,风险系数表中记录了所有n个信息层设备和m个物理层设备的风险系数。

物理层设备数据表中记录了其对应的物理层设备的IP地址、以及该物理层设备对应的数据和该数据对应的时间戳,该数据包括该物理层设备所发送的系统状态数据和控制量数据、以及该物理层所管理的传感器生成的传感器数据;

信息层设备数据表中记录了其对应的信息层设备的IP地址、以及该信息层设备管理的警报点的编号、以及该警报点对应的警报数据所对应的安全事件是否发生,其为1时表示发生了安全事件,为0时表示未发生;

物理层数据包括物理层设备的IP地址、时间戳、传感器数据、系统状态数据、以及控制量数据;

单条历史物理层数据中,仅传感器数据、系统状态数据、控制量数据其中一个的属性具有实值,即其属性值不为0。

优选地,信息层数据包括信息层设备IP地址、时间戳、警报点的编号、警报对应的安全事件属性集;

单条历史信息层数据有且仅有一条警报。

优选地,风险系数的计算过程为:

其中l指代序号为cnt1的信息层设备,在该信息层设备被攻击时,此值置1,否则为0;式中P(l)和

其中的table

优选地,步骤(1)包括以下子步骤:

(1-1)在收到攻击信号signal

(1-2)判断数据包data

(1-3)获取预先建立好的m个物理层设备数据表,并获取数据包data

(1-4)在m个物理层设备数据表中判断是否存在与data

(1-5)从m个物理层设备数据表中获取与data

(1-6)获取预先建立好的m个物理层设备计数器中的第i个计数器cntp

(1-7)设置计数器cntp

(1-8)将数据data

(1-9)将数据包data

(1-10)获取序号为i的物理层设备数据表中时间戳属性值等于timestamp

(1-11)获取预先建立的n个信息层设备数据表,获取数据包data

(1-12)在通过步骤(1-11)获取的n个信息层设备数据表中判断是否存在与目标设备的IP地址具有相同IP地址的信息层设备表,若存在则进入(1-13),否则过程结束,此时说明数据包data

(1-13)获取预先建立好的的m个物理层设备计数器中的第j个计数器cntn

(1-14)设置计数器cntn

(1-15)在序号为j的信息层设备数据表的第cntn

优选地,步骤(2)包括以下子步骤:

(2-1)获取步骤(1-10)或步骤(1-16)处理后得到的风险系数表、n个信息层设备数据表计数器cntp

(2-2)获取当前状态下的防御策略表与攻击策略收益表。

(2-3)将步骤(2-2)得到的防御策略表与攻击策略收益表输入建立好的策略决策框架中,以输出最优策略。

具体而言,本过程是使用以下公式作为计算决策收益:

式中C

优选地,防御策略表与攻击策略收益表为管理员预先设定的数据集,其中防御策略表包含的属性为:防御策略编号、防御策略目标设备、防御策略用时、以及防御策略效果数据;

防御策略效果数据依照防御策略目标设备的种类不同具有不同分量,若防御策略目标设备为物理层设备,则防御策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若防御策略目标设备为信息层设备,则防御策略效果数据为本防御策略的目标设备的数据表中将被消除警报的警报点的集合。

而攻击策略收益表包含的属性为:攻击策略编号、攻击策略目标设备、攻击策略用时、以及攻击策略效果数据;

攻击策略效果数据依照攻击策略目标设备的种类不同具有不同分量,若攻击策略目标设备为物理层设备,则攻击策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若攻击策略目标设备为信息层设备,则攻击策略效果数据为本防御策略目标设备编号中警报被置位的警报点的集合。

优选地,步骤(2-3)获取最优策略的过程包括以下子步骤:

(b1)将当前风险系数表与防御策略集导入防守方决策模型中,经过POMDP的迭代过程得出使收益值最大化的n种防御策略,形成防御策略备选集{d

(b2)建立两个具有n×m项条目的表作为防御策略收益表和攻击策略收益表,并设置计数器cntd=1。

(b3)判断cntd是否大于等于n,是则进入步骤(b7),此时表明博弈论所需要的防御策略收益表和攻击策略收益表均已建立完成,否则进入步骤(b4);

(b4)取出策略d

(b5)将通过步骤(b4)获得的收益集{reward

(b6)设置计数器cntd=cntd+1,返回步骤(b3)。

(b7)使用minimax算法对经过步骤(b3)-步骤(b6)最终形成的防御策略收益表和攻击策略收益表进行处理,以得到矩阵鞍点(i,j),横坐标即为防御系统将采用的策略编号,通过横坐标i获得i所对应的防御策略集条目d

按照本发明的另一方面,提供了一种用于工业控制系统的防御策略生成系统,包括:

第一模块,用于在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器;

第二模块,用于将第一模块更新后的风险系数表输入建立好的决策模型,以得到最优防御策略。

总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:

(1)由于本发明采用了步骤(a1)到步骤(a12),其将工业控制系统中信息层设备与物理层设备的设备信息以及工业控制系统中存在的不同类型的工业流量包进行了归纳整合,形成一个统一化的工业控制系统评价体系的数据来源。因此能够解决现有的工业控制系统的风险评估框架中信息层数据与物理层数据不统一导致的评价系统繁杂、工业控制系统风险指标处理效率低下的技术问题;

(2)由于本发明采用了步骤(a13)到步骤(a38),其为工业控制系统中信息层设备与物理层设备分别建立了一套简便有效的风险评价体系,其分别为步骤(a21)-(a30)的基于拟合函数的物理层设备风险系数评价体系和步骤(a31)-(a38)的基于贝叶斯公式的信息层设备风险评价体系,这两类评价体系将两类不同类型的设备的不同数据进行处理后获得归一化的设备风险系数。因此能够解决现有工业控制系统的风险评价体系风险系数值域不统一导致的评价指标复杂与由于确实物理层设备的风险评价而导致的评价体系的不完备的问题;

(3)由于本发明采用了步骤(2-3),其将工控系统的各层级网络节点的实时风险系数纳入收益计算,并使用n维闵式距离公式对风险系数对系统的影响进行量化。因此能够解决现有工控系统入侵响应方法无法准确贴合当前系统状态做出响应决策的技术问题;

(4)本发明采用了步骤(b1)-步骤(b7),其借助部分可观测的马尔科夫决策过程(Partially Observable Markov Decision Process,简称POMDP)与博弈理论模型结合的建模方法,辅以并行化思想提出了一种新的入侵响应决策模型,其将攻防双方决策的过程建模为两个独立的单智能体决策模型,尽量还原了入侵响应时攻防交互的过程。因此能够解决现有入侵响应决策模块由于没有考虑到攻防过程的交互性而导致其决策空间不够全面,决策精度不够高的技术问题

附图说明

图1是本发明用于工业控制系统的防御策略生成方法的流程图:

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。此外,下面所描述的本发明各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。

本发明的具体思路在于,(1)针对工控系统网络的信息层与物理层融合的特点,将两层级数据产生的混合数据集进行无偏化和归一化处理,然后将其作为攻防策略决策的输出参量;(2)基于工控安全攻防的交互性质建立动态策略决策模型,在充分考虑攻击者可选策略会产生的影响的前提下进行防御策略决策,并利用部分可观测马尔科夫决策过程(Partially Observable Markov Decision Process,简称POMDP)模型对该决策过程进行模拟,从而提供一个可行的入侵响应系统。

如图1所示,本发明提供了一种用于工业控制系统的防御策略生成方法,包括以下步骤:

(1)在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器;

本步骤中,风险系数表是按照以下子步骤建立的:

(a1)获取工业控制系统中所有的信息层设备个数n和物理层设备个数m;

(a2)建立n个信息层设备数据表、m个物理层设备数据表、以及一个大小为(n+m)个条目的风险系数表,并建立n个信息层设备数据表、m个物理层设备数据表中的每一个与风险系数表中每一个条目之间的映射关系;

举例而言,风险系数表中的第一个条目,其与第1个信息层设备数据表之间具有映射关系,…,风险系数表中的第n个条目,其与第n个信息层设备数据表之间具有映射关系,风险系数表中的第n+1个条目,其与第1个物理层设备数据表之间具有映射关系,…,风险系数表中的第n+m个条目,其与第m个物理层设备数据表之间具有映射关系;

具体而言,风险系数表中记录了所有n个信息层设备和m个物理层设备的风险系数。

物理层设备数据表中记录了其对应的物理层设备的IP地址、以及该物理层设备对应的数据和该数据对应的时间戳,该数据既包括该物理层设备所发送的系统状态数据和控制量数据,又包括该物理层所管理的传感器生成的传感器数据。

信息层设备数据表中记录了其对应的信息层设备的IP地址、以及该信息层设备管理的警报点的编号、以及该警报点对应的警报数据所对应的安全事件是否发生(其为1时表示发生了安全事件,为0时表示未发生)。

(a3)建立n个信息层设备数据表计数器{cntp

举例而言,第1个信息层设备数据表计数器,其与第1个信息层设备数据表之间具有一一对应关系,…,第n个信息层设备数据表计数器,其与第n个信息层设备数据表之间具有一一对应关系,第1个物理层设备数据表计数器,其与第1个物理层设备数据表之间具有一一对应关系,…,第m个物理层设备数据表计数器,其与第m个物理层设备数据表之间具有一一对应关系;

(a4)获取所有物理层设备的IP地址和信息层设备的IP地址,将其分别填入物理层设备数据表和信息层设备数据表中,并设置计数器cnt1=0,cnt2=0;

(a5)设置计数器cnt1=cnt1+1;

(a6)判断cnt1是否超过预设阈值,如果是则进入步骤(a13),此时m个物理设备数据表的建立进程已经完成,否则进入步骤(a7);

具体而言,本步骤的阈值的取值范围是1到1亿,优选为100万。

(a7)从SCADA系统中的服务器获取物理层设备的历史物理层数据集合,并根据其中第cnt1条历史物理层数据对应的物理层设备的IP地址查找对应的物理层设备数据表的序号i,其中i满足1≤i≤m;

具体而言,物理层数据包括物理层设备的IP地址、时间戳、传感器数据、系统状态数据、以及控制量数据。单条历史物理层数据中,仅有传感器数据、系统状态数据、控制量数据其中一个的属性具有实值(即其属性值不为0)。

(a8)查询序号为i的物理层设备数据表所对应的计数器cntp

具体而言,本步骤的阈值的取值范围是1到1亿,优选为100万。

(a9)获取第cnt1条历史物理层数据对应的时间戳,并判断序号为i的物理层设备数据表中是否存在该时间戳,如果存在则进入步骤(a10),否则进入步骤(a11)。

(a10)从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值,填入序号为i的物理层设备数据表中存在步骤(a9)获取时间戳的条目的对应属性中,并返回步骤(a5)。

(a11)设置计数器cntp

(a12)在序号为i的物理层设备数据表中创建的第cntp

以上步骤(a1)到(a12)的优点在于,将工业控制系统中信息层设备与物理层设备的设备信息以及工业控制系统中存在的不同类型的工业流量包进行了归纳整合,形成一个统一化的工业控制系统评价体系的数据来源,解决了现有的工业控制系统的风险评估框架中信息层数据与物理层数据不统一导致的评价系统繁杂、工业控制系统风险指标处理效率低下的问题。

(a13)设置计数器cnt2=cnt2+1;

(a14)判断计数器cnt2是否超过预设阈值,如果是则进入步骤(a22),此时所有n个信息层设备数据表的建立过程已经完成,否则进入步骤(a15);

具体而言,本步骤的阈值的取值范围是1到1亿,优选为100万。

(a15)从IDS及信息层设备分别获取IDS警报集与信息层设备警报集,将二者整合为一个信息层历史数据集合,并根据其中第cnt2条历史信息层数据对应的信息层设备的IP地址在信息层设备数据表中查找对应的序号j,其中j满足1≤j≤n。

具体而言,信息层数据包括信息层设备IP地址、时间戳、警报点的编号、警报对应的安全事件属性集。单条历史信息层数据有且仅有一条警报。

(a16)获取序号为j的信息层设备数据表所对应的计数器cntn

具体而言,本步骤的阈值的取值范围是1到1亿,优选为100万。

(a17)设置计数器cntn

(a18)获取信息层历史数据集合中第cnt2条历史信息层数据的时间戳timestamp

(a21)创建序号为j的信息层设备数据表的第cntn

(a22)获取经过步骤(a5)-步骤(a12)所形成的m个物理层设备数据表,创建一个大小为2m个条目的拟合函数储存表,建立m个物理层设备数据表中的每一个与拟合函数储存表中的2个条目之间的映射关系,并设置计数器cnt1=1。

举例而言,拟合函数储存表中的第1个条目和第(m+1)个条目,其与序号为1的物理层设备数据表之间具有映射关系,拟合函数储存表中的第2个条目和第(m+2)个条目,其与序号为2的物理层设备数据表之间具有映射关系,…以此类推,拟合函数储存表中的第m个条目和第2m个条目,其与序号为m的物理层设备数据表之间具有映射关系。

(a23)判断cnt1是否超过m,如果是则进入步骤(a31),此时具有m个条目的拟合函数储存表以及风险系数表中第(n+1)到第(n+m)个条目的建立进程已经完成,否则进入步骤(a24);

具体而言,本步骤的阈值的取值范围是1到1亿,优选为100万。

(a24)获取序号为cnt1的物理层设备数据表,为序号为cnt1的物理层设备创建系统平均恢复/修复时间(Mean-Time-To-Recovery/Repair,简称MTTR)表(其大小为cntp

举例而言,MMTR表中的第一个条目,其与序号为cnt1的物理层设备数据表中第1行数据之间具有映射关系,…,MMTR表中的第cntp

(a25)判断cnt2是否大于cntp

(a26)获取序号为cnt1的物理层设备数据表的第cnt2行数据中的时间戳

(a27)设置计数器cnt2=cnt2+1,并返回步骤(a25)。

(a28)使用最小二乘法将序号为cnt1的物理层设备数据表和通过步骤(25)-步骤(27)获得的MTTR表中的cntp

具体而言,该拟合函数的自变量集合是序号为cnt1的物理层设备数据表中除时间戳以外的数据组成的数据集,因变量集合为通过步骤(25)-步骤(27)获得的MTTR表的cntp

(a29)获取通过步骤(25)-步骤(27)获得的MTTR表的cntp

(a30)设置计数器cnt1=cnt1+1,并返回步骤(a23);

(a31)获取经过步骤(a13)-步骤(a21)所形成的n个信息层设备数据表,并将设置计数器cnt1=1。

(a32)判断cnt1是否超过n,如果是则过程结束,此时风险系数表中第1到第n个条目的建立进程已经完成,否则进入步骤(a33);

(a33)获取序号为cnt1的信息层设备数据表,创建一个大小为2倍于该信息层设备数据集所管理的警报点总数l

(a34)判断cnt2是否大于l

(a35)获取序号为cnt1的信息层设备数据表管理的警报点中的第cnt2个警报点,并获得其编号alarms

(a36)设置计数器cnt2=cnt2+1,返回步骤(34)。

(a37)使用通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表,计算序号为cnt1的信息层设备的风险系数δ,计算过程为:

式中的l指代序号为cnt1的信息层设备,在该信息层设备被攻击时,此值置1,否则为0;式中P(l)和

(a38)将通过步骤(a37)获得的

以上步骤(a13)到(a38)的优点在于,为工业控制系统中信息层设备与物理层设备分别建立了一套简便有效的风险评价体系,其分别为步骤(a21)-(a30)的基于拟合函数的物理层设备风险系数评价体系和步骤(a31)-(a38)的基于贝叶斯公式的信息层设备风险评价体系,这两类评价体系将两类不同类型的设备的不同数据进行处理后获得归一化的设备风险系数,该方法解决了现有工业控制系统的风险评价体系风险系数值域不统一导致的评价指标复杂与由于确实物理层设备的风险评价而导致的评价体系的不完备的问题。

具体而言,本步骤(1)包括以下子步骤:

(1-1)在收到攻击信号signal

具体而言,解包过程可以通过使用第三方软件(如wireshark、nmap、pacp等)实现。

(1-2)判断数据包data

(1-3)获取预先建立好的m个物理层设备数据表,并获取数据包data

(1-4)在m个物理层设备数据表中判断是否存在与data

(1-5)从m个物理层设备数据表中获取与data

(1-6)获取预先建立好的m个物理层设备计数器中的第i个计数器cntp

(1-7)设置计数器cntp

(1-8)将数据data

(1-9)将数据包data

(1-10)获取序号为i的物理层设备数据表中时间戳属性值等于timestamp

(1-11)获取预先建立的n个信息层设备数据表,获取数据包data

(1-12)在通过步骤(1-11)获取的n个信息层设备数据表中判断是否存在与目标设备的IP地址具有相同IP地址的信息层设备表,若存在则进入(1-13),否则过程结束,此时说明数据包data

(1-13)获取预先建立好的的m个物理层设备计数器中的第j个计数器cntn

(1-14)设置计数器cntn

(1-15)在序号为j的信息层设备数据表的第cntn

上述步骤(1-1)到(1-15)的优点在于,利用预先建立好的风险系数表、信息层设备数据表、物理层设备数据表建立了一个高效简洁的风险系数更新机制,采用对信息层设备数据表和物理层设备数据表实时更新并重新计算受攻击影响的设备的风险系数的方式避免了现有工业控制系统风险评估机制由于更新迟缓或是无更新带来的评价体系僵化的问题。

(2)将步骤(1)更新后的风险系数表(具体是上述步骤(1-10)或步骤(1-16)处理后得到的风险系数表)输入建立好的决策模型,以得到最优防御策略。

具体而言,步骤(2)包括以下子步骤:

(2-1)获取步骤(1-10)或步骤(1-16)处理后得到的风险系数表、n个信息层设备数据表计数器cntp

具体而言,物理层设备数据表和物理层数据表计数器由步骤(1-3)-步骤(1-9)的数据表更新操作后获得,信息层设备数据表和信息层数据表计数器由步骤(1-11)-步骤(1-15)的数据表更新操作后获得。

(2-2)获取当前状态下的防御策略表与攻击策略收益表。

具体而言,防御策略表与攻击策略收益表为管理员预先设定的数据集,其中防御策略表包含的属性为:防御策略编号、防御策略目标设备、防御策略用时、以及防御策略效果数据。其中防御策略效果数据依照防御策略目标设备的种类不同具有不同分量,若防御策略目标设备为物理层设备,则防御策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若防御策略目标设备为信息层设备,则防御策略效果数据为本防御策略的目标设备的数据表中将被消除警报的警报点的集合。

举例而言,若防御策略目标设备为信息层设备,防御策略效果数据该集合中存在警报点的编号alarms

而攻击策略收益表包含的属性为:攻击策略编号、攻击策略目标设备、攻击策略用时、以及攻击策略效果数据。其中攻击策略效果数据依照攻击策略目标设备的种类不同具有不同分量,若攻击策略目标设备为物理层设备,则攻击策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若攻击策略目标设备为信息层设备,则攻击策略效果数据为本防御策略目标设备编号中警报被置位的警报点的集合。

举例而言,若攻击策略目标设备为信息层设备,攻击策略效果数据该集合中存在警报点的编号alarms

(2-3)将步骤(2-2)得到的防御策略表与攻击策略收益表输入建立好的策略决策框架中,以输出最优策略。

具体而言,策略决策框架的建立过程为:建立两个单智能体的部分可观测的马尔科夫决策过程(Partially Observable Markov DecisionProcess,简称POMDP)基本迭代模型分别作为防守方决策模型和攻击方决策模型,将防御策略表和攻击策略收益表属性分别输入这两个POMDP基本迭代模型的参数列表中,以得到决策收益。

具体而言,本过程是使用以下公式作为计算决策收益:

式中C

上述步骤(2-3)的优点在于,其将工业控制系统的各设备的实时风险系数纳入收益计算,并使用n维闵式距离公式对风险系数对系统的影响进行量化,因此能够解决现有工控系统入侵响应方法无法准确贴合当前系统状态做出响应决策的技术问题;

具体而言,得出最优策略过程由以下子步骤组成:

(b1)将当前风险系数表与防御策略集导入防守方决策模型中,经过POMDP的迭代过程得出使收益值最大化的n种防御策略,形成防御策略备选集{d

具体而言,本步骤中通过POMDP迭代进而生成入侵响应防御策略备选集与系统风险表的过程,在论文RRE:A Game-Theoretic Intrusion Response and Recovery Engine中已经披露,在此不再赘述。

具体而言,常数n和m的取值范围为1至1000,优选地为10。

具体而言,防御策略备选集中的每一条目均为一条防御策略的策略编号,系统风险系数备选表中的每一条目均为一张风险系数表。

举例而言,防御策略备选集与系统风险系数备选表的一一对应关系指的是:防御策略备选集的第1项条目d

(b2)建立两个具有n×m项条目的表作为防御策略收益表和攻击策略收益表,并设置计数器cntd=1。

(b3)判断cntd是否大于等于n,是则进入步骤(b7),此时表明博弈论所需要的防御策略收益表和攻击策略收益表均已建立完成,否则进入步骤(b4);

(b4)取出策略d

具体而言,本步骤中生成假想攻击策略备选集与攻击策略收益集的过程,在论文RRE:A Game-Theoretic Intrusion Response and Recovery Engine中已经披露,在此不再赘述。

(b5)将通过步骤(b4)获得的收益集{reward

(b6)设置计数器cntd=cntd+1,返回步骤(b3)。

优选地,在步骤(b4)-步骤(b5)中,本发明使用并行化思想对该过程进行加速,即将多条不同的防御策略同时取出,分别演算因其产生的网络节点属性变化,将攻击决策模型并行化,然后将这些节点属性分别投入攻击决策模型中,最终在一轮循环中获得多个假想攻击策略备选集;

(b7)使用minimax算法对经过步骤(b3)-步骤(b6)最终形成的防御策略收益表和攻击策略收益表进行处理,以得到矩阵鞍点(i,j),横坐标即为防御系统将采用的策略编号,通过横坐标i获得i所对应的防御策略集条目d

具体而言,因POMDP的性质和随机博弈的性质影响,该鞍点必满足纳什均衡,即该鞍点所代表的防御、攻击策略二元组可以保证防御策略收益的最大化。

上述步骤(b1)-步骤(b7)的优点在于,其借助部分可观测的马尔科夫决策过程(Partially Observable Markov Decision Process,简称POMDP)与博弈理论模型结合的建模方法,辅以并行化思想提出了一种新的入侵响应决策模型,其将攻防双方决策的过程建模为两个独立的单智能体决策模型,尽量还原了入侵响应时攻防交互的过程,因此能够解决现有入侵响应决策模块由于没有考虑到攻防过程的交互性而导致其决策空间不够全面,决策精度不够高的技术问题。

本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

相关技术
  • 一种用于工业控制系统的防御策略生成方法和系统
  • 一种故障防御在线策略表生成方法、在线安全稳定紧急控制方法和系统
技术分类

06120113079096