CN112688946A - 异常检测特征的构造方法、模块、存储介质、设备及系统 - Google Patents
异常检测特征的构造方法、模块、存储介质、设备及系统 Download PDFInfo
- Publication number
- CN112688946A CN112688946A CN202011553673.1A CN202011553673A CN112688946A CN 112688946 A CN112688946 A CN 112688946A CN 202011553673 A CN202011553673 A CN 202011553673A CN 112688946 A CN112688946 A CN 112688946A
- Authority
- CN
- China
- Prior art keywords
- detection
- gram
- fun
- time
- feature
- 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
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明公开了一种异常检测特征的构造方法、模块、存储介质、设备及系统,包括如下步骤:S1,提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;S2,在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n‑gram通信行为特征构造,n为大于2的正实数,将构造的n‑gram通信行为特征结合检测算法模型构造和调整异常检测特征等;本发明适用不同工控场景通信行为的表征,解决了现实场景中无法获取、或只能获取极少量异常通信样本的困境,能够检测复杂中间人攻击,增强了检测效果,提高了检测精度等。
Description
技术领域
本发明涉及工业网络安全领域,更为具体的,涉及异常检测特征的构造方法、模块、存储介质、设备及系统。
背景技术
在工业控制系统(ICS)中,包含漏洞最多的为人机界面、电子设备和SCADA系统。由于SCADA系统缺乏安全性以及与Internet的连接不断增加,因此它们容易受到内部和外部网络攻击的影响。
相对于IT网络中的数据,SCADA系统中的控制流程具有规律性,这种规律性同样反映在底层网络数据中,因此,工业控制系统网络数据具有状态有限和行为有限的特点。主要的检测方法可以分为误用检测和异常检测。
误用检测就是根据ICS的正常业务逻辑以及通信规则白名单,为Modbus/TCP协议建立一些正常行为规则,以防护工业控制网络数据的特定攻击行为;这种方式识别准确度较高,但需要专家知识的配合,且对新型的攻击方式无能为力。
异常检测通过建立系统正常运行的模型,以识别系统运行异常行为。因此,提取工业网络数据的特征并进行目标匹配是工控网络异常检测的常用手段;但是怎样进行合理的特征提取和匹配是一个难题。其二,由于工控网络特殊性,针对某些生产网络的异常检测算法则存在扩展性弱、检测率低的问题。而且不同的工业环境复杂程度不同,无法有效防范防御中间人或内部人攻击。因此对于工控环境和协议类型制定基于工控环境的异常检测技术,无法直接套用。其三,工业控制网络属于高吞吐和高实时性网络,在网络高吞吐量情况下,语义条件复杂,难以建模。
例如,Modbus协议是典型的工控网协议,研究其安全性对于加强工业控制网络的安全性有重要意义。传统的Modbus异常检测模型通常通过构造功能码的n-gram时序序列,及当前会话流的持续时间、时间间隔等统计特征进行控制行为特征表示,不能应对复杂中间人攻击(比如重放攻击、不变更功能码的复杂响应注入攻击)的检测。
发明内容
本发明的目的在于克服现有技术的不足,提供异常检测特征的构造方法、模块、存储介质、设备及系统,适用于不同工控场景通信行为的表征,解决了现实场景中无法获取、或只能获取极少量异常通信样本的困境,能够检测复杂中间人攻击,增强检测效果,检测精度高等。
本发明的目的是通过以下方案实现的:
一种异常检测特征的构造方法,包括如下步骤:
S1,提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
S2,在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,将构造的n-gram通信行为特征结合检测算法模型构造和调整异常检测特征。
进一步地,在步骤S2中,在提取当前数据流时间t0的前n条流量数据后,对功能码、应答包长度和时间间隔进行n-gram通信行为特征构造。
进一步地,包括步骤:
S3,选择检测算法,根据所选择的检测算法,结合构造的n-gram通信行为特征构造异常检测特征。
进一步地,所述n-gram通信行为特征构造的适用协议包括Modbus协议、S7协议、IEC104协议、OPC UA协议中的任一种;所述异常检测特征构造包括Modbus协议下的异常检测特征构造、S7协议下的异常检测特征构造、IEC104协议下的异常检测特征构造、OPC UA协议下的异常检测特征构造中的任一种。
进一步地,步骤S2包括如下子步骤:
S21,提取当前数据流时间t0的n-gram功能码序列,即表示为
[fun-(n-1),fun-(n-2),...,fun0];
S22,提取当前数据流时间t0的n-gram包长序列,即表示为
[len-(n-1),len-(n-2),...,len0];
S23,提取当前数据流时间t0的n-gram时间序列[t-(n-1),t-(n-2),...,t0],并通过公式Δt-(i-1)=t-(i-1)-t-i,构造时间间隔序列[Δt-(n-2),...,Δt0],其中i∈[1,n-1];
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
进一步地,当选择的检测算法模型为单分类模型时,构造异常检测特征为
[n-gram功能码序列,n-gram包长序列,(n-1)-gram时间间隔序列],即表示为:
[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0];
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
所述单分类模型包括单类支持向量机OCSVM和孤立森林iForest中的任一种。
进一步地,当选择的检测算法模型为多分类模型时,构造标签Y1为当前应答事件的功能码fun0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun-1,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0]作为输入特征进行训练,在应用中,对比预测的应答功能码fun及实际fun0,若不相同,则存在异常通信;
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,其中i∈[1,n-1];len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
进一步地,当选择的检测算法模型为回归预测模型时,构造标签Y2为当前应答事件的时间间隔Δt0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt-1]作为输入特征进行训练,并设置时间间隔阈值;在应用中,对比预测的时间间隔Δt及实际Δt0,如果超过所设定时间间隔阈值,则表示存在异常通信;
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[2,n-1]。
进一步地,包括使用步骤;在使用步骤中,所述异常检测特征的构造方法、模块、存储介质、设备及系统能够用于工业控制系统中的SCADA监控系统层进行网络攻击检测,判断是否有异常网络通信行为;或用于部署在交换机旁路的探针,判断是否有异常网络通信行为;或用于部署在交换机旁路的态势感知平台,判断是否有异常网络通信行为。
进一步地,当用在交换机旁路的探针或态势感知平台时,包括如下子步骤:采集交换机镜像口的网络连接数据,进行实时解析、清洗、原始特征提取并存储到分布式数据库中,给定滑动时间窗口,将滑动时间窗口流量数据通过构造n-gram通信行为特征后结合检测算法,能够实时判断该窗口内是否有异常网络通信行为。
进一步地,在步骤S2中,构造n-gram起始寄存器地址序列特征、CRC校验码特征,并将构造的n-gram起始寄存器地址序列特征、CRC校验码特征与n-gram通信行为特征结合,均用于异常检测特征构造。
一种基于时间序列的异常检测特征构造模块,包括如下模块:
特征提取预处理模块,用于提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
异常检测特征构造模块,用于在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,将构造的n-gram通信行为特征结合检测算法模型构造异常检测特征;
检测算法模型模块,用于选择检测算法模型,并根据选择的检测算法模型,结合构造的n-gram通信行为特征来构造和调整异常检测特征。
一种可读存储介质,包括程序和可读存储介质硬件本身;当程序运行于可读存储介质硬件本身上时,实现如下模块架构:
特征提取预处理模块,用于提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
异常检测特征构造模块,用于在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,将构造的n-gram通信行为特征结合检测算法模型构造异常检测特征;
检测算法模型模块,用于选择检测算法模型,并根据选择的检测算法模型,结合构造的n-gram通信行为特征来构造和调整异常检测特征。
一种异常通信行为检测设备,包括所述基于时间序列的异常检测特征构造模块和/或所述可读存储介质。
一种基于时间序列的异常检测特征构造的SCADA监控系统,包括所述异常通信行为检测设备,并将所述异常通信行为检测设备用于检测SCADA监控系统层的业务数据是否存在异常通信行为。
本发明的有益效果是:
本发明实施例公开了一种异常检测特征的构造方法、模块、存储介质、设备及系统,包括Modbus协议下的异常检测特征,基于本发明特征构造方法的算法,既可以直接用于ICS中的SCADA系统的监控中心进行网络攻击检测;可以用于部署在核心交换机旁路的探针或态势感知平台;可以自适应用于不同SCADA系统;适用于网络高吞吐量及语义条件复杂情况;不仅适用于Modbus协议,同样适用于S7协议、IEC104协议、OPC UA协议等;
本发明实施例给出了一种基于时间序列的Modbus特征构造方法,其摆脱了对工控专家知识的依赖,特征构造方法适用于不同工控场景通信行为的表征;
本发明的特征构造方法学习了工控正常通信行为的时序模式,实施例中可以由OneClassSVM、IsolatedForest等异常检测算法通过正常数据样本快速建立单分类通信模型,摆脱了监督学习环境中对异常样本的依赖,解决了现实场景中无法获取、或只能获取极少量异常通信样本的困境;
本发明改进了传统只对Modbus功能码提取n-gram信息,不能有效检测复杂中间人攻击(比如重放攻击、不变更功能码的复杂响应注入攻击)的局限性,对时间间隔、长度、功能码分别提取他们的n-gram时序特征,有效表现常见Modbus攻击的异常通信行为,进而支撑依赖检测算法实现对功能码序列不敏感的攻击检测;
在本发明提实施例提出的提取Modbusn-gram功能码、时间间隔、应答包长度的特征可以有效检测常见的工控攻击。在此基础上,根据深度协议模块的实际解析字段,在不影响检测模块性能时可以同时增加构造n-gram起始寄存器地址序列、CRC校验码等有效字段,以进一步增强检测效果;
除了将本发明实施例提出的特征构造方法及检测算法应用在控制过程层中,也可以将本发明提出的特征构造方法应用在SCADA监控系统层,此时提取的n-gram特征可以拓展到业务数据,比如流量、温度、液位等;
本发明实施例方法的误报率较参照方法显著降低,可见本发明所提出的基于时间序列的Modbus异常检测特征构造方法非常有效。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的工作流程图;
图2为本发明实施例的滑动时间窗口内的数据流处理示意图;
图3为本发明实施例的部署方案框图;
图4为本发明实施例的攻击拓扑图;
图5为本发明的方法步骤流程图。
具体实施方式
本说明书中所有实施例公开的所有特征,或隐含公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合和/或扩展、替换。
如图1~5所示,一种异常检测特征的构造方法,包括如下步骤:
S1,提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
S2,在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,将构造的n-gram通信行为特征结合检测算法模型构造和调整异常检测特征。
进一步地,在步骤S2中,在提取当前数据流时间t0的前n条流量数据后,对功能码、应答包长度和时间间隔进行n-gram通信行为特征构造。
进一步地,包括步骤:
S3,选择检测算法,根据所选择的检测算法,结合构造的n-gram通信行为特征构造异常检测特征。
进一步地,所述n-gram通信行为特征构造的适用协议包括Modbus协议、S7协议、IEC104协议、OPC UA协议中的任一种;所述异常检测特征构造包括Modbus协议下的异常检测特征构造、S7协议下的异常检测特征构造、IEC104协议下的异常检测特征构造、OPC UA协议下的异常检测特征构造中的任一种。
进一步地,步骤S2包括如下子步骤:
S21,提取当前数据流时间t0的n-gram功能码序列,即表示为
[fun-(n-1),fun-(n-2),...,funo];
S22,提取当前数据流时间t0的n-gram包长序列,即表示为
[len-(n-1),len-(n-2),...,len0];
S23,提取当前数据流时间t0的n-gram时间序列[t-(n-1),t-(n-2),...,t0],并通过公式Δt-(i-1)=t-(i-1)-t-i,构造时间间隔序列[Δt-(n-2),...,Δt0],其中i∈[1,n-1];
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
进一步地,当选择的检测算法模型为单分类模型时,构造异常检测特征为
[n-gram功能码序列,n-gram包长序列,(n-1)-gram时间间隔序列],即表示为:
[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0];
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
所述单分类模型包括单类支持向量机OCSVM和孤立森林iForest中的任一种。
进一步地,当选择的检测算法模型为多分类模型时,构造标签Y1为当前应答事件的功能码fun0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun-1,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0]作为输入特征进行训练,在应用中,对比预测的应答功能码fun及实际fun0,若不相同,则存在异常通信;
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,其中i∈[1,n-1];len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
进一步地,当选择的检测算法模型为回归预测模型时,构造标签Y2为当前应答事件的时间间隔Δt0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt-1]作为输入特征进行训练,并设置时间间隔阈值;在应用中,对比预测的时间间隔Δt及实际Δt0,如果超过所设定时间间隔阈值,则表示存在异常通信;
其中,当前数据流及其所处时间t0的前n-1条数据流表示为
[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[2,n-1]。
进一步地,包括使用步骤;在使用步骤中,所述异常检测特征的构造方法、模块、存储介质、设备及系统能够用于工业控制系统中的SCADA监控系统层进行网络攻击检测,判断是否有异常网络通信行为;或用于部署在交换机旁路的探针,判断是否有异常网络通信行为;或用于部署在交换机旁路的态势感知平台,判断是否有异常网络通信行为。
进一步地,当用在交换机旁路的探针或态势感知平台时,包括如下子步骤:采集交换机镜像口的网络连接数据,进行实时解析、清洗、原始特征提取并存储到分布式数据库中,给定滑动时间窗口,将滑动时间窗口流量数据通过构造n-gram通信行为特征后结合检测算法,能够实时判断该窗口内是否有异常网络通信行为。
进一步地,在步骤S2中,构造n-gram起始寄存器地址序列特征、CRC校验码特征,并将构造的n-gram起始寄存器地址序列特征、CRC校验码特征与n-gram通信行为特征结合,均用于异常检测特征构造。
一种基于时间序列的异常检测特征构造模块,包括如下模块:
特征提取预处理模块,用于提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
异常检测特征构造模块,用于在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,例如n≥6,将构造的n-gram通信行为特征结合检测算法模型构造异常检测特征;
检测算法模型模块,用于选择检测算法模型,并根据选择的检测算法模型,结合构造的n-gram通信行为特征来构造和调整异常检测特征。
一种可读存储介质,包括程序和可读存储介质硬件本身;当程序运行于可读存储介质硬件本身上时,实现如下模块架构:
特征提取预处理模块,用于提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
异常检测特征构造模块,用于在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,例如n≥6,将构造的n-gram通信行为特征结合检测算法模型构造异常检测特征;
检测算法模型模块,用于选择检测算法模型,并根据选择的检测算法模型,结合构造的n-gram通信行为特征来构造和调整异常检测特征。
一种异常通信行为检测设备,包括所述基于时间序列的异常检测特征构造模块和/或所述可读存储介质。
一种基于时间序列的异常检测特征构造的SCADA监控系统,包括所述异常通信行为检测设备,并将所述异常通信行为检测设备用于检测SCADA监控系统层的业务数据是否存在异常通信行为。
在本发明的其他实施例中,例如在异常检测特征的构造方法中,选择下位机/从机作为源地址的应答数据包进行特征提取的主要原因有:
1、上位机、下位机的角色不同,上位机通过指定寄存器起始地址(ReferenceNumber)和读取数据的长度位数(WordCount)来发包给下位机,下位机再根据此命令解释成相应时序信号直接控制相应设备,并按系统设定时间读取设备状态数据,转换成数字信号反馈给上位机(上位机要求数量的Registers的值)。因此一个SCADA系统中上位机发包长度非常有限,而下位机却因为应答的需求长度较为丰富,且有规律,比上位机更利于建模分析;
2、根据常见的承载于工控协议上的攻击类型(拒绝服务攻击、侦察攻击、命令注入攻击、响应注入攻击)中,攻击者经常以欺骗的方式进行响应注入攻击,即对下位机下达攻击指令后,再篡改下位机的应答包,以达到欺骗SCADA监控系统的目的;此时通过上位机的发包数据进行分析将无法检测异常。
本领域人员应当知晓,采用下位机/从机作为源地址的应答数据包用于异常检测特征构造,需要付出创造性劳动,以及后续预处理等,例如,在本发明实施例异常检测特征的构造方法中,还可包括以下步骤:实时数据存储、深度解析、原始特征提取、时间序列特征构造构成,并服务于检测模型,见图1。其中,其中,实时数据存储、深度解析可以采用现有技术实现。在本发明实施例中的特征提取预处理的工作流程如下:提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;本发明实施例的时间序列特征构造的工作流程包括:通过Spark Streaming提取深度解析后的滑动窗口流量数据,并在每个时间窗口内把将下位机/从机(slave)作为源地址的流量进行聚合,例如筛选条件可以是源端口为502的Modbus流量,见图2;在当前时间滑窗内,对每一个作为源地址的下位机,提取当前数据流(package)时间t0的前n条流量数据(这里n≥6,参考取值n=7),进行n-gram通信行为特征构造,具体为:
提取当前数据流时间t0的n-gram功能码序列,即表示为
[fun-(n-1),fun-(n-2),...,fun0];
提取当前数据流时间t0的n-gram包长序列,即表示为
[len-(n-1),len-(n-2),...,len0];
提取当前数据流时间t0的n-gram时间序列[t-(n-1),t-(n-2),...,t0],并通过公式Δt-(i-1)=t-(i-1)-t-i,构造时间间隔序列[Δt-(n-2),...,Δt0],其中i∈[1,n-1];
根据选择的检测算法,进行检测特征构造及微调。
当所选择检测算法为单分类模型时,可参考构造检测特征[n-gram功能码序列,n-gram包长序列,n-gram时间间隔序列],具体为[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0];单分类模型可参考OCSVM和IForest,单分类模型可参考单类支持向量机(OCSVM)和孤立森林(iForest);
当所选择检测算法为多分类模型时,可参考构造标签Y1为当前应答事件的功能码fun0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun-1,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0]作为输入特征进行训练,在应用中,对比预测的应答功能码fun及实际fun0,若不相同,则存在命令注入攻击等异常通信;
当所选择模型为回归预测模型时,可参考构造标签Y2为当前应答事件的时间间隔Δt0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt-1]作为输入特征进行训练,并设置时间间隔阈值,在应用中,对比预测的时间间隔Δt及实际Δt0,如果超过所设定时间间隔阈值,则表示存在拒绝服务攻击(DoS)、侦察攻击、响应注入攻击等异常通信。
本发明实施例提出的提取Modbusn-gram功能码、时间间隔、应答包长度的特征可以有效检测常见的工控攻击。在此基础上,根据深度协议模块的实际解析字段,在不影响检测模块性能时可以同时增加构造n-gram起始寄存器地址序列、CRC校验码等有效字段,以进一步增强检测效果。
除了将本发明实施例提出的特征构造方法及检测算法应用在控制过程层中,也可以将本发明提出的特征构造方法应用在SCADA监控系统层,此时提取的n-gram特征可以拓展到业务数据,比如流量、温度、液位等,部署图见图3。
在本发明实施例提出的一种基于时间序列的异常检测特征构造模块,也可以有以下模块:实时数据存储模块、深度解析模块、特征提取预处理模块、异常检测特征构造模块构成,并服务于检测模型模块。其中,实时数据存储模块、深度解析模块可以采用现有技术实现。在本发明实施例中的特征提取预处理模块的工作流程如下:提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;本发明实施例中的异常检测特征构造模块的工作流程如下:用于在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,实施例中,n≥6,将构造的n-gram通信行为特征结合检测算法模型构造异常检测特征等。
为验证本发明有效性,通过仿真平台模拟了常见Modbus 5种攻击,并形成标准数据集,其攻击拓扑图设计见图4。本发明提取6-gram功能码、6-gram长度、5-gram时间间隔的特征构造方法及单分类OCSVM(本发明方法)的检测效果和只提取6-gram功能码、长度、时间间隔的OCSVM单独检测(参照方法)的效果对比见表1,其中OCSVM的异常比例均设置为0.001,训练样本数量为50万条,测试样本是数量40万条。
表1本发明方法与传统检验方法对比
通过对比,除在对CoilRegisterReconnaissance攻击的检测效果上有微弱下降外,在其他4种攻击检测效果上均有大幅度提升,此外,对正常样本,本发明方法的误报率为0.49%,参照方法的误报率为27.09%。可见本发明所提出的异常检测特征的构造方法、模块、存储介质、设备及系统的有效性和高精度性。
Claims (15)
1.一种异常检测特征的构造方法,其特征在于,包括如下步骤:
S1,提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
S2,在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,将构造的n-gram通信行为特征结合检测算法模型构造和调整异常检测特征。
2.根据权利要求1所述的异常检测特征的构造方法,其特征在于,在步骤S2中,在提取当前数据流时间t0的前n条流量数据后,对功能码、应答包长度和时间间隔进行n-gram通信行为特征构造。
3.根据权利要求1或2所述的一种异常检测特征的构造方法,其特征在于,包括步骤:
S3,选择检测算法,根据所选择的检测算法,结合构造的n-gram通信行为特征构造异常检测特征。
4.根据权利要求3所述的异常检测特征的构造方法,其特征在于,所述n-gram通信行为特征构造的适用协议包括Modbus协议、S7协议、IEC104协议、OPC UA协议中的任一种;所述异常检测特征构造包括Modbus协议下的异常检测特征构造、S7协议下的异常检测特征构造、IEC104协议下的异常检测特征构造、OPC UA协议下的异常检测特征构造中的任一种。
5.根据权利要求2所述的异常检测特征的构造方法,其特征在于,步骤S2包括如下子步骤:
S21,提取当前数据流时间t0的n-gram功能码序列,即表示为[fun-(n-1),fun-(n-2),...,fun0];
S22,提取当前数据流时间t0的n-gram包长序列,即表示为[len-(n-1),len-(n-2),...,len0];
S23,提取当前数据流时间t0的n-gram时间序列[t-(n-1),t-(n-2),...,t0],并通过公式Δt-(i-1)=t-(i-1)-t-i,构造时间间隔序列[Δt-(n-2),...,Δt0],其中i∈[1,n-1];
其中,当前数据流及其所处时间t0的前n-1条数据流表示为[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
6.根据权利要求3所述的异常检测特征的构造方法,其特征在于,当选择的检测算法模型为单分类模型时,构造异常检测特征为[n-gram功能码序列,n-gram包长序列,(n-1)-gram时间间隔序列],即表示为:
[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0];
其中,当前数据流及其所处时间t0的前n-1条数据流表示为[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
所述单分类模型包括单类支持向量机OCSVM和孤立森林iForest中的任一种。
7.根据权利要求3所述的一种异常检测特征的构造方法,其特征在于,当选择的检测算法模型为多分类模型时,构造标签Y1为当前应答事件的功能码fun0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun-1,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt0]作为输入特征进行训练,在应用中,对比预测的应答功能码fun及实际fun0,若不相同,则存在异常通信;
其中,当前数据流及其所处时间t0的前n-1条数据流表示为[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,其中i∈[1,n-1];len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[1,n-1]。
8.根据权利要求1所述的一种异常检测特征的构造方法,其特征在于,当选择的检测算法模型为回归预测模型时,构造标签Y2为当前应答事件的时间间隔Δt0,取其他特征即
[fun-(n-1),fun-(n-2),...,fun0,len-(n-1),len-(n-2),...,len0,Δt-(n-2),...,Δt-1]作为输入特征进行训练,并设置时间间隔阈值;在应用中,对比预测的时间间隔Δt及实际Δt0,如果超过所设定时间间隔阈值,则表示存在异常通信;
其中,当前数据流及其所处时间t0的前n-1条数据流表示为[event-(n-1),event-(n-2),...,even0],even0表示当前数据流,fun-i表示流量数据event-i的功能码,len-i表示流量数据event-i的应答包长度,t-i表示流量数据event-i的时间戳,其中i∈[0,n-1];Δt-(i-1)表示流量数据event-(i-1)与event-i的时间间隔,其中i∈[2,n-1]。
9.根据权利要求3所述的一种异常检测特征的构造方法,其特征在于,包括使用步骤;在使用步骤中,所述异常检测特征的构造方法、模块、存储介质、设备及系统能够用于工业控制系统中的SCADA监控系统层进行网络攻击检测,判断是否有异常网络通信行为;或用于部署在交换机旁路的探针,判断是否有异常网络通信行为;或用于部署在交换机旁路的态势感知平台,判断是否有异常网络通信行为。
10.根据权利要求9所述的一种异常检测特征的构造方法,其特征在于,当用在交换机旁路的探针或态势感知平台时,包括如下子步骤:采集交换机镜像口的网络连接数据,进行实时解析、清洗、原始特征提取并存储到分布式数据库中,给定滑动时间窗口,将滑动时间窗口流量数据通过构造n-gram通信行为特征后结合检测算法,能够实时判断该窗口内是否有异常网络通信行为。
11.根据权利要求1所述的一种异常检测特征的构造方法,其特征在于,在步骤S2中,构造n-gram起始寄存器地址序列特征、CRC校验码特征,并将构造的n-gram起始寄存器地址序列特征、CRC校验码特征与n-gram通信行为特征结合,均用于异常检测特征构造。
12.一种基于时间序列的异常检测特征构造模块,其特征在于,包括如下模块:
特征提取预处理模块,用于提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
异常检测特征构造模块,用于在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,将构造的n-gram通信行为特征结合检测算法模型构造异常检测特征;
检测算法模型模块,用于选择检测算法模型,并根据选择的检测算法模型,结合构造的n-gram通信行为特征来构造和调整异常检测特征。
13.一种可读存储介质,其特征在于,包括程序和可读存储介质硬件本身;当程序运行于可读存储介质硬件本身上时,实现如下模块架构:
特征提取预处理模块,用于提取滑动时间窗口流量数据,在每个滑动时间窗口内把将下位机/从机作为源地址的流量进行聚合;
异常检测特征构造模块,用于在当前滑动时间窗口内,对每一个作为源地址的下位机/从机,提取当前数据流时间t0的前n条流量数据进行n-gram通信行为特征构造,n为大于2的正实数,将构造的n-gram通信行为特征结合检测算法模型构造异常检测特征;
检测算法模型模块,用于选择检测算法模型,并根据选择的检测算法模型,结合构造的n-gram通信行为特征来构造和调整异常检测特征。
14.一种异常通信行为检测设备,其特征在于,包括所述基于时间序列的异常检测特征构造模块和/或所述可读存储介质。
15.一种基于时间序列的异常检测特征构造的SCADA监控系统,其特征在于,包括所述异常通信行为检测设备,并将所述异常通信行为检测设备用于检测SCADA监控系统层的业务数据是否存在异常通信行为。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553673.1A CN112688946B (zh) | 2020-12-24 | 2020-12-24 | 异常检测特征的构造方法、模块、存储介质、设备及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011553673.1A CN112688946B (zh) | 2020-12-24 | 2020-12-24 | 异常检测特征的构造方法、模块、存储介质、设备及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112688946A true CN112688946A (zh) | 2021-04-20 |
CN112688946B CN112688946B (zh) | 2022-06-24 |
Family
ID=75452824
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011553673.1A Active CN112688946B (zh) | 2020-12-24 | 2020-12-24 | 异常检测特征的构造方法、模块、存储介质、设备及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112688946B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114021150A (zh) * | 2021-11-17 | 2022-02-08 | 山东云天安全技术有限公司 | 基于N-gram预测工控网漏洞的系统 |
CN114944957A (zh) * | 2022-06-06 | 2022-08-26 | 山东云天安全技术有限公司 | 一种异常数据检测方法、装置、计算机设备及存储介质 |
CN115996133A (zh) * | 2022-06-27 | 2023-04-21 | 西安电子科技大学 | 一种工业控制网络行为检测方法以及相关装置 |
CN116232765A (zh) * | 2023-05-05 | 2023-06-06 | 中域网空(成都)信息科技有限公司 | 一种工控安全系统异常访问分析方法及系统 |
Citations (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105338001A (zh) * | 2015-12-04 | 2016-02-17 | 北京奇虎科技有限公司 | 识别钓鱼网站的方法及装置 |
CN105704103A (zh) * | 2014-11-26 | 2016-06-22 | 中国科学院沈阳自动化研究所 | 基于OCSVM双轮廓模型的Modbus TCP通信行为异常检测方法 |
US20170139760A1 (en) * | 2015-11-18 | 2017-05-18 | Fair Isaac Corporation | Detecting anomalous states of machines |
CN106951783A (zh) * | 2017-03-31 | 2017-07-14 | 国家电网公司 | 一种基于深度神经网络的伪装入侵检测方法及装置 |
CN107438052A (zh) * | 2016-05-26 | 2017-12-05 | 中国科学院沈阳自动化研究所 | 一种面向未知工业通信协议规约的异常行为检测方法 |
CN107995193A (zh) * | 2017-12-02 | 2018-05-04 | 宝牧科技(天津)有限公司 | 一种网络异常攻击的检测方法 |
CN108737406A (zh) * | 2018-05-10 | 2018-11-02 | 北京邮电大学 | 一种异常流量数据的检测方法及系统 |
CN108737410A (zh) * | 2018-05-14 | 2018-11-02 | 辽宁大学 | 一种基于特征关联的有限知工业通信协议异常行为检测方法 |
CN108922140A (zh) * | 2018-08-07 | 2018-11-30 | 山东科技大学 | 一种基于N-gram模型的工业报警泛滥预测方法 |
CN110868312A (zh) * | 2018-08-28 | 2020-03-06 | 中国科学院沈阳自动化研究所 | 一种基于遗传算法优化的工业行为异常检测方法 |
CN110909811A (zh) * | 2019-11-28 | 2020-03-24 | 国网湖南省电力有限公司 | 一种基于ocsvm的电网异常行为检测、分析方法与系统 |
CN111563234A (zh) * | 2020-04-23 | 2020-08-21 | 华南理工大学 | 一种主机异常检测中系统调用数据的特征提取方法 |
CN111787018A (zh) * | 2020-07-03 | 2020-10-16 | 中国工商银行股份有限公司 | 用于识别网络攻击行为的方法、装置、电子设备及介质 |
CN111930592A (zh) * | 2020-07-20 | 2020-11-13 | 国网浙江省电力有限公司嘉兴供电公司 | 一种实时检测日志序列异常的方法和系统 |
-
2020
- 2020-12-24 CN CN202011553673.1A patent/CN112688946B/zh active Active
Patent Citations (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105704103A (zh) * | 2014-11-26 | 2016-06-22 | 中国科学院沈阳自动化研究所 | 基于OCSVM双轮廓模型的Modbus TCP通信行为异常检测方法 |
US20170329314A1 (en) * | 2014-11-26 | 2017-11-16 | Shenyang Institute Of Automation, Chinese Academy Of Sciences | Modbus tcp communication behaviour anomaly detection method based on ocsvm dual-outline model |
US20170139760A1 (en) * | 2015-11-18 | 2017-05-18 | Fair Isaac Corporation | Detecting anomalous states of machines |
CN105338001A (zh) * | 2015-12-04 | 2016-02-17 | 北京奇虎科技有限公司 | 识别钓鱼网站的方法及装置 |
CN107438052A (zh) * | 2016-05-26 | 2017-12-05 | 中国科学院沈阳自动化研究所 | 一种面向未知工业通信协议规约的异常行为检测方法 |
CN106951783A (zh) * | 2017-03-31 | 2017-07-14 | 国家电网公司 | 一种基于深度神经网络的伪装入侵检测方法及装置 |
CN107995193A (zh) * | 2017-12-02 | 2018-05-04 | 宝牧科技(天津)有限公司 | 一种网络异常攻击的检测方法 |
CN108737406A (zh) * | 2018-05-10 | 2018-11-02 | 北京邮电大学 | 一种异常流量数据的检测方法及系统 |
CN108737410A (zh) * | 2018-05-14 | 2018-11-02 | 辽宁大学 | 一种基于特征关联的有限知工业通信协议异常行为检测方法 |
CN108922140A (zh) * | 2018-08-07 | 2018-11-30 | 山东科技大学 | 一种基于N-gram模型的工业报警泛滥预测方法 |
CN110868312A (zh) * | 2018-08-28 | 2020-03-06 | 中国科学院沈阳自动化研究所 | 一种基于遗传算法优化的工业行为异常检测方法 |
CN110909811A (zh) * | 2019-11-28 | 2020-03-24 | 国网湖南省电力有限公司 | 一种基于ocsvm的电网异常行为检测、分析方法与系统 |
CN111563234A (zh) * | 2020-04-23 | 2020-08-21 | 华南理工大学 | 一种主机异常检测中系统调用数据的特征提取方法 |
CN111787018A (zh) * | 2020-07-03 | 2020-10-16 | 中国工商银行股份有限公司 | 用于识别网络攻击行为的方法、装置、电子设备及介质 |
CN111930592A (zh) * | 2020-07-20 | 2020-11-13 | 国网浙江省电力有限公司嘉兴供电公司 | 一种实时检测日志序列异常的方法和系统 |
Non-Patent Citations (2)
Title |
---|
F. SCHUSTER等: ""Potentials of Using One-Class SVM for Detecting Protocol-Specific Anomalies in Industrial Networks"", 《2015 IEEE SYMPOSIUM SERIES ON COMPUTATIONAL INTELLIGENCE》 * |
邵俊杰等: ""基于机器学习的工业控制网络异常检测方法"", 《信息技术与网络安全》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114021150A (zh) * | 2021-11-17 | 2022-02-08 | 山东云天安全技术有限公司 | 基于N-gram预测工控网漏洞的系统 |
CN114944957A (zh) * | 2022-06-06 | 2022-08-26 | 山东云天安全技术有限公司 | 一种异常数据检测方法、装置、计算机设备及存储介质 |
CN114944957B (zh) * | 2022-06-06 | 2023-01-24 | 山东云天安全技术有限公司 | 一种异常数据检测方法、装置、计算机设备及存储介质 |
CN115996133A (zh) * | 2022-06-27 | 2023-04-21 | 西安电子科技大学 | 一种工业控制网络行为检测方法以及相关装置 |
CN115996133B (zh) * | 2022-06-27 | 2024-04-09 | 西安电子科技大学 | 一种工业控制网络行为检测方法以及相关装置 |
CN116232765A (zh) * | 2023-05-05 | 2023-06-06 | 中域网空(成都)信息科技有限公司 | 一种工控安全系统异常访问分析方法及系统 |
CN116232765B (zh) * | 2023-05-05 | 2023-07-04 | 中域网空(成都)信息科技有限公司 | 一种工控安全系统异常访问分析方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112688946B (zh) | 2022-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112688946B (zh) | 异常检测特征的构造方法、模块、存储介质、设备及系统 | |
Caselli et al. | Sequence-aware intrusion detection in industrial control systems | |
CN112839034B (zh) | 一种基于cnn-gru分层神经网络的网络入侵检测方法 | |
CN107360145B (zh) | 一种多节点蜜罐系统及其数据分析方法 | |
CN109981583B (zh) | 一种工控网络态势评估方法 | |
CN109768952B (zh) | 一种基于可信模型的工控网络异常行为检测方法 | |
CN109660518B (zh) | 网络的通信数据检测方法、装置以及机器可读存储介质 | |
TWI234974B (en) | Methodology of predicting distributed denial of service based on gray theory | |
KR20210115991A (ko) | 시계열 데이터 분석을 이용한 네트워크 이상징후 탐지 방법 및 장치 | |
CN117220920A (zh) | 基于人工智能的防火墙策略管理方法 | |
CN115396324A (zh) | 一种网络安全态势感知预警处理系统 | |
CN113194064A (zh) | 基于图卷积神经网络的webshell检测方法及装置 | |
CN112291213A (zh) | 一种基于智能终端的异常流量分析方法及装置 | |
JP7086230B2 (ja) | プロトコルに依存しない異常検出 | |
CN117336055A (zh) | 一种网络异常行为检测方法、装置、电子设备及存储介质 | |
CN109547496B (zh) | 一种基于深度学习的主机恶意行为检测方法 | |
CN111464510A (zh) | 一种基于快速梯度提升树模型的网络实时入侵检测方法 | |
CN110650124A (zh) | 一种基于多层回声状态网络的网络流量异常检测方法 | |
CN111784404B (zh) | 一种基于行为变量预测的异常资产识别方法 | |
CN111211948B (zh) | 基于载荷特征和统计特征的Shodan流量识别方法 | |
CN108761250B (zh) | 一种基于工控设备电压电流的入侵检测方法 | |
Son et al. | Deep Learning Techniques to Detect Botnet | |
CN111343205B (zh) | 工控网络安全检测方法、装置、电子设备以及存储介质 | |
CN114500015B (zh) | 一种基于工业网络的态势感知系统及其控制方法 | |
CN117240598B (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 |