【技术实现步骤摘要】
基于代码数据融合的攻击检测与溯源方法及系统
[0001]本专利技术涉及工业控制系统入侵检测领域,特别涉及一种基于代码数据融合的攻击检测与溯源方法及系统。
技术介绍
[0002]可编程逻辑控制器(PLC)是工业控制系统现场使用最广泛的中小型控制系统之一,直接连接被控系统的传感器与执行器,通过预先设定的控制逻辑完成实时控制,是现场控制层的核心控制设备,对工控系统的现场防护具有重要价值。PLC本身在安全验证、通信数据加密等防护手段上设计滞后,导致攻击者可利用工控协议等脆弱点修改PLC内存,改变物理过程状态,导致如Stuxnet攻击等严重安全事件。为快速发现系统异常运行状态,需要针对PLC特定工作环境设计相应的入侵检测系统,同时为引导操作人员定位攻击向量、隔离攻击影响、恢复工控系统正常运行,需要进行具体的攻击点溯源。
[0003]现有面向工业控制系统的入侵检测方法通常从以下两个方面进行设计:1)基于通信行为的检测主要在网络组件、网络协议及通信过程等方面利用误用原则检测异常通信行为;2)基于物理过程动态的检测以系统物理数据作为监测对象,常基于物理过程正常行为模型,检测异常数据行为。现有面向工业控制系统的入侵检测对系统建模手段单一,缺乏对被控系统整体的关注,难以支持攻击检测后的攻击溯源需求;同时现有检测手段缺乏实时入侵检测与攻击溯源的联合设计,尤其缺乏在控制代码层级的攻击溯源,难以支撑被攻击系统正常行为状态的快速恢复,不利于减轻攻击影响。
技术实现思路
[0004]本专利技术的目的在于针对现有技术的不足, ...
【技术保护点】
【技术特征摘要】
1.一种基于代码数据融合的攻击检测与溯源方法,其特征在于,该方法包括以下步骤:S1:获取工业控制系统中PLC的控制程序以及SCADA监控系统的历史记录数据,利用OPC UA获取SCADA实时变量记录;S2:以SCADA监控系统的历史变量记录为输入,识别系统状态及状态转移,构建正常工况的系统有限状态机,并从SCADA监控软件的底层数据库访问SCADA变量记录与PLC程序变量之间的映射关系;S3:以PLC控制程序为基础,利用静态程序分析技术提取程序变量依赖关系;S4:在数据空间,以SCADA实时变量记录为基础,对比正常工况的系统有限状态机,识别系统异常状态及异常状态转移,完成攻击检测;S5:在代码空间,以攻击检测机制检测到的系统异常为基础,根据程序变量依赖关系和SCADA变量记录与PLC程序变量之间的映射关系,构建可疑攻击溯源链,识别可疑攻击权重,进行攻击溯源。2.根据权利要求1所述的基于代码数据融合的攻击检测与溯源方法,其特征在于,S2中,以SCADA系统变量记录log={v1,v2,
…
,v
m
}为输入,其中m表示SCADA记录的总变量个数,将任意变量v
m
离散化到统一值空间J
m
,构成完整的系统状态空间同时结合系统运行规律以及物理状体约束,以各变量统一构建系统状态,使实际抽象的系统正常状态远小于3.根据权利要求2所述的基于代码数据融合的攻击检测与溯源方法,其特征在于,S2中,定义SCADA系统第i时刻的变量记录u
i
={v
i1
,v
i2,
,
…
,v
im
}为状态,定义相邻时刻的变量记录u
i
→
u
i+1
为状态转移,定义相同状态转移的时间间隔为状态转移周期;以SCADA历史变量记录为输入,构建正常工况的有限状态机:以系统起始状态作为状态机初始状态、其余任何状态作为接收状态,在对应状态之间建立状态转移连边并记录相同连边出现的时间间隔。4.根据权利要求1所述的基于代码数据融合的攻击检测与溯源方法,其特征在于,S2中,自动化地从SCADA监控软件的底层数据库访问变量记录,递归地构建有限状态机并支持新状态、新状态转移及新状态转移周期的在线更新。5.根据权利要求1所述的基于代码数据融合的攻击检测与溯源方法,其特征在于,S3中,面向PLC基本指令表编程语言,以寄存器赋值运算为核心,构建PLC程序变量之间的依赖关系;具体地,针对PLC非跳转指令,设计传递函数D{Reg/Var}刻画PLC指令执行前后,寄存器存储变量Reg对相关操作变量Var的直接依赖关系;针对PLC跳转指令,刻画程序跳转前后的传递函数间D{Reg/Var}之间的依赖关系;针对PLC函数调用指令,刻画被调用函数的实际参数D{parameter}与形式参数D{argument}之间的依赖关系。6.根据权利要求1所述的基于代码数据融合的攻击检测与溯源方法,其特征在于,S4中...
【专利技术属性】
技术研发人员:陈积明,胡玉娇,程鹏,杨泽域,余华,
申请(专利权)人:浙江大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。