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

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

Info

Publication number
CN113132405A
CN113132405A CN202110470817.5A CN202110470817A CN113132405A CN 113132405 A CN113132405 A CN 113132405A CN 202110470817 A CN202110470817 A CN 202110470817A CN 113132405 A CN113132405 A CN 113132405A
Authority
CN
China
Prior art keywords
data
physical layer
layer device
information layer
cnt1
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
CN202110470817.5A
Other languages
English (en)
Other versions
CN113132405B (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.)
Hunan University
Original Assignee
Hunan 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 Hunan University filed Critical Hunan University
Priority to CN202110470817.5A priority Critical patent/CN113132405B/zh
Publication of CN113132405A publication Critical patent/CN113132405A/zh
Application granted granted Critical
Publication of CN113132405B publication Critical patent/CN113132405B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1441Countermeasures against malicious traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0635Risk analysis of enterprise or organisation activities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/20Network architectures or network communication protocols for network security for managing network security; network security policies in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • H04L67/125Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks involving control of end-device applications over a network

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Human Resources & Organizations (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Operations Research (AREA)
  • Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Marketing (AREA)
  • Development Economics (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Medical Informatics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开了一种用于工业控制系统的防御策略生成方法,包括:在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器,将更新后的风险系数表输入建立好的决策模型,以得到最优防御策略。本发明能够解决现有工控领域入侵响应系统中现今的工控入侵响应系统多为半自动入侵响应系统和静态入侵响应系统存在的响应机制不够智能化的技术问题。

Description

一种用于工业控制系统的防御策略生成方法和系统
技术领域
本发明属于工业控制系统信息安全领域,更具体地,涉及一种用于工业控制系统的防御策略生成方法和系统。
背景技术
信息物理系统是信息通信技术和各类嵌入式微处理器的集合的概念,其概括了现场设备及工业过程的特征:信息层与物理层紧密耦、高实时性要求以及系统本身的高复杂性,所以在工业控制领域中,信息物理设备常用来指代工业现场各类工业过程实施设备。
工业控制系统是一种多层次化的系统,其包含业务层、监控层、控制层、物理层组合而成,相邻层及之间通过专用通信通路相连,并在通路上设立网关、网闸、防火墙等数据包过滤隔离设备。这四个层级的分工各不相同,层级中的设备也不尽相同,其中除了业务层负责整个流程抽象层面上的管理、决策、调度,与传统IT系统无异外,其余三个层级均为信息物理设备和信息层设备配合工作。随着工业信息化进程的推进,工控系统逐渐与外界互联,工控系统信息安全方面的脆弱性逐渐暴露,其被入侵的风险也与日俱增,入侵响应作为入侵攻击对抗体系的最后一道防线,在整个入侵防御体系中占据着重要位置,其容忍攻击、做出响应、修复系统的运行步骤也为工控系统提供了较大的攻击容忍性。
现今的工控入侵响应系统多为半自动入侵响应系统和静态入侵响应系统,该类系统仍存在着以下几类技术问题:首先,此类入侵响应系统的响应机制不够智能化,只能通过预先设定自动响应或是半自动响应式规则对入侵攻击痕迹进行判别;其次,这些入侵响应系统没有很好地针对工控系统的物理层与信息层相融合的特点进行入侵响应机制设置,这导致了响应机制的工作效率低,适用性差;最后,此类入侵响应系统在策略决策模块的考量多数为基于决策前的环境下的单智能体决策,而忽略了入侵响应作为攻守双方交互过程的特点,因此会导致策略决策的考量因素仅为防御方面对的环境因素,进而导致策略决策不够全面的技术问题。
发明内容
针对现有技术的以上缺陷或改进需求,本发明提供了一种用于工业控制系统的防御策略生成方法和系统,其目的在于,解决现有工控领域入侵响应系统中现今的工控入侵响应系统多为半自动入侵响应系统和静态入侵响应系统存在的响应机制不够智能化的技术问题,以及响应机制的工作效率低,适用性差的技术问题,以及由于忽略了入侵响应作为攻守双方交互过程的特点,进而导致策略决策不够全面的技术问题。
为实现上述目的,按照本发明的一个方面,提供了一种用于工业控制系统的防御策略生成方法,包括以下步骤:
(1)在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器;
(2)将步骤(1)更新后的风险系数表输入建立好的决策模型,以得到最优防御策略。
优选地,风险系数表是按照以下子步骤建立的:
(a1)获取工业控制系统中所有的信息层设备个数n和物理层设备个数m;
(a2)建立n个信息层设备数据表、m个物理层设备数据表、以及一个大小为(n+m)个条目的风险系数表,并建立n个信息层设备数据表、m个物理层设备数据表中的每一个与风险系数表中每一个条目之间的映射关系;
(a3)建立n个信息层设备数据表计数器{cntp1,cntp2,…,cntpn}和m个物理层设备数据表计数器{cntn1,cntn2,…,cntnm},所有(n+m)个计数器的初始值均为0,建立n个信息层设备数据表计数器与n个信息层设备数据表、以及m个物理层设备数据表计数器与m个物理层设备数据表的一一对应关系。
(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的物理层设备数据表所对应的计数器cntpi的值,并判断cntpi是否超过预设阈值,如果是则进入步骤(a5),否则进入步骤(a9)。
(a9)获取第cnt1条历史物理层数据对应的时间戳,并判断序号为i的物理层设备数据表中是否存在该时间戳,如果存在则进入步骤(a10),否则进入步骤(a11)。
(a10)从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值,填入序号为i的物理层设备数据表中存在步骤(a9)获取时间戳的条目的对应属性中,并返回步骤(a5)。
(a11)设置计数器cntpi=cntpi+1;
(a12)在序号为i的物理层设备数据表中创建的第cntpi行,将第cnt1条历史物理层数据的时间戳填入序号为i的物理层设备数据表中第cntpi行的时间戳中,从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值填入序号为i的物理层设备数据表中第cntpi行的对应属性中,并返回步骤(a5);
(a13)设置计数器cnt2=cnt2+1;
(a14)判断计数器cnt2是否超过预设阈值,如果是则进入步骤(a22),此时所有n个信息层设备数据表的建立过程已经完成,否则进入步骤(a15);
(a15)从IDS及信息层设备分别获取IDS警报集与信息层设备警报集,将二者整合为一个信息层历史数据集合,并根据其中第cnt2条历史信息层数据对应的信息层设备的IP地址在信息层设备数据表中查找对应的序号j,其中j满足1≤j≤n。
(a16)获取序号为j的信息层设备数据表所对应的计数器cntnj的值,并判断cntnj是否小于预设阈值,如果是则进入步骤(a17),否则返回步骤(a13)。
(a17)设置计数器cntnj=cntnj+1。
(a18)获取信息层历史数据集合中第cnt2条历史信息层数据的时间戳timestampcnt2、以及安全事件属性集seccnt2,并判断SCADA系统的系统日志在timestampcnt2时间点时的安全事件日志记录是否与安全事件信息属性seccnt2一致,如果是则说明第cnt2条历史信息层数据对应的安全事件发生,设置标签event=1,并进入步骤(a21),否则说明第cnt2条历史信息层数据对应的安全事件未发生,设置event=0,并进入步骤(a21)。
(a21)创建序号为j的信息层设备数据表的第cntnj行,将第cnt2条历史信息层数据对应的警报点的编号填入序号为j的信息层设备数据表第cntnj行的信息层设备管理的警报点的编号属性中,将event的值填入序号为j的信息层设备数据表第cntnj行的警报点对应的警报数据所对应的安全事件是否发生的属性中,返回步骤(a13)。
(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)表(其大小为cntpcnt1个条目的,建立序号为cnt1的物理层设备数据表中所有cntpcnt1行数据与该MMTR表中所有条目之间的一一对应关系,并设置计数器cnt2=1。
(a25)判断cnt2是否大于cntpcnt1,如果是则进入步骤(a28),此时序号为cnt1的物理层设备的MTTR表已经建立完成,否则进入(a26)。
(a26)获取序号为cnt1的物理层设备数据表的第cnt2行数据中的时间戳
Figure BDA0003045298590000052
根据
Figure BDA0003045298590000051
和序号为cnt1的物理层设备数据表中对应物理层设备的IP地址从SCADA系统的服务器中获取对应的MMTR值,并将该值填入序号为cnt1的物理层设备的MTTR表中的第cnt2个条目中。
(a27)设置计数器cnt2=cnt2+1,并返回步骤(a25)。
(a28)使用最小二乘法将序号为cnt1的物理层设备数据表和通过步骤(25)-步骤(27)获得的MTTR表中的cntpcnt1个条目进行函数拟合,以形成序号为cnt1的物理层设备的拟合函数,并将该拟合函数填入拟合函数储存表中的第cnt1个条目中。
(a29)获取通过步骤(25)-步骤(27)获得的MTTR表的cntpcnt1个条目中的最大值Mmax,将Mmax存入拟合函数储存表的第(m+cnt1)项中,获取MTTR表的第cntpcnt1个条目
Figure BDA0003045298590000061
利用公式
Figure BDA0003045298590000062
获得序号为cnt1的物理层设备的风险系数riskcnt1,并将该风险系数riskcnt1填入风险系数表的第(n+cnt1)个条目中。
(a30)设置计数器cnt1=cnt1+1,并返回步骤(a23);
(a31)获取经过步骤(a13)-步骤(a21)所形成的n个信息层设备数据表,并将设置计数器cnt1=1。
(a32)判断cnt1是否超过n,如果是则过程结束,此时风险系数表中第1到第n个条目的建立进程已经完成,否则进入步骤(a33);
(a33)获取序号为cnt1的信息层设备数据表,创建一个大小为2倍于该信息层设备数据集所管理的警报点总数lalarm的的警报点数据表,并设置计数器cnt2=1。
(a34)判断cnt2是否大于lalarm,如果是则进入步骤(a37),此时,表示序号为cnt1的信息层设备数据集的警报点数据表建立完成,否则进入(a35)。
(a35)获取序号为cnt1的信息层设备数据表管理的警报点中的第cnt2个警报点,并获得其编号alarmscnt2,统计序号为cnt1的信息层设备数据集中满足信息层设备管理的警报点的编号为alarmscnt2时,该警报点对应的警报数据所对应的安全事件是否发生的属性值为1的频率pcnt2(即信息层设备管理的警报点的编号为alarmscnt2,且该警报点对应的警报数据所对应的安全事件是否发生的属性值为1的条目数量num1在信息层设备管理的警报点的编号为alarmscnt2的条目数量num中所占的比率),将频率pcnt2填入警报点数据表中的第cnt2个条目中,并将num1的值填入警报点数据表的第(cnt2+lalarm)个条目中。
(a36)设置计数器cnt2=cnt2+1,返回步骤(34)。
(a37)使用通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表,计算序号为cnt1的信息层设备的风险系数δ,
(a38)将通过步骤(a37)获得的
Figure BDA0003045298590000072
填入风险系数表的第cnt1项,设置计数器cnt1=cnt1+1,并返回步骤(a32)。
优选地,风险系数表中记录了所有n个信息层设备和m个物理层设备的风险系数。
物理层设备数据表中记录了其对应的物理层设备的IP地址、以及该物理层设备对应的数据和该数据对应的时间戳,该数据包括该物理层设备所发送的系统状态数据和控制量数据、以及该物理层所管理的传感器生成的传感器数据;
信息层设备数据表中记录了其对应的信息层设备的IP地址、以及该信息层设备管理的警报点的编号、以及该警报点对应的警报数据所对应的安全事件是否发生,其为1时表示发生了安全事件,为0时表示未发生;
物理层数据包括物理层设备的IP地址、时间戳、传感器数据、系统状态数据、以及控制量数据;
单条历史物理层数据中,仅传感器数据、系统状态数据、控制量数据其中一个的属性具有实值,即其属性值不为0。
优选地,信息层数据包括信息层设备IP地址、时间戳、警报点的编号、警报对应的安全事件属性集;
单条历史信息层数据有且仅有一条警报。
优选地,风险系数的计算过程为:
Figure BDA0003045298590000071
其中l指代序号为cnt1的信息层设备,在该信息层设备被攻击时,此值置1,否则为0;式中P(l)和
Figure BDA0003045298590000081
表示l被置位为1和0的先验概率,且有
Figure BDA0003045298590000082
Figure BDA0003045298590000083
其中的tablej指代的是通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表的第j项;式中
Figure BDA0003045298590000084
指代序号为cnt1的信息层设备数据集对应的警报点数据表中的第i个条目;
Figure BDA0003045298590000085
表示序号为cnt1的信息层设备的信息层设备数据表中,所有由序号为cnt1的信息层设备管理的警报点的编号、以及该警报点对应的警报数据所对应的安全事件是否发生组成的消息对构成的消息对集合
Figure BDA0003045298590000086
中,序号为cnt1的信息层设备管理的警报点的编号等于该信息层设备管理的警报点的编号属性中第i个编号的消息対。
优选地,步骤(1)包括以下子步骤:
(1-1)在收到攻击信号signala及该攻击信号对应的携带有攻击数据的数据包dataa后,通过解包的方式获取数据包dataa中目标设备的设备类型属性。
(1-2)判断数据包dataa中目标设备的设备类型属性是否是物理层设备,若是则进入步骤(1-3),否则进入步骤(1-11);
(1-3)获取预先建立好的m个物理层设备数据表,并获取数据包dataa中目标设备的IP地址;
(1-4)在m个物理层设备数据表中判断是否存在与dataa中目标设备的额IP地址具有相同IP地址的物理层设备数据表,若存在则进入(1-5),否则过程结束,此时说明数据包dataa中的数据有误,重新进入等待攻击信号及其数据包的过程。
(1-5)从m个物理层设备数据表中获取与dataa中目标设备的IP地址具有相同IP地址的物理层设备数据表的序号i,其中i满足n+1≤i≤n+m。
(1-6)获取预先建立好的m个物理层设备计数器中的第i个计数器cntpi,取序号为i的物理层设备数据表中第cntpi行物理层数据对应的时间戳timestampi,并判断timestampi和数据dataa中的时间戳是否相同,若是则进入步骤(1-9),否则进入步骤(1-7)。
(1-7)设置计数器cntpi=cntpi+1,并判断cntpi是否超过阈值(该阈值大小已经在上述步骤(a8)中描述过),若是则过程结束,此时表明序号为i的物理层设备数据表已满,需要通知管理员进行清库工作,否则进入步骤(1-8)。
(1-8)将数据dataa的时间戳填入序号为i的物理层设备数据表中第cntpi行的时间戳中,从数据包dataa的传感器数据、系统状态数据、以及控制量数据三类属性值中选取非0的属性值,并将其填入序号为i的物理层设备数据表中第cntpi行的对应属性中,将序号为i的物理层设备数据表中第cntpi行的其他属性值设置为0,并进入步骤(1-10)。
(1-9)将数据包dataa的传感器数据、系统状态数据、以及控制量数据三类属性值中选取非0的属性值,并将其填入序号为i的物理层设备数据表中时间戳属性值等于timestampi的该行对应属性中,然后进入步骤(1-10);
(1-10)获取序号为i的物理层设备数据表中时间戳属性值等于timestampi的行的数据
Figure BDA0003045298590000091
获取预先建立好的、具有m个条目的物理层拟合函数储存表中的第i项,将
Figure BDA0003045298590000092
的传感器数据、系统状态数据、以及控制量数据三类属性值作为自变量输入具有该物理层拟合函数储存表中的第i个条目中,以获取输出结果
Figure BDA0003045298590000093
并将输出结果
Figure BDA0003045298590000094
填入预先建立好的风险系数表的第i项条目中,然后过程结束。
(1-11)获取预先建立的n个信息层设备数据表,获取数据包dataa中目标设备的IP地址。
(1-12)在通过步骤(1-11)获取的n个信息层设备数据表中判断是否存在与目标设备的IP地址具有相同IP地址的信息层设备表,若存在则进入(1-13),否则过程结束,此时说明数据包dataa中的数据有误,重新进入等待攻击信号及其数据包的过程。
(1-13)获取预先建立好的的m个物理层设备计数器中的第j个计数器cntnj,从n个信息层设备数据表中获取具有与dataa中目标设备的IP地址具有相同IP地址的信息层设备表的序号j及数据包dataa对应的警报点的编号的属性值
Figure BDA0003045298590000101
其中序号j满足1≤j≤n。
(1-14)设置计数器cntnj=cntnj+1,并判断cntnj是否超过阈值(该阈值大小已经在上述步骤(a14)中描述过),若是则过程结束,此时表示序号为j的信息层设备数据表已满,需要通知管理员进行清库工作,否则进入步骤(1-15)。
(1-15)在序号为j的信息层设备数据表的第cntnj行中填入属性对(
Figure BDA0003045298590000102
1)。(1-16)计算序号为j的信息层设备的风险系数riskj(具体是使用步骤(a37)所描述的信息层节点风险系数计算公式),将风险系数riskj填入风险系数表的第j个条目中,过程结束。
优选地,步骤(2)包括以下子步骤:
(2-1)获取步骤(1-10)或步骤(1-16)处理后得到的风险系数表、n个信息层设备数据表计数器cntp1,cntp2,…,cntpn、m个物理层设备数据表计数器cntn1,cntn2,…,cntnm、m个物理层设备数据表、以及n个信息层设备数据表。
(2-2)获取当前状态下的防御策略表与攻击策略收益表。
(2-3)将步骤(2-2)得到的防御策略表与攻击策略收益表输入建立好的策略决策框架中,以输出最优策略。
具体而言,本过程是使用以下公式作为计算决策收益:
Figure BDA0003045298590000111
式中C1和C2为可调节的常数,具体而言,C1和C2的取值范围为[0,1],优选地将C1和C2设置为0.95,s和s′为指代攻击者或防御者采用防御策略或攻击策略前后工业控制系统的状态的变量,其由所有信息层设备和物理层设备的风险系数组成,
Figure BDA0003045298590000112
表示s状态下设备序号为gi的设备的实时风险系数,Price表示工业控制系统单位时间的经济价值,T表示采取攻击措施或防御措施所消耗的时间。
优选地,防御策略表与攻击策略收益表为管理员预先设定的数据集,其中防御策略表包含的属性为:防御策略编号、防御策略目标设备、防御策略用时、以及防御策略效果数据;
防御策略效果数据依照防御策略目标设备的种类不同具有不同分量,若防御策略目标设备为物理层设备,则防御策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若防御策略目标设备为信息层设备,则防御策略效果数据为本防御策略的目标设备的数据表中将被消除警报的警报点的集合。
而攻击策略收益表包含的属性为:攻击策略编号、攻击策略目标设备、攻击策略用时、以及攻击策略效果数据;
攻击策略效果数据依照攻击策略目标设备的种类不同具有不同分量,若攻击策略目标设备为物理层设备,则攻击策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若攻击策略目标设备为信息层设备,则攻击策略效果数据为本防御策略目标设备编号中警报被置位的警报点的集合。
优选地,步骤(2-3)获取最优策略的过程包括以下子步骤:
(b1)将当前风险系数表与防御策略集导入防守方决策模型中,经过POMDP的迭代过程得出使收益值最大化的n种防御策略,形成防御策略备选集{d1,d2,d3,…,dn}与防御策略收益集{reward1,reward2,…,rewardn},并导出与防御策略备选集一一对应的系统风险系数备选表{table1,table2,…,tablen};
(b2)建立两个具有n×m项条目的表作为防御策略收益表和攻击策略收益表,并设置计数器cntd=1。
(b3)判断cntd是否大于等于n,是则进入步骤(b7),此时表明博弈论所需要的防御策略收益表和攻击策略收益表均已建立完成,否则进入步骤(b4);
(b4)取出策略dcntd,将dcntd和与dcntd具有对应关系的风险系数表tablecntd导入攻击方决策模型中,经过迭代求得收益最大的m种攻击策略,形成假想攻击策略备选集
Figure BDA0003045298590000121
与攻击策略收益集{reward1,reward2,…,rewardm}。
(b5)将通过步骤(b4)获得的收益集{reward1,reward2,…,rewardm}分别输入至通过步骤(b2)建立的攻击策略收益表中第cntd行的m项条目中,将通过步骤(b1)获得的防御策略收益集的第cntd项rewardcntd复制m份,并分别输入通过步骤(b2)建立的防御策略收益表的第cntd行的m项条目中。
(b6)设置计数器cntd=cntd+1,返回步骤(b3)。
(b7)使用minimax算法对经过步骤(b3)-步骤(b6)最终形成的防御策略收益表和攻击策略收益表进行处理,以得到矩阵鞍点(i,j),横坐标即为防御系统将采用的策略编号,通过横坐标i获得i所对应的防御策略集条目di,此条目即为最优防御策略。
按照本发明的另一方面,提供了一种用于工业控制系统的防御策略生成系统,包括:
第一模块,用于在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器;
第二模块,用于将第一模块更新后的风险系数表输入建立好的决策模型,以得到最优防御策略。
总体而言,通过本发明所构思的以上技术方案与现有技术相比,能够取得下列有益效果:
(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个信息层设备数据表计数器{cntp1,cntp2,…,cntpn}和m个物理层设备数据表计数器{cntn1,cntn2,…,cntnm},所有(n+m)个计数器的初始值均为0,建立n个信息层设备数据表计数器与n个信息层设备数据表、以及m个物理层设备数据表计数器与m个物理层设备数据表的一一对应关系。
举例而言,第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的物理层设备数据表所对应的计数器cntpi的值,并判断cntpi是否超过预设阈值,如果是则进入步骤(a5),否则进入步骤(a9)。
具体而言,本步骤的阈值的取值范围是1到1亿,优选为100万。
(a9)获取第cnt1条历史物理层数据对应的时间戳,并判断序号为i的物理层设备数据表中是否存在该时间戳,如果存在则进入步骤(a10),否则进入步骤(a11)。
(a10)从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值,填入序号为i的物理层设备数据表中存在步骤(a9)获取时间戳的条目的对应属性中,并返回步骤(a5)。
(a11)设置计数器cntpi=cntpi+1;
(a12)在序号为i的物理层设备数据表中创建的第cntpi行,将第cnt1条历史物理层数据的时间戳填入序号为i的物理层设备数据表中第cntpi行的时间戳中,从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值填入序号为i的物理层设备数据表中第cntpi行的对应属性中,并返回步骤(a5);
以上步骤(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的信息层设备数据表所对应的计数器cntnj的值,并判断cntnj是否小于预设阈值,如果是则进入步骤(a17),否则返回步骤(a13)。
具体而言,本步骤的阈值的取值范围是1到1亿,优选为100万。
(a17)设置计数器cntnj=cntnj+1。
(a18)获取信息层历史数据集合中第cnt2条历史信息层数据的时间戳timestampcnt2、以及安全事件属性集seccnt2,并判断SCADA系统的系统日志在timestampcnt2时间点时的安全事件日志记录是否与安全事件信息属性seccnt2一致,如果是则说明第cnt2条历史信息层数据对应的安全事件发生,设置标签event=1,并进入步骤(a21),否则说明第cnt2条历史信息层数据对应的安全事件未发生,设置event=0,并进入步骤(a21)。
(a21)创建序号为j的信息层设备数据表的第cntnj行,将第cnt2条历史信息层数据对应的警报点的编号填入序号为j的信息层设备数据表第cntnj行的信息层设备管理的警报点的编号属性中,将event的值填入序号为j的信息层设备数据表第cntnj行的警报点对应的警报数据所对应的安全事件是否发生的属性中,返回步骤(a13)。
(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)表(其大小为cntpcnt1个条目的,建立序号为cnt1的物理层设备数据表中所有cntpcnt1行数据与该MMTR表中所有条目之间的一一对应关系,并设置计数器cnt2=1。
举例而言,MMTR表中的第一个条目,其与序号为cnt1的物理层设备数据表中第1行数据之间具有映射关系,…,MMTR表中的第cntpcnt1个条目,其与序号为cnt1的物理层设备数据表中第cntpcnt1行数据之间具有映射关系。
(a25)判断cnt2是否大于cntpcnt1,如果是则进入步骤(a28),此时序号为cnt1的物理层设备的MTTR表已经建立完成,否则进入(a26)。
(a26)获取序号为cnt1的物理层设备数据表的第cnt2行数据中的时间戳
Figure BDA0003045298590000191
根据
Figure BDA0003045298590000192
和序号为cnt1的物理层设备数据表中对应物理层设备的IP地址从SCADA系统的服务器中获取对应的MMTR值,并将该值填入序号为cnt1的物理层设备的MTTR表中的第cnt2个条目中。
(a27)设置计数器cnt2=cnt2+1,并返回步骤(a25)。
(a28)使用最小二乘法将序号为cnt1的物理层设备数据表和通过步骤(25)-步骤(27)获得的MTTR表中的cntpcnt1个条目进行函数拟合,以形成序号为cnt1的物理层设备的拟合函数,并将该拟合函数填入拟合函数储存表中的第cnt1个条目中。
具体而言,该拟合函数的自变量集合是序号为cnt1的物理层设备数据表中除时间戳以外的数据组成的数据集,因变量集合为通过步骤(25)-步骤(27)获得的MTTR表的cntpcnt1个条目,采用的拟合方式为最小二乘法的基本方法。
(a29)获取通过步骤(25)-步骤(27)获得的MTTR表的cntpcnt1个条目中的最大值Mmax,将Mmax存入拟合函数储存表的第(m+cnt1)项中,获取MTTR表的第cntpcnt1个条目
Figure BDA0003045298590000201
利用公式
Figure BDA0003045298590000202
获得序号为cnt1的物理层设备的风险系数riskcnt1,并将该风险系数riskcnt1填入风险系数表的第(n+cnt1)个条目中。
(a30)设置计数器cnt1=cnt1+1,并返回步骤(a23);
(a31)获取经过步骤(a13)-步骤(a21)所形成的n个信息层设备数据表,并将设置计数器cnt1=1。
(a32)判断cnt1是否超过n,如果是则过程结束,此时风险系数表中第1到第n个条目的建立进程已经完成,否则进入步骤(a33);
(a33)获取序号为cnt1的信息层设备数据表,创建一个大小为2倍于该信息层设备数据集所管理的警报点总数lalarm的的警报点数据表(即长度为2lalarm),并设置计数器cnt2=1。
(a34)判断cnt2是否大于lalarm,如果是则进入步骤(a37),此时,表示序号为cnt1的信息层设备数据集的警报点数据表建立完成,否则进入(a35)。
(a35)获取序号为cnt1的信息层设备数据表管理的警报点中的第cnt2个警报点,并获得其编号alarmscnt2,统计序号为cnt1的信息层设备数据集中满足信息层设备管理的警报点的编号为alarmscnt2时,该警报点对应的警报数据所对应的安全事件是否发生的属性值为1的频率pcnt2(即信息层设备管理的警报点的编号为alarmscnt2,且该警报点对应的警报数据所对应的安全事件是否发生的属性值为1的条目数量num1在信息层设备管理的警报点的编号为alarmscnt2的条目数量num中所占的比率),将频率pcnt2填入警报点数据表中的第cnt2个条目中,并将num1的值填入警报点数据表的第(cnt2+lalarm)个条目中。
(a36)设置计数器cnt2=cnt2+1,返回步骤(34)。
(a37)使用通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表,计算序号为cnt1的信息层设备的风险系数δ,计算过程为:
Figure BDA0003045298590000211
式中的l指代序号为cnt1的信息层设备,在该信息层设备被攻击时,此值置1,否则为0;式中P(l)和
Figure BDA0003045298590000212
表示l被置位为1和0的先验概率,此值计算公式分别为
Figure BDA0003045298590000213
Figure BDA0003045298590000214
其中的tablej指代的是通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表的第j项;式中
Figure BDA0003045298590000215
指代序号为cnt1的信息层设备数据集对应的警报点数据表中的第i个条目;
Figure BDA0003045298590000216
表示序号为cnt1的信息层设备的信息层设备数据表中,所有由序号为cnt1的信息层设备管理的警报点的编号、以及该警报点对应的警报数据所对应的安全事件是否发生(其为1时表示发生了安全事件,为0时表示未发生)组成的消息对构成的消息对集合
Figure BDA0003045298590000221
中,序号为cnt1的信息层设备管理的警报点的编号等于该信息层设备管理的警报点的编号属性中第i个编号的消息対。
(a38)将通过步骤(a37)获得的
Figure BDA0003045298590000222
填入风险系数表的第cnt1项,设置计数器cnt1=cnt1+1,并返回步骤(a32)。
以上步骤(a13)到(a38)的优点在于,为工业控制系统中信息层设备与物理层设备分别建立了一套简便有效的风险评价体系,其分别为步骤(a21)-(a30)的基于拟合函数的物理层设备风险系数评价体系和步骤(a31)-(a38)的基于贝叶斯公式的信息层设备风险评价体系,这两类评价体系将两类不同类型的设备的不同数据进行处理后获得归一化的设备风险系数,该方法解决了现有工业控制系统的风险评价体系风险系数值域不统一导致的评价指标复杂与由于确实物理层设备的风险评价而导致的评价体系的不完备的问题。
具体而言,本步骤(1)包括以下子步骤:
(1-1)在收到攻击信号signala及该攻击信号对应的携带有攻击数据的数据包dataa后,通过解包的方式获取数据包dataa中目标设备的设备类型属性。
具体而言,解包过程可以通过使用第三方软件(如wireshark、nmap、pacp等)实现。
(1-2)判断数据包dataa中目标设备的设备类型属性是否是物理层设备,若是则进入步骤(1-3),否则进入步骤(1-11);
(1-3)获取预先建立好的m个物理层设备数据表,并获取数据包dataa中目标设备的IP地址;
(1-4)在m个物理层设备数据表中判断是否存在与dataa中目标设备的额IP地址具有相同IP地址的物理层设备数据表,若存在则进入(1-5),否则过程结束,此时说明数据包dataa中的数据有误,重新进入等待攻击信号及其数据包的过程。
(1-5)从m个物理层设备数据表中获取与dataa中目标设备的IP地址具有相同IP地址的物理层设备数据表的序号i,其中i满足n+1≤i≤n+m。
(1-6)获取预先建立好的m个物理层设备计数器中的第i个计数器cntpi,取序号为i的物理层设备数据表中第cntpi行物理层数据对应的时间戳timestampi,并判断timestampi和数据dataa中的时间戳是否相同,若是则进入步骤(1-9),否则进入步骤(1-7)。
(1-7)设置计数器cntpi=cntpi+1,并判断cntpi是否超过阈值(该阈值大小已经在上述步骤(a8)中描述过),若是则过程结束,此时表明序号为i的物理层设备数据表已满,需要通知管理员进行清库工作,否则进入步骤(1-8)。
(1-8)将数据dataa的时间戳填入序号为i的物理层设备数据表中第cntpi行的时间戳中,从数据包dataa的传感器数据、系统状态数据、以及控制量数据三类属性值中选取非0的属性值,并将其填入序号为i的物理层设备数据表中第cntpi行的对应属性中,将序号为i的物理层设备数据表中第cntpi行的其他属性值设置为0,并进入步骤(1-10)。
(1-9)将数据包dataa的传感器数据、系统状态数据、以及控制量数据三类属性值中选取非0的属性值,并将其填入序号为i的物理层设备数据表中时间戳属性值等于timestampi的该行对应属性中,然后进入步骤(1-10);
(1-10)获取序号为i的物理层设备数据表中时间戳属性值等于timestampi的行的数据
Figure BDA0003045298590000231
获取预先建立好的、具有m个条目的物理层拟合函数储存表中的第i项,将
Figure BDA0003045298590000232
的传感器数据、系统状态数据、以及控制量数据三类属性值作为自变量输入具有该物理层拟合函数储存表中的第i个条目中,以获取输出结果
Figure BDA0003045298590000241
并将输出结果
Figure BDA0003045298590000242
填入预先建立好的风险系数表的第i项条目中,然后过程结束。
(1-11)获取预先建立的n个信息层设备数据表,获取数据包dataa中目标设备的IP地址。
(1-12)在通过步骤(1-11)获取的n个信息层设备数据表中判断是否存在与目标设备的IP地址具有相同IP地址的信息层设备表,若存在则进入(1-13),否则过程结束,此时说明数据包dataa中的数据有误,重新进入等待攻击信号及其数据包的过程。
(1-13)获取预先建立好的的m个物理层设备计数器中的第j个计数器cntnj,从n个信息层设备数据表中获取具有与dataa中目标设备的IP地址具有相同IP地址的信息层设备表的序号j及数据包dataa对应的警报点的编号的属性值
Figure BDA0003045298590000243
其中序号j满足1≤j≤n。
(1-14)设置计数器cntnj=cntnj+1,并判断cntnj是否超过阈值(该阈值大小已经在上述步骤(a14)中描述过),若是则过程结束,此时表示序号为j的信息层设备数据表已满,需要通知管理员进行清库工作,否则进入步骤(1-15)。
(1-15)在序号为j的信息层设备数据表的第cntnj行中填入属性对(
Figure BDA0003045298590000244
1)。(1-16)计算序号为j的信息层设备的风险系数riskj(具体是使用步骤(a37)所描述的信息层节点风险系数计算公式),将风险系数riskj填入风险系数表的第j个条目中,过程结束。
上述步骤(1-1)到(1-15)的优点在于,利用预先建立好的风险系数表、信息层设备数据表、物理层设备数据表建立了一个高效简洁的风险系数更新机制,采用对信息层设备数据表和物理层设备数据表实时更新并重新计算受攻击影响的设备的风险系数的方式避免了现有工业控制系统风险评估机制由于更新迟缓或是无更新带来的评价体系僵化的问题。
(2)将步骤(1)更新后的风险系数表(具体是上述步骤(1-10)或步骤(1-16)处理后得到的风险系数表)输入建立好的决策模型,以得到最优防御策略。
具体而言,步骤(2)包括以下子步骤:
(2-1)获取步骤(1-10)或步骤(1-16)处理后得到的风险系数表、n个信息层设备数据表计数器cntp1,cntp2,…,cntpn、m个物理层设备数据表计数器cntn1,cntn2,…,cntnm、m个物理层设备数据表、以及n个信息层设备数据表。
具体而言,物理层设备数据表和物理层数据表计数器由步骤(1-3)-步骤(1-9)的数据表更新操作后获得,信息层设备数据表和信息层数据表计数器由步骤(1-11)-步骤(1-15)的数据表更新操作后获得。
(2-2)获取当前状态下的防御策略表与攻击策略收益表。
具体而言,防御策略表与攻击策略收益表为管理员预先设定的数据集,其中防御策略表包含的属性为:防御策略编号、防御策略目标设备、防御策略用时、以及防御策略效果数据。其中防御策略效果数据依照防御策略目标设备的种类不同具有不同分量,若防御策略目标设备为物理层设备,则防御策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若防御策略目标设备为信息层设备,则防御策略效果数据为本防御策略的目标设备的数据表中将被消除警报的警报点的集合。
举例而言,若防御策略目标设备为信息层设备,防御策略效果数据该集合中存在警报点的编号alarms1,则在采取本防御策略后,防御策略目标设备的数据表中该设备管理的警报点的编号这一属性值等于alarms1时,其对应数据行的该警报点对应的警报数据所对应的安全事件是否发生的属性值将被置为0,此时认为警报点的编号为alarms1的警报被消除。
而攻击策略收益表包含的属性为:攻击策略编号、攻击策略目标设备、攻击策略用时、以及攻击策略效果数据。其中攻击策略效果数据依照攻击策略目标设备的种类不同具有不同分量,若攻击策略目标设备为物理层设备,则攻击策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若攻击策略目标设备为信息层设备,则攻击策略效果数据为本防御策略目标设备编号中警报被置位的警报点的集合。
举例而言,若攻击策略目标设备为信息层设备,攻击策略效果数据该集合中存在警报点的编号alarms1,则在采取本攻击策略后,攻击策略目标设备的数据表中该设备管理的警报点的编号这一属性值等于alarms1时,其对应数据行的该警报点对应的警报数据所对应的安全事件是否发生的属性值将被置为1,此时认为警报点的编号为alarms1的警报被置位。
(2-3)将步骤(2-2)得到的防御策略表与攻击策略收益表输入建立好的策略决策框架中,以输出最优策略。
具体而言,策略决策框架的建立过程为:建立两个单智能体的部分可观测的马尔科夫决策过程(Partially Observable Markov DecisionProcess,简称POMDP)基本迭代模型分别作为防守方决策模型和攻击方决策模型,将防御策略表和攻击策略收益表属性分别输入这两个POMDP基本迭代模型的参数列表中,以得到决策收益。
具体而言,本过程是使用以下公式作为计算决策收益:
Figure BDA0003045298590000261
式中C1和C2为可调节的常数,具体而言,C1和C2的取值范围为[0,1],优选地将C1和C2设置为0.95,s和s′为指代攻击者或防御者采用防御策略或攻击策略前后工业控制系统的状态的变量,其由所有信息层设备和物理层设备的风险系数组成,
Figure BDA0003045298590000262
表示s状态下设备序号为gi的设备的实时风险系数,Price表示工业控制系统单位时间的经济价值(该经济价值包括设备价值、工业过程生产价值及各类间接价值,此值由管理员预先设定),T表示采取攻击措施或防御措施所消耗的时间,举例而言,采取编号为k的防御策略时,T值为防御策略表中编号为k的防御策略所对应的防御策略用时的属性值,采取编号为k的攻击策略时,T值为攻击策略收益表中编号为k的攻击策略所对应的攻击策略用时的属性值。
上述步骤(2-3)的优点在于,其将工业控制系统的各设备的实时风险系数纳入收益计算,并使用n维闵式距离公式对风险系数对系统的影响进行量化,因此能够解决现有工控系统入侵响应方法无法准确贴合当前系统状态做出响应决策的技术问题;
具体而言,得出最优策略过程由以下子步骤组成:
(b1)将当前风险系数表与防御策略集导入防守方决策模型中,经过POMDP的迭代过程得出使收益值最大化的n种防御策略,形成防御策略备选集{d1,d2,d3,…,dn}与防御策略收益集{reward1,reward2,…,rewardn},并导出与防御策略备选集一一对应的系统风险系数备选表{table1,table2,…,tablen};
具体而言,本步骤中通过POMDP迭代进而生成入侵响应防御策略备选集与系统风险表的过程,在论文RRE:A Game-Theoretic Intrusion Response and Recovery Engine中已经披露,在此不再赘述。
具体而言,常数n和m的取值范围为1至1000,优选地为10。
具体而言,防御策略备选集中的每一条目均为一条防御策略的策略编号,系统风险系数备选表中的每一条目均为一张风险系数表。
举例而言,防御策略备选集与系统风险系数备选表的一一对应关系指的是:防御策略备选集的第1项条目d1与系统风险系数备选表中的第1个风险系数表table1对应,…,防御策略备选集的第n项条目dn与系统风险系数备选表中的第n个风险系数表tablen对应。
(b2)建立两个具有n×m项条目的表作为防御策略收益表和攻击策略收益表,并设置计数器cntd=1。
(b3)判断cntd是否大于等于n,是则进入步骤(b7),此时表明博弈论所需要的防御策略收益表和攻击策略收益表均已建立完成,否则进入步骤(b4);
(b4)取出策略dcntd,将dcntd和与dcntd具有对应关系的风险系数表tablecntd导入攻击方决策模型中,经过迭代求得收益最大的m种攻击策略,形成假想攻击策略备选集
Figure BDA0003045298590000281
与攻击策略收益集{reward1,reward2,…,rewardm}。
具体而言,本步骤中生成假想攻击策略备选集与攻击策略收益集的过程,在论文RRE:A Game-Theoretic Intrusion Response and Recovery Engine中已经披露,在此不再赘述。
(b5)将通过步骤(b4)获得的收益集{reward1,reward2,…,rewardm}分别输入至通过步骤(b2)建立的攻击策略收益表中第cntd行的m项条目中,将通过步骤(b1)获得的防御策略收益集的第cntd项rewardcntd复制m份,并分别输入通过步骤(b2)建立的防御策略收益表的第cntd行的m项条目中。
(b6)设置计数器cntd=cntd+1,返回步骤(b3)。
优选地,在步骤(b4)-步骤(b5)中,本发明使用并行化思想对该过程进行加速,即将多条不同的防御策略同时取出,分别演算因其产生的网络节点属性变化,将攻击决策模型并行化,然后将这些节点属性分别投入攻击决策模型中,最终在一轮循环中获得多个假想攻击策略备选集;
(b7)使用minimax算法对经过步骤(b3)-步骤(b6)最终形成的防御策略收益表和攻击策略收益表进行处理,以得到矩阵鞍点(i,j),横坐标即为防御系统将采用的策略编号,通过横坐标i获得i所对应的防御策略集条目di,此条目即为最优防御策略。
具体而言,因POMDP的性质和随机博弈的性质影响,该鞍点必满足纳什均衡,即该鞍点所代表的防御、攻击策略二元组可以保证防御策略收益的最大化。
上述步骤(b1)-步骤(b7)的优点在于,其借助部分可观测的马尔科夫决策过程(Partially Observable Markov Decision Process,简称POMDP)与博弈理论模型结合的建模方法,辅以并行化思想提出了一种新的入侵响应决策模型,其将攻防双方决策的过程建模为两个独立的单智能体决策模型,尽量还原了入侵响应时攻防交互的过程,因此能够解决现有入侵响应决策模块由于没有考虑到攻防过程的交互性而导致其决策空间不够全面,决策精度不够高的技术问题。
本领域的技术人员容易理解,以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种用于工业控制系统的防御策略生成方法,其特征在于,包括以下步骤:
(1)在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器;
(2)将步骤(1)更新后的风险系数表输入建立好的决策模型,以得到最优防御策略。
2.根据权利要求1所述的用于工业控制系统的防御策略生成方法,其特征在于,风险系数表是按照以下子步骤建立的:
(a1)获取工业控制系统中所有的信息层设备个数n和物理层设备个数m;
(a2)建立n个信息层设备数据表、m个物理层设备数据表、以及一个大小为(n+m)个条目的风险系数表,并建立n个信息层设备数据表、m个物理层设备数据表中的每一个与风险系数表中每一个条目之间的映射关系;
(a3)建立n个信息层设备数据表计数器{cntp1,cntp2,…,cntpn}和m个物理层设备数据表计数器{cntn1,cntn2,…,cntnm}},所有(n+m)个计数器的初始值均为0,建立n个信息层设备数据表计数器与n个信息层设备数据表、以及m个物理层设备数据表计数器与m个物理层设备数据表的一一对应关系。
(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的物理层设备数据表所对应的计数器cntpi的值,并判断cntpi是否超过预设阈值,如果是则进入步骤(a5),否则进入步骤(a9)。
(a9)获取第cnt1条历史物理层数据对应的时间戳,并判断序号为i的物理层设备数据表中是否存在该时间戳,如果存在则进入步骤(a10),否则进入步骤(a11)。
(a10)从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值,填入序号为i的物理层设备数据表中存在步骤(a9)获取时间戳的条目的对应属性中,并返回步骤(a5)。
(a11)设置计数器cntpi=cntpi+1;
(a12)在序号为i的物理层设备数据表中创建的第cntpi行,将第cnt1条历史物理层数据的时间戳填入序号为i的物理层设备数据表中第cntpi行的时间戳中,从第cnt1条历史物理层数据的传感器数据、系统状态数据、以及控制量数据三类属性值中选取具有非0值的属性值填入序号为i的物理层设备数据表中第cntpi行的对应属性中,并返回步骤(a5);
(a13)设置计数器cnt2=cnt2+1;
(a14)判断计数器cnt2是否超过预设阈值,如果是则进入步骤(a22),此时所有n个信息层设备数据表的建立过程已经完成,否则进入步骤(a15);
(a15)从IDS及信息层设备分别获取IDS警报集与信息层设备警报集,将二者整合为一个信息层历史数据集合,并根据其中第cnt2条历史信息层数据对应的信息层设备的IP地址在信息层设备数据表中查找对应的序号j,其中j满足1≤j≤n。
(a16)获取序号为j的信息层设备数据表所对应的计数器cntnj的值,并判断cntnj是否小于预设阈值,如果是则进入步骤(a17),否则返回步骤(a13)。
(a17)设置计数器cntnj=cntnj+1。
(a18)获取信息层历史数据集合中第cnt2条历史信息层数据的时间戳timestampcnt2、以及安全事件属性集seccnt2,并判断SCADA系统的系统日志在timestampcnt2时间点时的安全事件日志记录是否与安全事件信息属性seccnt2一致,如果是则说明第cnt2条历史信息层数据对应的安全事件发生,设置标签event=1,并进入步骤(a21),否则说明第cnt2条历史信息层数据对应的安全事件未发生,设置event=0,并进入步骤(a21)。
(a21)创建序号为j的信息层设备数据表的第cntnj行,将第cnt2条历史信息层数据对应的警报点的编号填入序号为j的信息层设备数据表第cntnj行的信息层设备管理的警报点的编号属性中,将event的值填入序号为j的信息层设备数据表第cntnj行的警报点对应的警报数据所对应的安全事件是否发生的属性中,返回步骤(a13)。
(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)表(其大小为cntpcnt1个条目的,建立序号为cnt1的物理层设备数据表中所有cntpcnt1行数据与该MMTR表中所有条目之间的一一对应关系,并设置计数器cnt2=1。
(a25)判断cnt2是否大于cntpcnt1,如果是则进入步骤(a28),此时序号为cnt1的物理层设备的MTTR表已经建立完成,否则进入(a26)。
(a26)获取序号为cnt1的物理层设备数据表的第cnt2行数据中的时间戳
Figure FDA0003045298580000041
根据
Figure FDA0003045298580000042
和序号为cnt1的物理层设备数据表中对应物理层设备的IP地址从SCADA系统的服务器中获取对应的MMTR值,并将该值填入序号为cnt1的物理层设备的MTTR表中的第cnt2个条目中。
(a27)设置计数器cnt2=cnt2+1,并返回步骤(a25)。
(a28)使用最小二乘法将序号为cnt1的物理层设备数据表和通过步骤(25)-步骤(27)获得的MTTR表中的cntpcnt1个条目进行函数拟合,以形成序号为cnt1的物理层设备的拟合函数,并将该拟合函数填入拟合函数储存表中的第cnt1个条目中。
(a29)获取通过步骤(25)-步骤(27)获得的MTTR表的cntpcnt1个条目中的最大值Mmax,将Mmax存入拟合函数储存表的第(m+cnt1)项中,获取MTTR表的第cntpcnt1个条目
Figure FDA0003045298580000043
利用公式
Figure FDA0003045298580000044
获得序号为cnt1的物理层设备的风险系数riskcnt1,并将该风险系数riskcnt1填入风险系数表的第(n+cnt1)个条目中。
(a30)设置计数器cnt1=cnt1+1,并返回步骤(a23);
(a31)获取经过步骤(a13)-步骤(a21)所形成的n个信息层设备数据表,并将设置计数器cnt1=1。
(a32)判断cnt1是否超过n,如果是则过程结束,此时风险系数表中第1到第n个条目的建立进程已经完成,否则进入步骤(a33);
(a33)获取序号为cnt1的信息层设备数据表,创建一个大小为2倍于该信息层设备数据集所管理的警报点总数lalarm的的警报点数据表,并设置计数器cnt2=1。
(a34)判断cnt2是否大于lalarm,如果是则进入步骤(a37),此时,表示序号为cnt1的信息层设备数据集的警报点数据表建立完成,否则进入(a35)。
(a35)获取序号为cnt1的信息层设备数据表管理的警报点中的第cnt2个警报点,并获得其编号alarmscnt2,统计序号为cnt1的信息层设备数据集中满足信息层设备管理的警报点的编号为alarmscnt2时,该警报点对应的警报数据所对应的安全事件是否发生的属性值为1的频率pcnt2(即信息层设备管理的警报点的编号为alarmscnt2,且该警报点对应的警报数据所对应的安全事件是否发生的属性值为1的条目数量num1在信息层设备管理的警报点的编号为alarmscnt2的条目数量num中所占的比率),将频率pcnt2填入警报点数据表中的第cnt2个条目中,并将num1的值填入警报点数据表的第(cnt2+lalarm)个条目中。
(a36)设置计数器cnt2=cnt2+1,返回步骤(34)。
(a37)使用通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表,计算序号为cnt1的信息层设备的风险系数δ,
(a38)将通过步骤(a37)获得的
Figure FDA0003045298580000051
填入风险系数表的第cnt1项,设置计数器cnt1=cnt1+1,并返回步骤(a32)。
3.根据权利要求1或2所述的用于工业控制系统的防御策略生成方法,其特征在于,
风险系数表中记录了所有n个信息层设备和m个物理层设备的风险系数。
物理层设备数据表中记录了其对应的物理层设备的IP地址、以及该物理层设备对应的数据和该数据对应的时间戳,该数据包括该物理层设备所发送的系统状态数据和控制量数据、以及该物理层所管理的传感器生成的传感器数据;
信息层设备数据表中记录了其对应的信息层设备的IP地址、以及该信息层设备管理的警报点的编号、以及该警报点对应的警报数据所对应的安全事件是否发生,其为1时表示发生了安全事件,为0时表示未发生;
物理层数据包括物理层设备的IP地址、时间戳、传感器数据、系统状态数据、以及控制量数据;
单条历史物理层数据中,仅传感器数据、系统状态数据、控制量数据其中一个的属性具有实值,即其属性值不为0。
4.根据权利要求1至3中任意一项所述的用于工业控制系统的防御策略生成方法,其特征在于,
信息层数据包括信息层设备IP地址、时间戳、警报点的编号、警报对应的安全事件属性集;
单条历史信息层数据有且仅有一条警报。
5.根据权利要求4所述的用于工业控制系统的防御策略生成方法,其特征在于,风险系数的计算过程为:
Figure FDA0003045298580000061
其中l指代序号为cnt1的信息层设备,在该信息层设备被攻击时,此值置1,否则为0;式中P(l)和
Figure FDA0003045298580000062
表示l被置位为1和0的先验概率,且有
Figure FDA0003045298580000071
Figure FDA0003045298580000072
其中的tablej指代的是通过步骤(a34)-(a36)获得的序号为cnt1的信息层设备的警报点数据表的第j项;式中
Figure FDA0003045298580000073
指代序号为cnt1的信息层设备数据集对应的警报点数据表中的第i个条目;
Figure FDA0003045298580000074
Figure FDA0003045298580000075
表示序号为cnt1的信息层设备的信息层设备数据表中,所有由序号为cnt1的信息层设备管理的警报点的编号、以及该警报点对应的警报数据所对应的安全事件是否发生组成的消息对构成的消息对集合
Figure FDA0003045298580000076
中,序号为cnt1的信息层设备管理的警报点的编号等于该信息层设备管理的警报点的编号属性中第i个编号的消息対。
6.根据权利要求5所述的用于工业控制系统的防御策略生成方法,其特征在于,步骤(1)包括以下子步骤:
(1-1)在收到攻击信号signala及该攻击信号对应的携带有攻击数据的数据包dataa后,通过解包的方式获取数据包dataa中目标设备的设备类型属性。
(1-2)判断数据包dataa中目标设备的设备类型属性是否是物理层设备,若是则进入步骤(1-3),否则进入步骤(1-11);
(1-3)获取预先建立好的m个物理层设备数据表,并获取数据包dataa中目标设备的IP地址;
(1-4)在m个物理层设备数据表中判断是否存在与dataa中目标设备的额IP地址具有相同IP地址的物理层设备数据表,若存在则进入(1-5),否则过程结束,此时说明数据包dataa中的数据有误,重新进入等待攻击信号及其数据包的过程。
(1-5)从m个物理层设备数据表中获取与dataa中目标设备的IP地址具有相同IP地址的物理层设备数据表的序号i,其中i满足n+1≤i≤n+m。
(1-6)获取预先建立好的m个物理层设备计数器中的第i个计数器cntpi,取序号为i的物理层设备数据表中第cntpi行物理层数据对应的时间戳timestampi,并判断timestampi和数据dataa中的时间戳是否相同,若是则进入步骤(1-9),否则进入步骤(1-7)。
(1-7)设置计数器cntpi=cntpi+1,并判断cntpi是否超过阈值(该阈值大小已经在上述步骤(a8)中描述过),若是则过程结束,此时表明序号为i的物理层设备数据表已满,需要通知管理员进行清库工作,否则进入步骤(1-8)。
(1-8)将数据dataa的时间戳填入序号为i的物理层设备数据表中第cntpi行的时间戳中,从数据包dataa的传感器数据、系统状态数据、以及控制量数据三类属性值中选取非0的属性值,并将其填入序号为i的物理层设备数据表中第cntpi行的对应属性中,将序号为i的物理层设备数据表中第cntpi行的其他属性值设置为0,并进入步骤(1-10)。
(1-9)将数据包dataa的传感器数据、系统状态数据、以及控制量数据三类属性值中选取非0的属性值,并将其填入序号为i的物理层设备数据表中时间戳属性值等于timestampi的该行对应属性中,然后进入步骤(1-10);
(1-10)获取序号为i的物理层设备数据表中时间戳属性值等于timestampi的行的数据
Figure FDA0003045298580000081
获取预先建立好的、具有m个条目的物理层拟合函数储存表中的第i项,将
Figure FDA0003045298580000082
的传感器数据、系统状态数据、以及控制量数据三类属性值作为自变量输入具有该物理层拟合函数储存表中的第i个条目中,以获取输出结果
Figure FDA0003045298580000083
并将输出结果
Figure FDA0003045298580000084
填入预先建立好的风险系数表的第i项条目中,然后过程结束。
(1-11)获取预先建立的n个信息层设备数据表,获取数据包dataa中目标设备的IP地址。
(1-12)在通过步骤(1-11)获取的n个信息层设备数据表中判断是否存在与目标设备的IP地址具有相同IP地址的信息层设备表,若存在则进入(1-13),否则过程结束,此时说明数据包dataa中的数据有误,重新进入等待攻击信号及其数据包的过程。
(1-13)获取预先建立好的的m个物理层设备计数器中的第j个计数器cntnj,从n个信息层设备数据表中获取具有与dataa中目标设备的IP地址具有相同IP地址的信息层设备表的序号j及数据包dataa对应的警报点的编号的属性值
Figure FDA0003045298580000091
其中序号j满足1≤j≤n。
(1-14)设置计数器cntnj=cntnj+1,并判断cntnj是否超过阈值(该阈值大小已经在上述步骤(a14)中描述过),若是则过程结束,此时表示序号为j的信息层设备数据表已满,需要通知管理员进行清库工作,否则进入步骤(1-15)。
(1-15)在序号为j的信息层设备数据表的第cntnj行中填入属性对
Figure FDA0003045298580000092
(1-16)计算序号为j的信息层设备的风险系数riskj(具体是使用步骤(a37)所描述的信息层节点风险系数计算公式),将风险系数riskj填入风险系数表的第j个条目中,过程结束。
7.根据权利要求6所述的用于工业控制系统的防御策略生成方法,其特征在于,步骤(2)包括以下子步骤:
(2-1)获取步骤(1-10)或步骤(1-16)处理后得到的风险系数表、n个信息层设备数据表计数器cntp1,cntp2,…,cntpn、m个物理层设备数据表计数器cntn1,cntn2,…,cntnm、m个物理层设备数据表、以及n个信息层设备数据表。
(2-2)获取当前状态下的防御策略表与攻击策略收益表。
(2-3)将步骤(2-2)得到的防御策略表与攻击策略收益表输入建立好的策略决策框架中,以输出最优策略。
8.根据权利要求7所述的用于工业控制系统的防御策略生成方法,其特征在于,
防御策略表与攻击策略收益表为管理员预先设定的数据集,其中防御策略表包含的属性为:防御策略编号、防御策略目标设备、防御策略用时、以及防御策略效果数据;
防御策略效果数据依照防御策略目标设备的种类不同具有不同分量,若防御策略目标设备为物理层设备,则防御策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若防御策略目标设备为信息层设备,则防御策略效果数据为本防御策略的目标设备的数据表中将被消除警报的警报点的集合。
而攻击策略收益表包含的属性为:攻击策略编号、攻击策略目标设备、攻击策略用时、以及攻击策略效果数据;
攻击策略效果数据依照攻击策略目标设备的种类不同具有不同分量,若攻击策略目标设备为物理层设备,则攻击策略效果数据为:{传感器数据,系统状态数据,控制量数据}的集合,若攻击策略目标设备为信息层设备,则攻击策略效果数据为本防御策略目标设备编号中警报被置位的警报点的集合。
9.根据权利要求8所述的用于工业控制系统的防御策略生成方法,其特征在于,步骤(2-3)获取最优策略的过程包括以下子步骤:
(b1)将当前风险系数表与防御策略集导入防守方决策模型中,经过POMDP的迭代过程得出使收益值最大化的n种防御策略,形成防御策略备选集{d1,d2,d3,…,dn}与防御策略收益集{reward1,reward2,…,rewardn},并导出与防御策略备选集一一对应的系统风险系数备选表{table1,table2,…,tablen};
(b2)建立两个具有n×m项条目的表作为防御策略收益表和攻击策略收益表,并设置计数器cntd=1。
(b3)判断cntd是否大于等于n,是则进入步骤(b7),此时表明博弈论所需要的防御策略收益表和攻击策略收益表均已建立完成,否则进入步骤(b4);
(b4)取出策略dcntd,将dcntd和与dcntd具有对应关系的风险系数表tablecntd导入攻击方决策模型中,经过迭代求得收益最大的m种攻击策略,形成假想攻击策略备选集
Figure FDA0003045298580000111
与攻击策略收益集{reward1,reward2,…,rewardm}。
(b5)将通过步骤(b4)获得的收益集{reward1,reward2,…,rewardm}分别输入至通过步骤(b2)建立的攻击策略收益表中第cntd行的m项条目中,将通过步骤(b1)获得的防御策略收益集的第cntd项rewardcntd复制m份,并分别输入通过步骤(b2)建立的防御策略收益表的第cntd行的m项条目中。
(b6)设置计数器cntd=cntd+1,返回步骤(b3)。
(b7)使用minimax算法对经过步骤(b3)-步骤(b6)最终形成的防御策略收益表和攻击策略收益表进行处理,以得到矩阵鞍点(i,j),横坐标即为防御系统将采用的策略编号,通过横坐标i获得i所对应的防御策略集条目di,此条目即为最优防御策略。
10.一种用于工业控制系统的防御策略生成系统,其特征在于,包括:
第一模块,用于在接收到攻击信号及其对应的攻击行为数据包后,根据该攻击信号对应的攻击对象类型对预先建立好的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器进行更新,以得到更新后的风险系数表、物理层设备数据表、信息层设备数据表、物理层设备数据表计数器以及信息层设备数据表计数器;
第二模块,用于将第一模块更新后的风险系数表输入建立好的决策模型,以得到最优防御策略。
CN202110470817.5A 2021-04-29 2021-04-29 一种用于工业控制系统的防御策略生成方法和系统 Active CN113132405B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110470817.5A CN113132405B (zh) 2021-04-29 2021-04-29 一种用于工业控制系统的防御策略生成方法和系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110470817.5A CN113132405B (zh) 2021-04-29 2021-04-29 一种用于工业控制系统的防御策略生成方法和系统

Publications (2)

Publication Number Publication Date
CN113132405A true CN113132405A (zh) 2021-07-16
CN113132405B CN113132405B (zh) 2021-12-31

Family

ID=76780661

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110470817.5A Active CN113132405B (zh) 2021-04-29 2021-04-29 一种用于工业控制系统的防御策略生成方法和系统

Country Status (1)

Country Link
CN (1) CN113132405B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865536A (zh) * 2023-03-01 2023-03-28 珠海市鸿瑞信息技术股份有限公司 一种基于人工智能的工控信息安全防御系统及方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108683664A (zh) * 2018-05-15 2018-10-19 北京理工大学 一种基于多层次博弈模型的网络风险分析和最优主动防御方法
CN108809979A (zh) * 2018-06-11 2018-11-13 中国人民解放军战略支援部队信息工程大学 基于Q-learning的自动入侵响应决策方法
CN109617863A (zh) * 2018-11-27 2019-04-12 杭州电子科技大学 一种基于博弈论的移动目标防御最优防御策略选取的方法
CN109639729A (zh) * 2019-01-16 2019-04-16 北京科技大学 一种面向物联网威胁防御资源分配的动态博弈方法及装置
CN109714364A (zh) * 2019-02-20 2019-05-03 湖南大学 一种基于贝叶斯改进模型的网络安全防御方法
US20190205534A1 (en) * 2018-01-02 2019-07-04 International Business Machines Corporation Resource reallocation based on expected rewards
CN110210767A (zh) * 2019-06-06 2019-09-06 国网湖南省电力有限公司 基于三层规划模型的电网灭火资源最优调配策略
CN111970300A (zh) * 2020-08-27 2020-11-20 广东电网有限责任公司东莞供电局 一种基于行为检查的网络入侵防御系统

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190205534A1 (en) * 2018-01-02 2019-07-04 International Business Machines Corporation Resource reallocation based on expected rewards
CN108683664A (zh) * 2018-05-15 2018-10-19 北京理工大学 一种基于多层次博弈模型的网络风险分析和最优主动防御方法
CN108809979A (zh) * 2018-06-11 2018-11-13 中国人民解放军战略支援部队信息工程大学 基于Q-learning的自动入侵响应决策方法
CN109617863A (zh) * 2018-11-27 2019-04-12 杭州电子科技大学 一种基于博弈论的移动目标防御最优防御策略选取的方法
CN109639729A (zh) * 2019-01-16 2019-04-16 北京科技大学 一种面向物联网威胁防御资源分配的动态博弈方法及装置
CN109714364A (zh) * 2019-02-20 2019-05-03 湖南大学 一种基于贝叶斯改进模型的网络安全防御方法
CN110210767A (zh) * 2019-06-06 2019-09-06 国网湖南省电力有限公司 基于三层规划模型的电网灭火资源最优调配策略
CN111970300A (zh) * 2020-08-27 2020-11-20 广东电网有限责任公司东莞供电局 一种基于行为检查的网络入侵防御系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
张为等: "面向分布式网络结构的APT攻击双重博弈模型", 《计算机应用》 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115865536A (zh) * 2023-03-01 2023-03-28 珠海市鸿瑞信息技术股份有限公司 一种基于人工智能的工控信息安全防御系统及方法

Also Published As

Publication number Publication date
CN113132405B (zh) 2021-12-31

Similar Documents

Publication Publication Date Title
CN110598016B (zh) 一种多媒体信息推荐的方法、装置、设备和介质
US8762188B2 (en) Cyberspace security system
US11693958B1 (en) Processing and storing event data in a knowledge graph format for anomaly detection
CN113159615B (zh) 一种工业控制系统信息安全风险智能测定系统及方法
CN101902336B (zh) 一种基于规则模型的安全事件关联分析系统及方法
CN106878092A (zh) 一种多源异构数据融合的网络运维实时监控与分析呈现平台
CN103593376A (zh) 一种采集用户行为数据的方法及装置
CN101212338A (zh) 基于监控探针联动的网络安全事件溯源系统与方法
CN111915143B (zh) 一种基于智能合约的复杂产品装配管控系统
CN110969560A (zh) 基于大数据的安防监控管理平台
CN108259202A (zh) 一种ca监测预警方法和ca监测预警系统
CN113256163B (zh) 智慧城市政务云平台网外运算方法及系统
CN112929845A (zh) 一种基于区块链的车联网节点信任评估方法及系统
CN109639756A (zh) 一种终端网络关联关系展示和设备接入实时监测系统
CN113132405B (zh) 一种用于工业控制系统的防御策略生成方法和系统
CN105096034A (zh) 电子政务的实现方法和电子政务系统
CN117235810A (zh) 一种基于区块链的日志安全存储与高效查询方法
CN111258798A (zh) 监控数据的故障定位方法、装置、计算机设备及存储介质
Li et al. Optimal filter design for cyber‐physical systems under stealthy hybrid attacks
CN103426041A (zh) 基于物联网的辐射源实时监控与管理系统和方法
CN117240597A (zh) 一种基于互联网的应用监控预警数据管理系统及方法
CN106874423A (zh) 搜索控制方法和系统
CN117971963A (zh) 一种私域分布式数据协同装备
CN110138720B (zh) 网络流量的异常分类检测方法、装置、存储介质和处理器
CN106204320A (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