没有合适的资源?快使用搜索试试~ 我知道了~
基于混合马尔科夫树模型的ICS异常检测算法.docx
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 13 浏览量
2023-02-23
16:54:08
上传
评论
收藏 403KB DOCX 举报
温馨提示
试读
26页
基于混合马尔科夫树模型的ICS异常检测算法.docx
资源推荐
资源详情
资源评论
工业控制系统(Industrial control system, ICS)主要用于工业生产过程中的各种监控被广
泛应用于能源、电力、化工、污水处理、石油天然气等大型国家基础设施行业.近年来, 由
于远程管理控制的需求不断扩大, 之前相对封闭独立的控制系统已经变得更加开放化和互
联化.这一方面提升了 ICS 远程管理的能力, 给操控者带来了极大的便利, 另一方面却也将
其自身暴露在各种网络攻击的威胁之下.
ICS 面临的安全威胁中, 除了传统的攻击, 如 DoS (Denial of service)攻击、缓冲区溢出
攻击、信息收集等攻击之外
[1]
, 一种依赖于对控制过程以及物理设备了解的详细程度而采取
的攻击也在尝试最大化地破坏工业基础设施, 称为"语义攻击"
[2]
.语义攻击建立在对协议、软
件、硬件以及生产控制过程深入理解的基础上, 攻击者通过精心构造一组看似"合法"的消
息序列来破坏正常的工业生产.这些消息序列单纯从协议层的角度来看是合法的, 然而从系
统当时所处的上下文语境与状态来看, 却违反了工业生产过程中的一些语义限制. 2010 年发
生的"震网"蠕虫
[3]
就是一个典型的语义攻击, 它改写并隐藏了可编程逻辑控制器
(Programmable logic controller, PLC)的代码, 通过构造恶意但技术上合法的指令来改变离心
机的速度, 对伊朗的纳坦兹核设施控制系统造成了极大的破坏.
现有语义攻击可分为两种类型
[4]
: Order-based 语义攻击和 Time-based 语义攻击. Order-
based 语义攻击指攻击者以不正常的顺序发送消息指令
[5]
; Time-based 语义攻击指攻击者以
不正常的频率发送消息指令
[6]
.传统的网络入侵检测方法针对这种基于消息序列的语义攻击
显得无能为力.因此需要结合 ICS 的一些语义特征, 设计一种能够识别语义攻击的异常检测
系统.
针对语义攻击问题, 有学者提出以数据为中心的异常检测研究方法, 利用发生攻击之
后网络数据以及其他过程变量的变化特征来进行异常检测. Hadziosmanovc 等
[2]
直接对 ICS
过程变量进行分析, 从设备的网络通信中提取变量值, 使用自回归模型的方法对数据进行监
督和限制, 当数据值使模型发生异常偏离或者超过了变量的取值范围时, 入侵检测系统发出
警告.该方法能在一定程度上解决语义攻击的检测问题, 但也面临着一系列问题, 如建模时
对浮点类型数据的分类错误导致系统出现较高的漏报, 建模时需要无污染的数据或需对数
据进行预处理, 否则, 模型参数受少数异常点影响较大
[7]
.文献[8-10]中利用数据挖掘中聚类
或者分类的相关算法进行异常数据的识别.叶石罡
[8]
在 AVC 系统中采用 K-Means 聚类算法
提取电压的特征曲线, 该方法不仅受限于 K-Means 算法自身的缺陷并且未能很好地考虑
AVC 系统中其他参数变量的特征规律. Jiang 等
[9]
采用支持向量机算法对数据采集与监控
(Supervisory control and data acquisition, SCADA)系统中的异常进行检测, 但在训练支持向量
机模型时, 未考虑到观测变量中相关数据间的关联性. Zhao 等
[10]
采用基于 K-Means 聚类的
自适应模糊 C 均值法检测能源系统异常数据, 虽然该算法考虑了相关数据间的关联性, 但
是却没有考虑数据的时序特征以及训练样本中出现噪声数据的可能性.以数据为研究目标的
异常检测方法对系统的先验性知识要求低, 可以通过自学习的方法从大量数据中寻找正常
行为的规律.然而, 这些基于数据建模的异常检测方法还存在以下问题: 1)不能很好地处理混
合属性数据的相似度计算问题; 2)异常检测结果易受参数(如聚类半径)影响, 而当前对于参
数的选择仍然没有简单有效的方法
[11]
; 3)仅考虑到数据空间上的相关性, 而未考虑到数据在
时间序列上的关联性
[12]
.
ICS 系统通常包括 PLC、现场设备(如传感器、执行器), 以及上层管理接口(Human
machine interface, HMI). HMI 定期对 PLC 进行数据采集, 以监控底层的生产过程, 当出现异
常时可发送控制指令对生产过程进行干预. PLC 通过顺序执行梯形逻辑指令控制传感器的
数据采集和执行器的执行, 通过重复一系列周期性操作完成每轮工业生产过程.无论是 HMI-
PLC 层还是 PLC-现场设备层, 主从设备的交互通常都具有明显的阶段性特征
[13]
, 这种高度
的阶段性和周期性特征, 使我们可以提取系统正常运行时的行为特征, 对其分析建模, 从而
利用正常行为模型构建基于异常的入侵检测系统.
许多国内外研究学者利用 ICS 的阶段性和周期性特征, 提出了一系列针对语义攻击的
检测方法. Goldenberg 等
[14-15]
基于工业控制协议 Modbus
[16]
, 采用确定有限自动机
(Deterministic finite automata, DFA)的方法对 Modbus/TCP 网络数据包进行建模, 基于
Modbus 交互数据包中功能码具有高度阶段性特征的假设, 为每个 HMI-PLC 交互通道构建
DFA 模型.但是在实际控制过程中, Modbus 通信流只有在过滤掉一些人为操作和随机产生的
数据包丢失、重传、延迟等噪音之后, 系统才会呈现出阶段性特征, 因此当该方法应用于实
际的 Modbus 通信样本时, 会产生大量的 DFA 状态节点, 使得 DFA 模型的规模相当庞杂,
此外, 该方法受限于 DFA 算法本身的局限性, 只考虑到状态转移的合法性, 而未考虑到转
移概率在进行异常检测时的重要作用, 从而无法检测出 Time-based 语义攻击所带来的概率
分布异常. Adepu 等
[17]
基于混合自动机实现状态约束, 考虑执行器和传感器的关联关系, 即
执行器的状态转移受传感器约束, 传感器的状态转移受执行器约束, 该方法能较好地解决语
义攻击的检测问题, 但是该方法需要结合具体的 ICS 过程文档, 且需要将约束条件硬编码
在 PLC 控制逻辑中, 在 PLC 运行过程中不断检查约束条件是否成立, 因此该方法具有很强
的局限性, 缺乏灵活性.李晓航等
[18]
针对状态转移概率不确定的延迟马尔科夫跳变系统, 设
计了自适应观测器来同时估计执行器和传感器故障, 实现对其异常状态和故障的检测, 该方
法相对于基于精确状态转移概矩阵的故障估计方法更具有通用性, 并可以同时估计状态、
执行器和传感器故障, 但是该方法主要适用于故障检测领域, 当应用于异常检测领域时, 由
于未考虑到 ICS 各组件之间的交互性特征, 因此并不适用于对 ICS 整个系统进行建模以实
现入侵检测. Caselli 等
[4, 19-20]
利用离散时间马尔科夫链(Discrete time Markov chains, DTMC)模
型对 SCADA 消息序列进行建模.该模型由一阶马尔科夫链构成, 模型中的每个节点代表了
合法的状态事件, 节点之间的转移关系代表了合法的状态转移, 每个状态节点维护了一张转
移概率表, 表明了转移的分布情况.此模型通过检测未知状态异常、未知转移异常以及概率
分布异常, 能够检测出简单的语义攻击.然而由于该模型基于一阶马尔科夫链, 假设当前状
态只与前一个历史状态存在关联性, 即事件相关度仅为 1, 这种低事件相关度模型在面对复
杂语义攻击时存在明显的不足.针对一阶马尔科夫模型的低相关性问题, 有学者提出变阶马
尔科夫模型. Begleiter 等
[21]
分析并比较了多种变阶马尔科夫模型在分子生物学、文本以及音
频领域中的应用情况, 但是这些模型均为概率预测模型, 即通过条件概率来判断当前序列的
合法性, 且文中未将这些方法应用在 ICS 领域来验证这些方法在异常检测时的有效性.有学
者通过一种变阶马尔科夫模型—概率后缀树模型(Probabilistic suffix trees, PST)来实现 ICS
领域的异常检测
[22-23]
.该模型扩大了状态事件的关联性, 提升事件的相关度至树的最大深度
3.但是不同于 DTMC 方法, 该模型中树节点的转移概率表不是通过比较概率分布变化来发
现异常, 而是如文献[21]中多种模型一样仅仅作为一种概率预测模型来判断当前消息的合法
性, 当这种可能性低于一定阈值时, 系统检测出异常.该模型能够检测出未知状态以及未知
转移异常, 但是却无法检测出 Time-based 语义攻击所带来的概率分布异常.
本文针对以上研究方法的不足, 提出一种基于混合马尔科夫树模型(Mix-order Markov
tree model, MMTM)的异常检测算法, 充分利用 ICS 的阶段性和周期性特征, 构建系统正常
运行时的行为模型—混合马尔科夫树.该模型包含合法的状态事件、合法的状态转移、正常
的概率分布以及正常的转移时间间隔等 4 种信息, 当被检测行为使得模型的以上 4 种信息
发生较大偏差时, 系统检测出异常.相比 DFA 模型, 本文算法利用了转移概率以及转移时间
间隔信息, 从而能够检测出复杂的语义攻击; 相比 DTMC 模型, 本文算法增强了状态事件
的关联度, 在必要时将决定当前状态的历史状态从一维追溯到多维, 从而将一阶马尔科夫模
型扩展为变阶马尔科夫模型; 与 PST 模型相比较, 本文算法没有事先设定事件最大相关度,
即树的最大深度, 而是通过一种自适应的方法动态扩展分支状态节点的历史相关状态, 并且
不再将树节点的转移概率表仅仅作为一种概率预测表, 而是通过比较建模与检测时的概率
分布变化来发现概率分布异常.此外, 本文算法在建模阶段针对人机交互、PLC 常规诊断等
操作所引入的噪音设计了一种剪枝策略, 去除了模型中的低频事件和低转移事件, 维持了系
统的阶段性特征, 解决了现有异常检测算法因为对噪音敏感而造成的漏报率高的问题; 并且
通过去除冗余节点, 简化了系统模型, 从而提高了系统的检测效率.
1. 复杂语义攻击
DTMC 模型
[4]
基于一阶马尔科夫模型, 假设当前状态只与前一个历史状态存在关联性,
即事件相关度为 1.该模型能够检测简单的 Time-based 以及 Order-based 语义攻击.然而仅仅
从前一个历史状态到当前状态的转移关系和概率分布情况来判断消息序列的合法性在面对
复杂语义攻击时存在明显的不足.以某一状态序列"abcdbedfabcdbedfabcdbedf⋯⋯"为例, 构建
的 DTMC 模型如图 1 所示.
图 1 序列"abcdbedfabcdbedf⋯⋯"对应的 DTMC 模型
Fig. 1 DTMC model for the sequence"abcdbedfabcdbedf⋯⋯"
下载: 全尺寸图片 幻灯片
针对该模型, 可能存在以下两种复杂语义攻击:
1) 分支节点攻击
对于分支节点 b, b→→c 以及 b→→e 的转移均是合法的, 攻击者通过颠倒"bcd"和"bed"
子序列的顺序, 构建消息序列"abedbcdfabed bcdfabedbcdf⋯⋯".该消息序列经 DTMC 模型的
检测, 由于未出现未知状态, 所有状态转移均合法, 且转移分布表统计得到的概率分布情况
与正常消息序列建模时相同, 因此 DTMC 模型不会报出任何异常.然而该消息序列由于不符
合正常的工业控制过程, 可能会对系统造成意想不到的破坏;
2) 周期性攻击
攻击者以极短的时间间隔连续发送大量的正常消息序列"abcdbedfabcdbedfabcdbedf⋯⋯
", 该序列符合正常生产过程中的周期性特征, 因此该序列经 DTMC 模型的检测, 不会报出
任何的异常.但是由于时间间隔明显缩短, 设备以一种异常的频率在工作, 这种频率可能会
给设备带来极大的损坏.
本文主要针对以上两种复杂语义攻击提出 MMTM 异常检测方法.
2. 模型设计
如图 2 所示, 本文在 ICS 的 HMI-PLC 层以及 PLC-现场设备层之间的交换机上接入监
听器, 以记录每个交互层之间的通信数据, 利用该通信数据构建系统正常运行时的行为模
型. ICS 的阶段性特征体现在 HMI-PLC、PLC-现场设备的交互中, 如果对所有交互层数据
包统一建模, 即将图 2 中多个监听器记录的数据联合建模, 系统的阶段性以及周期性特征
会减弱甚至丧失, 最终会构建一个相当大规模的 MMTM, 此模型过于复杂且检测效率和检
测准确率均会下降, 因此本文采用各交互层分离建模的方法, 对每个 HMI-PLC 以及 PLC-现
场设备交互层行为单独进行分析.
图 2 ICS 监听器布局示意图
Fig. 2 ICS listener layout
下载: 全尺寸图片 幻灯片
在构建混合马尔科夫树之前, 需要根据原始消息序列构建状态转移图, 该转移图包含
一系列合法的状态节点以及状态转移关系.状态节点的定义根据不同的应用层协议而有所不
同.以 Modbus 协议为例, 状态可表示为对某一现场设备的读或者写操作, 如状态 a 表示读温
度传感器操作(对应 Modbus 的读保持寄存器), 状态 b 表示打开阀门操作(对应 Modbus 的写
线圈).消息序列中的每条消息都可以映射为某一特定的状态.状态 a 到状态 b 的转移关系表
明, 在消息序列中, 至少有一条属于状态 b 的消息是紧跟在一条属于状态 a 的消息之后的.
此外, 根据状态转移关系, 我们可以获取每个节点的出入度信息, 该信息可用于在后续建模
阶段判断状态节点是否为分支节点和单一入度节点.
构建完状态转移图, 并将原始消息序列转化为状态序列和与之对应的时间间隔序列之
后, 就可以构建混合马尔科夫树.依次根据状态序列中的值对马尔科夫树进行更新, 动态自
适应地将分支树节点扩展为多阶马尔科夫以增强状态事件的关联度.当待扩展的树节点为单
一入度节点时, 说明该状态的前一历史状态是确定的, 从而无需将更多的历史状态信息添加
到马尔科夫树中, 至此该树节点扩展结束.在上述混合马尔科夫树的构建过程中, 每个树节
剩余25页未读,继续阅读
资源评论
罗伯特之技术屋
- 粉丝: 3549
- 资源: 1万+
下载权益
C知道特权
VIP文章
课程特权
开通VIP
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功