本发明涉及工业控制系统攻击检测技术领域,尤其涉及一种基于指令感知和模型响应分析的工控系统攻击检测方法。
背景技术:
工业控制系统广泛应用于工业生产、电力、能源、水利以及交通运输等行业,其系统构成主要包括数据采集与监测系统(scada)、分布式控制系统(dcs)、可编程逻辑控制器(plc)、远程终端(rtu)等,是实现实时数据采集、状态监测与过程控制的自动化系统。随着通讯技术与网络技术的增强,以及工业生产中对数据与指令的高速传输、高速处理等要求,工业控制系统中的通讯网络不再局限于现场总线网络,而是将以太网以及wifi、蓝牙等无线网络融入其中,构成了复杂的多标准、多协议的工业控制系统通讯网络,因此工业控制系统网络所面临的安全挑战也更为严峻。
在工业控制系统中,以太网通讯结构的展开使得系统中大量使用pc服务器、pc终端以及通用形式的操作系统,系统中的数据、命令以数据包的形式在通讯网络中交换、传输,很容易遭受到来自互联网的恶意攻击,例如数据恶意篡改、虚假数据注入以及拒绝服务等。在传统的工业控制系统网络中,攻击检测技术是利用部署在工控网络中的各类传感器等量测设备来检测系统中的物理数据,根据物理规律以及检测到的物理数据计算来判断系统中各部分的运行状态和稳定状态,从而确定检测到的物理数据是否真实可靠。
然而,如果攻击者熟悉系统内部设备之间的通讯结构,以及系统中控制指令的实现方式,攻击者在入侵工业控制系统通讯网络后,通过流量抓取设备截获控制中心发布的通讯信息,并对其中的控制指令加以篡改,或者伪造控制指令发布给下级网络中的终端设备。一方面终端物理设备无法辨识指令是否是控制中心发布的正确的控制指令而对其进行了响应,有可能导致错误的响应行为使得系统功能发生故障;另一方面控制中心也无法快速而准确地证实终端物理设备的响应是否与其期望响应一致,在设备发生错误响应的情况下无法迅速处理故障。在这样的攻击情景下,攻击者便通过篡改控制指令对终端物理设备的进行了直接干预与控制,这对工业控制系统来说会造成极为严重的后果。
因此,考虑到工业控制系统网络中控制指令可能遭到恶意篡改或者伪造,单一地依靠数据采集与量测这种攻击检测方法并不能有效地检测出工业控制系统网络的安全性。
技术实现要素:
本发明实施例提供了一种基于指令感知和模型响应分析的工控系统攻击检测方法,用于解决现有的利用数据量测设备来检测工业控制系统网络是否被攻击的方法不能有效地检测出工业控制系统网络的安全性的技术问题。
本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法,包括:
s4:根据工业控制系统中控制指令的语义分析结果对控制中心发出的控制指令与终端设备收到的控制指令进行一致性检测,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统通讯网络遭到了恶意入侵,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行步骤s5;
s5:将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,进行实际响应与预期响应的结果比较与稳定性分析,若系统的实际响应结果与预期响应结果一致且能够稳定运行,则判断系统网络处于安全状态,否则判断系统通讯网络遭到恶意入侵。
优选地,所述步骤s4之前还包括:
s1:根据工业控制系统中物理设备的连接关系、状态集合、控制指令集合,以及系统的业务流程,构建工业控制系统的物理响应模型;
其中,物理响应模型用于对工业控制系统运行情况进行仿真,得到在控制指令作用下的系统中各个终端设备的状态变化和响应结果。
优选地,所述步骤s4之前还包括:
s2:从工业控制系统的通讯网络中采集通讯信息;
s3:对通讯信息进行协议解析、指令提取和指令语义理解。
优选地,所述步骤s3具体包括:
s301:对通讯信息进行协议解析;
s302:对协议解析后的通讯信息进行指令提取获得工业控制系统中的控制指令;
s303:对工业控制系统中的控制指令进行指令语义理解。
优选地,所述步骤s301具体包括:
若判断通讯信息来源的通信网络为有线以太网,则根据ieee802.3协议、csma/cd协议以及tcp/ip协议解析通讯信息;
若判断通讯信息来源的通信网络为wifi、蓝牙以及红外无线通信网络,则进一步判断通讯信息来源,如果通信网络为wifi网络,则根据ieee802.11协议组解析通讯信息;如果通讯网络为蓝牙网络,则根据baseband协议、lmp协议、lcap协议和sdp协议解析通讯信息;如果通讯网络为红外网络,则根据irphy协议、irlap协议和irlmp协议解析通讯信息;
若判断通讯信息来源的通信网络为工业现场总线网络,则根据modbus协议、profibus协议、canbus协议、hart协议解析通讯信息。
优选地,所述步骤s302具体为:
在解析后的通讯信息中,分类、提取出对控制终端设备物理响应状态的控制指令。
优选地,所述步骤s303具体为:
根据工业控制系统的拓扑结构通讯结构,以及各层级区域网络对控制指令的转发关系,对工业控制系统中的控制指令进行语义理解,得到控制指令的具体含义;
其中,所述控制指令的具体含义包括指令所控制的终端设备以及该终端设备所做出的响应结果。
优选地,所述步骤s4具体为:
根据工业控制系统中控制指令的语义分析结果比较控制中心发出的控制指令与终端设备收到的控制指令的一致性,包括控制指令在语义语法的一致性和终端设备响应结果的一致性,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统网络遭到了恶意入侵,控制指令遭到了攻击者的篡改,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行步骤s5。
优选地,所述步骤s5具体包括:
s501:将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,比较实际响应结果与预期响应结果,若实际响应结果与预期响应结果不一致,则可判断系统网络遭到了恶意入侵;若实际响应结果与预期响应结果一致,则执行步骤s502;
s502:根据将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,对工业控制系统进行稳定性分析,如果工业控制系统可以稳定运行,则确定当前系统网络处于安全状态;如果工业控制系统运行情况不稳定,则判断工业控制系统网络遭到了恶意入侵攻击。
优选地,所述步骤s5之后还包括:
s6:将工业控制系统通讯网络遭到了恶意入侵或工业控制系统网络处于安全状态的判断结果发送至控制中心以便于控制中心做出下一步决策。
本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测装置,包括:
控制指令一致性检测模块,用于根据工业控制系统中控制指令的语义分析结果对控制中心发出的控制指令与终端设备收到的控制指令进行一致性检测,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统通讯网络遭到了恶意入侵,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行仿真对比与稳定性分析模块;
仿真对比与稳定性分析模块,用于将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,进行实际响应与预期响应的结果比较与稳定性分析,若系统的实际响应结果与预期响应结果一致且能够稳定运行,则判断系统网络处于安全状态,否则判断系统通讯网络遭到恶意入侵。
优选地,本发明实施例还包括:
物理响应模型构建模块,用于根据工业控制系统中物理设备的连接关系、状态集合、控制指令集合,以及系统的业务流程,构建工业控制系统的物理响应模型;
其中,物理响应模型用于对工业控制系统运行情况进行仿真,得到在控制指令作用下的系统中各个终端设备的状态变化和响应结果。
优选地,本发明实施例还包括:
通讯信息采集模块,用于从工业控制系统的通讯网络中采集通讯信息;
通讯信息处理模块,用于对通讯信息进行协议解析、指令提取和指令语义理解。
优选地,所述通讯信息处理模块具体包括:
协议解析单元,用于对通讯信息进行协议解析;
指令提取单元,用于对协议解析后的通讯信息进行指令提取获得工业控制系统中的控制指令;
语义理解单元,用于对工业控制系统中的控制指令进行指令语义理解。
优选地,所述协议解析单元具体包括:
有线以太网协议解析子单元,用于若判断通讯信息来源的通信网络为有线以太网,则根据ieee802.3协议、csma/cd协议以及tcp/ip协议解析通讯信息;
无线网协议解析子单元,用于若判断通讯信息来源的通信网络为wifi、蓝牙以及红外无线通信网络,则进一步判断通讯信息来源,如果通信网络为wifi网络,则根据ieee802.11协议组解析通讯信息;如果通讯网络为蓝牙网络,则根据baseband协议、lmp协议、lcap协议和sdp协议解析通讯信息;如果通讯网络为红外网络,则根据irphy协议、irlap协议和irlmp协议解析通讯信息;
总线协议解析子单元,用于若判断通讯信息来源的通信网络为工业现场总线网络,则根据modbus协议、profibus协议、canbus协议、hart协议解析通讯信息。
优选地,所述指令提取单元具体用于:
在解析后的通讯信息中,分类、提取出对控制终端设备物理响应状态的控制指令。
优选地,所述语义理解单元具体用于:
根据工业控制系统的拓扑结构通讯结构,以及各层级区域网络对控制指令的转发关系,对工业控制系统中的控制指令进行语义理解,得到控制指令的具体含义;
其中,所述控制指令的具体含义包括指令所控制的终端设备以及该终端设备所做出的响应结果。
优选地,所述控制指令一致性检测模块具体用于:
根据工业控制系统中控制指令的语义分析结果比较控制中心发出的控制指令与终端设备收到的控制指令的一致性,包括控制指令在语义语法的一致性和终端设备响应结果的一致性,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统网络遭到了恶意入侵,控制指令遭到了攻击者的篡改,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行仿真对比与稳定性分析模块。
优选地,所述仿真对比与稳定性分析模块具体包括:
仿真对比单元,用于将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,比较实际响应结果与预期响应结果,若实际响应结果与预期响应结果不一致,则可判断系统网络遭到了恶意入侵;若实际响应结果与预期响应结果一致,则执行稳定性分析单元;
稳定性分析单元,用于根据将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,对工业控制系统进行稳定性分析,如果工业控制系统可以稳定运行,则确定当前系统网络处于安全状态;如果工业控制系统运行情况不稳定,则判断工业控制系统网络遭到了恶意入侵攻击。
优选地,本发明实施例还包括:
结果输出模块,用于将工业控制系统通讯网络遭到了恶意入侵或工业控制系统网络处于安全状态的判断结果发送至控制中心以便于控制中心做出下一步决策。
从以上技术方案可以看出,本发明实施例具有以下优点:
本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法,通过对控制中心发出的控制指令与终端设备收到的控制指令进行一致性检测以及将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,进行实际响应与预期响应的结果比较与稳定性分析,能快速、有效地检测控制指令是否遭到了恶意篡改,感知终端设备的响应状态的正确性,解决了现有的利用数据量测设备来检测工业控制系统网络是否被攻击的方法不能有效地检测出工业控制系统网络的安全性的技术问题。
此外,本发明实施例利用工业控制系统通讯信息中提取的控制指令来分析系统网络的安全性,通过对控制指令的语义分析,确定出控制中心发出控制指令和终端设备收到的控制指令具体含义,优先对控制指令进行一致性检验,可以较为快速的检测控制指令是否遭到了恶意篡改,弥补了数据量测设备无法检测控制指令的局限性;
本发明实施例中构建了可以反映工业控制系统中各个设备连接关系、状态集合以及系统业务流程的物理响应模型,通过该模型可以在控制指令下对终端设备进行物理响应的仿真实验,对响应结果进行实际与预期的比较分析,可以更快速、更准确的感知终端设备的响应状态的正确性;
本发明实施例中在确定终端设备物理响应正常的情况下,进一步对系统稳定性做出分析判断,通过判断结果可以进一步分析控制指令的正确性,从而确定系统中的控制中心是否处于安全的状态。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其它的附图。
图1为本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的一个实施例的流程图;
图2为本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的另一个实施例的流程图;
图3为智能电网中充电桩区域系统结构简图;
图4为ieee-9节点标准测试案例系统结构图;
图5为ieee-9节点系统正常运行下潮流仿真的最大功率误差迭代曲线;
图6为ieee-9节点系统遭受恶意入侵后潮流仿真的最大功率误差迭代曲线;
图7为本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测装置的示意图。
具体实施方式
本发明实施例提供了一种基于指令感知和模型响应分析的工控系统攻击检测方法,用于解决现有的利用数据量测设备来检测工业控制系统网络是否被攻击的方法不能有效地检测出工业控制系统网络的安全性的技术问题。
为使得本发明的发明目的、特征、优点能够更加的明显和易懂,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,下面所描述的实施例仅仅是本发明一部分实施例,而非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
请参阅图1,本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的一个实施例,包括:
101:根据工业控制系统中控制指令的语义分析结果对控制中心发出的控制指令与终端设备收到的控制指令进行一致性检测,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统通讯网络遭到了恶意入侵,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行步骤102;
需要说明的是,工业控制系统中控制指令的语义分析结果是指对工业控制系统中控制指令进行分析,得出包含控制指令、控制指令对应的具体含义(指令所控制的终端设备以及该终端设备所做出的响应结果)的语义分析结果。
102:将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,进行实际响应与预期响应的结果比较与稳定性分析,若系统的实际响应结果与预期响应结果一致且能够稳定运行,则判断系统网络处于安全状态,否则判断系统通讯网络遭到恶意入侵。
需要说明的是,稳定性分析是将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析并检测物理响应模型是否能稳定运行(是否没有出现错误警告)或是终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析并检测物理响应模型是否能稳定运行(是否没有出现错误警告)。能够稳定运行是指预构建的工业控制系统的物理响应模型能够稳定运行。
本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法,通过对控制中心发出的控制指令与终端设备收到的控制指令进行一致性检测以及将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,进行实际响应与预期响应的结果比较与稳定性分析,能快速、有效地检测控制指令是否遭到了恶意篡改,感知终端设备的响应状态的正确性,解决了现有的利用数据量测设备来检测工业控制系统网络是否被攻击的方法不能有效地检测出工业控制系统网络的安全性的技术问题。
以上是对本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的一个实施例进行详细的描述,以下将对本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的另一个实施例进行详细的描述。
请参阅图2,本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的另一个实施例,包括:
s1:根据工业控制系统中物理设备的连接关系、状态集合、控制指令集合,以及系统的业务流程,构建工业控制系统的物理响应模型;
其中,物理响应模型用于对工业控制系统运行情况进行仿真,得到在控制指令作用下的系统中各个终端设备的状态变化和响应结果。
s2:从工业控制系统的通讯网络中采集通讯信息;
s3:对通讯信息进行协议解析、指令提取和指令语义理解。
s4:根据工业控制系统中控制指令的语义分析结果对控制中心发出的控制指令与终端设备收到的控制指令进行一致性检测,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统通讯网络遭到了恶意入侵,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行步骤s5;
s5:将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,进行实际响应与预期响应的结果比较与稳定性分析,若系统的实际响应结果与预期响应结果一致且能够稳定运行,则判断系统网络处于安全状态,否则判断系统通讯网络遭到恶意入侵。
s6:将工业控制系统通讯网络遭到了恶意入侵或工业控制系统网络处于安全状态的判断结果发送至控制中心以便于控制中心做出下一步决策。
步骤s3具体包括:
s301:对通讯信息进行协议解析;
s302:对协议解析后的通讯信息进行指令提取获得工业控制系统中的控制指令;
s303:对工业控制系统中的控制指令进行指令语义理解。
步骤s301具体包括:
若判断通讯信息来源的通信网络为有线以太网,则根据ieee802.3协议、csma/cd协议以及tcp/ip协议解析通讯信息;
若判断通讯信息来源的通信网络为wifi、蓝牙以及红外无线通信网络,则进一步判断通讯信息来源,如果通信网络为wifi网络,则根据ieee802.11协议组解析通讯信息;如果通讯网络为蓝牙网络,则根据baseband协议、lmp协议、lcap协议和sdp协议解析通讯信息;如果通讯网络为红外网络,则根据irphy协议、irlap协议和irlmp协议解析通讯信息;
若判断通讯信息来源的通信网络为工业现场总线网络,则根据modbus协议、profibus协议、canbus协议、hart协议解析通讯信息。
步骤s302具体为:
在解析后的通讯信息中,分类、提取出对控制终端设备物理响应状态的控制指令。
步骤s303具体为:
根据工业控制系统的拓扑结构通讯结构,以及各层级区域网络对控制指令的转发关系,对工业控制系统中的控制指令进行语义理解,得到控制指令的具体含义;
其中,所述控制指令的具体含义包括指令所控制的终端设备以及该终端设备所做出的响应结果。
步骤s4具体为:
根据工业控制系统中控制指令的语义分析结果比较控制中心发出的控制指令与终端设备收到的控制指令的一致性,包括控制指令在语义语法的一致性和终端设备响应结果的一致性,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统网络遭到了恶意入侵,控制指令遭到了攻击者的篡改,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行步骤s5。
步骤s5具体包括:
s501:将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,比较实际响应结果与预期响应结果,若实际响应结果与预期响应结果不一致,则可判断系统网络遭到了恶意入侵;若实际响应结果与预期响应结果一致,则执行步骤s502;
s502:根据将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,对工业控制系统进行稳定性分析,如果工业控制系统可以稳定运行,则确定当前系统网络处于安全状态;如果工业控制系统运行情况不稳定,则判断工业控制系统网络遭到了恶意入侵攻击。
以上是对本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的另一个实施例进行详细的描述,以下将对本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的第一个应用例进行详细的描述。
本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的第一个应用例的攻击情景为智能电网中的通讯网络遭到恶意入侵,控制指令在传输过程中被恶意篡改,终端设备对被篡改的指令进行物理响应,造成系统功能的异常,通过以下案例具体分析。
图3所示为智能电网中充电桩区域系统的通讯结构简图,系统主要由控制中心、串口服务器、智能电表、继电器以及充电桩构成,控制中心到串口服务器的通讯网络为有线以太网,串口服务器以下的通讯网络为rs485总线。
当控制中心发出对1号充电桩开启的控制指令后,经由串口服务器转换,将控制指令下达至智能电表,使1号充电桩支路上的继电器闭合。攻击者可以通过嵌入式设备侵入充电桩区域系统的通信网络,截获控制中心发出的控制指令并对控制指令进行篡改,将控制指令改为关闭1号充电桩后再发送给串口服务器,智能电表收到串口服务器转发的控制指令后,断开了1号充电桩所在支路的继电器,造成1号充电桩的关闭。
针对此类攻击情况具体说明本发明中的一种基于指令感知和模型响应分析的工控系统攻击检测方法:
步骤s1:根据充电桩系统的系统结构框架,构建物理响应仿真模型,结合图3,具体包括以下步骤:
步骤s101:根据智能电表的型号,构建智能电表的控制指令集
步骤s102:生成在控制指令作用下继电器状态的转移关系
步骤s103:利用以上构建的控制指令集、状态集和状态转移关系,进行统一关联构成系统的物理响应仿真模型。
步骤s2:利用流量采集设备在控制中心到串口服务器的以太网中采集流量数据包,并利用模拟量量测设备从串口服务器以下的各条rs485线路上采集差分电压信号。
步骤s3:对采集到的通讯信息做以下处理:
步骤s301:对于以太网数据流量包,根据ieee802.3协议组以及tcp/ip协议解析,对于rs485现场总线的电压信号,根据modbus协议解析;
步骤s302:在解析过的通讯信息中对所有控制指令加以分类,提取出智能电表对1号充电桩所在支路继电器的控制指令;
步骤s303:在上述步骤得到控制指令后,将控制指令与智能电表控制指令集φ中的指令进行比对,并利用状态转移关系
步骤s4:将控制中心发出的控制指令与1号充电桩所在线路继电器收到的控制指令进行比较,包括指令内容的语义比较与指令作用后继电器的状态结果比较,由于控制中心发出的控制指令是开启1号充电桩,而继电器收到了断开的控制指令即关闭了1号充电桩,因此控制指令的比较结果为不一致,判断系统通讯网络遭到了恶意入侵,通过以上攻击检测方法确定当前充电桩系统遭到了恶意入侵,智能电表控制充电桩所在支路继电器通断的控制指令遭到了篡改,进而影响了充电桩开启与关闭的状态。
由以上叙述可得,利用本发明提出的攻击检测方法,可以在系统网络中较为快速地判断出终端设备作出的错误响应,确定系统控制指令遭受的恶意攻击。
以下将对本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的第二个应用例进行详细的描述。
本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测方法的第二个应用例的攻击情景为智能电网中的控制中心遭到恶意入侵,向电网发送错误指令,终端设备对该指令进行响应后会造成系统功能的异常,通过以下案例具体分析。
图4为ieee-9节点标准电力系统测试案例的系统结构图,系统包含9个节点,其中节点1、2、3是发电节点,节点5、7、9是负荷节点,节点之间共有9条支路,其中节点1与节点4之间、节点2与节点8之间、节点3与节点6之间通过变压器连接。
控制中心可以控制系统内各条支路的通断,以及各个发电机的工作情况,正常运行下系统内各个发电机都处于开启状态,当攻击者侵入到控制中心后就可以发布对发电机的虚假控制指令,例如攻击者发送控制指令让节点2上的发电机关闭,当发电机收到指令后便会对其进行响应,这样可能会造成系统运行状态的破坏。
针对此类攻击情况具体说明本发明中的一种基于控制指令感知与模型响应分析的攻击检测方法:
步骤s1:在matpower环境下,根据电力系统的连接结构、电气参数以及各个发电机开关状态,构建电力系统物理响应模型,通过该模型可以对电力系统进行潮流分析,结合图4,具体包括如下步骤:
步骤s101:设置整个系统的基准容量basemva的值为100mva,根据节点功率参数与电压参数初始生成如下bus矩阵:
bus矩阵中第一列为no参数,第二列为type参数,第三列为pd参数,第四列为od参数,第五列为gs参数,第六列为bs参数,第七列为area参数,第八列为vm参数,第九列为va参数,第十列为basekv参数,第十一列为zone参数,第十二列为vmax参数,第十三列为vmin参数。
bus矩阵中type表示节点所属类型,其中1为pq节点、2为pv节点、3为平衡节点;pd、qd表示节点对负载注入的有功功率和无功功率;gs、bs表示节点并联的电导值和电纳值,在本系统中其值均设为0;vm、va、vmax、vmin分别表示节点电压的幅值初值、相位初值、最高幅值与最低幅值,其中电压幅值都是基准容量下的标幺值,为了系统模型的简化,各个节点的相位初值统一设为0,最高幅值与最低幅值统一设为1.1和0.9;basekv表示节点基准电压,与系统基准容量保持一致;area和zone用来设置电网断面号和分区号,一般设置为1;
步骤s102:根据节点之间的线路连接关系以及各支路上的阻抗、导纳参数,确定如下branch矩阵:
branch矩阵中第一列为fb参数,第二列为tb参数,第三列为r参数,第四列为x参数,第五列为b参数,第六列为ra参数,第七列为rb参数,第八列为rc参数,第九列为ratio参数,第十列为ang参数,第十一列为s参数,第十二列为angmin参数,第十三列为angmax参数。
branch矩阵中fb、tb表示支路所连接的节点编号;r、x、b列分别表示该支路上的电阻、电抗和电纳值;ra、rb、rc分别表示该支路长期、短期和紧急时刻所允许的功率,为了简化系统模型,这三列的值统一设为250;ratio表示支路电压变比,如果该支路是导线,其值为0,如果支路存在变压器,其值为变压器两侧基准电压比;s表示该支路的闭合状态,其中1为支路闭合,0为支路断开;ang、angmin、angmax分别表示支路相位角度以及最大和最小的角度差值;
步骤s103:根据发电机的功率参数和电气参数,确定如下generator矩阵(gen矩阵):
gen矩阵中第一列为bus参数,第二列为pg参数,第三列为qg参数,第四列为qmax参数,第五列为qmin参数,第六列为vg参数,第七列为mbase参数,第八列为s参数,第九列为pmax参数,第十列为pmin参数。
gen矩阵中pg、pmax、pmin分别表示发电机的有功功率和最大与最小的允许值;qg、qmax、qmin分别表示发电机的无功功率和最大与最小允许值;vg表示发电机的工作电压,其值是基础容量下的标幺值;mbase表示发电机的功率基准,与基准容量保持一致;s表示发电机的工作状态,其中1为发电机运行,0为发电机关闭;
步骤s104:在初始化以上三个矩阵之后,便构建了ieee-9节点电力系统案例在matpower环境下的电力系统仿真模型,进而可以对该模型进行潮流分析的计算。
步骤s2:采集电力系统通讯网络中的通讯信息。
步骤s3:根据一定的协议解析通讯信息,并从中分类提取出控制中心对节点2的发电机的控制指令。
步骤s4:将控制中心发出的控制指令与节点2发电机收到的控制指令进行比较,包括指令内容的语义比较与指令作用后发电机的状态结果比较,通过比较得到指令的响应结果都是节点2上发电机的关闭,满足指令一致性检测。
步骤s5:对控制指令进行系统物理响应模型的仿真分析,进一步包括:
步骤s501:由于控制中心发出的控制指令与节点2上发电机收到的控制指令都是令节点2处发电机关闭,因此系统仿真的实际响应结果符合预期响应结果,需进一步判断系统稳定性,转为步骤s502;
步骤s502:对在matpower环境下构建的系统物理响应模型进行潮流分析,潮流分析主要采用牛顿迭代法进行计算,主要计算流程如下:
根据电力系统中各支路的参数,计算生成该系统的节点导纳矩阵:
在节点导纳矩阵中,yii表示第i个节点的自导纳,yij(i≠j)表示第i个与第j个节点之间的互导纳,对于导纳矩阵中的每一个元素都可以表示成yij=gij+jbij(i,j=1,2,…,9)的形式,另外对于节点上发电机发出的功率用sgi=pgi+jqgi表示,节点上负载吸收的功率用sli=pli+jqli表示;
由于该系统由6个pq节点、2个pv节点以及1个平衡节点构成,因此在上述表示形式的基础上,该电力系统的节点功率方程组为:
进一步通过牛顿法来求解上述电力系统的功率方程组,并根据其迭代原理确定出每一次迭代的过程中的雅各比矩阵以及功率修正方程:
通过以上功率修正方程就可以确定出每一次迭代过程中每一个节点的最大功率误差,对于稳定系统而言,最大功率误差稳定收敛到0的迭代次数一般不超过10次,因此设置仿真的最大迭代次数为10,并默认最大功率误差的上限值,当最大功率误差小于设定的上限值时或者迭代次数大于设定的上限值时便结束迭代的计算过程,最后根据仿真的最大功率误差是否收敛于0来判断系统潮流分析的稳定程度。
作为对比,图5是系统初始运行状态下,潮流迭代计算得到的最大功率误差的变化曲线,由图可以看出在经历了4次迭代之后最大功率误差就已经平稳收敛于0了,说明系统在初始运行状态下是稳定的;图6是控制中心发布对节点2发电机的关闭控制指令之后,潮流迭代计算得到的最大功率误差变化曲线,如图所示在多次迭代过程中系统的最大功率误差始终处于震荡情况,并不能稳定收敛,说明此时系统并不能稳定运行。
在潮流分析之后,还可以利用matpower进行发电机功角稳定性的暂态分析,可以得到在关闭了节点2处发电机之后系统处于不稳定状态,因此根据系统稳定性分析,即使实际响应符合预期响应,但是响应结果导致了系统的不稳定状态,因此判断系统网络遭到了恶意入侵。
由以上叙述可得,利用本发明提出攻击检测方法,可以利用系统模型的稳定分析判断控制中心下发的控制指令的正确性,从而进一步更加准确的判断系统网络的安全性。
以下将对本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测装置进行详细的描述。
请参阅图7,本发明实施例提供的一种基于指令感知和模型响应分析的工控系统攻击检测装置,包括:
控制指令一致性检测模块4,用于根据工业控制系统中控制指令的语义分析结果对控制中心发出的控制指令与终端设备收到的控制指令进行一致性检测,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统通讯网络遭到了恶意入侵,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行仿真对比与稳定性分析模块;
仿真对比与稳定性分析模块5,用于将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,进行实际响应与预期响应的结果比较与稳定性分析,若系统的实际响应结果与预期响应结果一致且能够稳定运行,则判断系统网络处于安全状态,否则判断系统通讯网络遭到恶意入侵。
本发明实施例还包括:
物理响应模型构建模块1,用于根据工业控制系统中物理设备的连接关系、状态集合、控制指令集合,以及系统的业务流程,构建工业控制系统的物理响应模型;
其中,物理响应模型用于对工业控制系统运行情况进行仿真,得到在控制指令作用下的系统中各个终端设备的状态变化和响应结果。
本发明实施例还包括:
通讯信息采集模块2,用于从工业控制系统的通讯网络中采集通讯信息;
通讯信息处理模块3,用于对通讯信息进行协议解析、指令提取和指令语义理解。
通讯信息处理模块3具体包括:
协议解析单元301,用于对通讯信息进行协议解析;
指令提取单元302,用于对协议解析后的通讯信息进行指令提取获得工业控制系统中的控制指令;
语义理解单元303,用于对工业控制系统中的控制指令进行指令语义理解。
协议解析单元301具体包括:
有线以太网协议解析子单元,用于若判断通讯信息来源的通信网络为有线以太网,则根据ieee802.3协议、csma/cd协议以及tcp/ip协议解析通讯信息;
无线网协议解析子单元,用于若判断通讯信息来源的通信网络为wifi、蓝牙以及红外无线通信网络,则进一步判断通讯信息来源,如果通信网络为wifi网络,则根据ieee802.11协议组解析通讯信息;如果通讯网络为蓝牙网络,则根据baseband协议、lmp协议、lcap协议和sdp协议解析通讯信息;如果通讯网络为红外网络,则根据irphy协议、irlap协议和irlmp协议解析通讯信息;
总线协议解析子单元,用于若判断通讯信息来源的通信网络为工业现场总线网络,则根据modbus协议、profibus协议、canbus协议、hart协议解析通讯信息。
指令提取单元302具体用于:
在解析后的通讯信息中,分类、提取出对控制终端设备物理响应状态的控制指令。
语义理解单元303具体用于:
根据工业控制系统的拓扑结构通讯结构,以及各层级区域网络对控制指令的转发关系,对工业控制系统中的控制指令进行语义理解,得到控制指令的具体含义;
其中,控制指令的具体含义包括指令所控制的终端设备以及该终端设备所做出的响应结果。
控制指令一致性检测模块4具体用于:
根据工业控制系统中控制指令的语义分析结果比较控制中心发出的控制指令与终端设备收到的控制指令的一致性,包括控制指令在语义语法的一致性和终端设备响应结果的一致性,若控制中心发出的控制指令与终端设备收到的控制指令不一致,则判断系统网络遭到了恶意入侵,控制指令遭到了攻击者的篡改,若控制中心发出的控制指令与终端设备收到的控制指令一致,则执行仿真对比与稳定性分析模块5。
仿真对比与稳定性分析模块5具体包括:
仿真对比单元501,用于将控制中心发出的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得预期响应结果,将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,比较实际响应结果与预期响应结果,若实际响应结果与预期响应结果不一致,则可判断系统网络遭到了恶意入侵;若实际响应结果与预期响应结果一致,则执行稳定性分析单元502;
稳定性分析单元502,用于根据将终端设备收到的控制指令输入预构建的工业控制系统的物理响应模型进行仿真分析获得实际响应结果,对工业控制系统进行稳定性分析,如果工业控制系统可以稳定运行,则确定当前系统网络处于安全状态;如果工业控制系统运行情况不稳定,则判断工业控制系统网络遭到了恶意入侵攻击。
本发明实施例还包括:
结果输出模块6,用于将工业控制系统通讯网络遭到了恶意入侵或工业控制系统网络处于安全状态的判断结果发送至控制中心以便于控制中心做出下一步决策。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
以上所述,以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。