基于SVM的Modbus TCP通讯的异常检测方法技术

技术编号:11589964 阅读:60 留言:0更新日期:2015-06-10 22:46
本发明专利技术基于SVM提出了的工业控制系统Modbus TCP通讯的异常检测方法。该方法设计了Modbus TCP通讯序列的特征选择处理方法,及转换为SVM异常检测模型所需数据格式的预处理方法,设计了一种利用粒子群算法PSO进行参数寻优的PSO-SVM异常检测方法,能提升方法分类识别的精度。该方法基于Modbus功能码序列中的模式短序列出现的频率,识别出工业控制系统中异常的Modbus TCP通讯流量,具有识别未知攻击行为的能力。

【技术实现步骤摘要】

本文专利技术的是一种工业控制系统通讯流量异常检测的方法,利用支持向量机方法对功能码序列进行异常检测,属于工业控制系统网络信息安全领域。
技术介绍
工业控制系统在设计之初由于普遍采用专有的通信协议、操作系统、硬件设备,并且与其他网络隔离,更多关注的是物理安全和功能安全,欠缺信息与网络安全方面的考虑。伴随着信息化的需求,工业控制系统的封闭性正在不断被打破:TCP/IP技术、开放的工业通讯协议、通用操作系统等应用得越来越广泛,使得“天生”存在很多信息安全与网络安全缺陷的工业控制系统更加容易遭受攻击。Modbus TCP协议广泛应用于石油化工、能源、冶炼、电力等工业控制系统和SCADA系统中,确保Modbus TCP通讯安全具有重要意义。保证工业控制系统网络安全是一个繁杂的系统工程,需要从安全管理与安全技术两个方面同时入手,构建有效的防御体系,任何依赖单一技术或者单一管理流程的方式,都无法有效应对可能出现的信息安全挑战与威胁。从信息安全防御技术的角度来看,保障工业控制系统中Modbus TCP通讯安全的技术主要有有防火墙技术、隔离网闸、加密传输技术、入侵检测技术、Modbus通讯“白名单”等。防火墙主要提供传输层与网络层的访问控制机制,体现了系统管理的安全策略。但是防火墙技术缺乏对于应用层协议的支持,无法应对利用应用层协议缺陷发起的攻击行为。隔离网闸技术阻断对重要设施的直接访问,可以极大程度减少系统风险,但是隔离网闸的部署需要依赖于工业控制系统合理的层次划分与拓扑设计,而往往由于业务需要不能进行尽善尽美的结构设计。加密传输技术可以防止通讯信息遭受窃取与篡改,但是会加重信息处理的负担,会对工业控制系统通讯的实时性造成一定的影响,另外工业设备中的芯片处理能力也难以支持复杂的加密方法。入侵检测技术将网络中捕获的流量与已知的攻击特征模式进行匹配,识别出攻击行为,可作为其他安全技术的有力补充。但是该方法需要建立在已知攻击特征的基础之上,无法应对攻击特征未知的情况。Modbus通讯“白名单”可以实现应用层协议的解析,能够精确地对应用层协议的关键字段结合实际的业务需要进行访问控制,最大程度地减少风险敞口,但是这种方法仍然无法完全确保Modbus TCP通讯的安全性,因为攻击者可以利用和白名单策略中相同的策略,构造Modbus TCP通讯的攻击序列。综上,现有的防护方法从设置合理的安全策略、划分科学的拓扑结构、通讯加密传输、入侵检测、应用层协议过滤等几个方面,构建了工业控制系统安全防御的体系。不过,在该体系统中仍然存在着一个主要的缺失,就是如何辨识未知特征的攻击或者入侵行为,也不能拦截恰好利用防火墙规则或者“白名单”访问控制表发起的攻击行为。为解决该问题本文提出选取Modbus功能码这一重要字段作为研究对象,设计了能够处理包含不同数目Modbus功能码的序列的预处理方法,结合支持向量机算法,提出了一种基于支持向量机的Modbus TCP通讯功能码序列异常检测方法,并采用微粒子群算法对模型参数进行寻优,建立了工业控制系统中Modbus TCP通讯的异常检测模型,以实现辨识防火墙与入侵检测系统未能识别的攻击行为或者异常行为。
技术实现思路
针对在
技术介绍
中提出几种Modbus TCP通讯安全防护技术存在的无法识别特征未知的攻击行为的问题,本文专利技术了一种基于PSO-SVM的Modbus通讯异常检测方法。本专利技术为实现上述目的所采用的技术方案是:一种基于SVM的Modbus TCP通讯的异常检测方法,包括以下步骤:流量采集:利用Linux内核的Netfilter机制采集工业控制系统中ModbusTCP通讯流量,按照会话进行存储并且剔除不必要的信息,转化为仅包含Modbus功能码的序列;数据预处理:设定固定长度的滑动窗口,获取所有不同滑动窗口长度的短模式序列构成集合,按照其中每一个元素出现的频率,处理正常与异常Modbus TCP通讯流量中的功能码序列,从而转化成为长度一致的SVM能够处理的向量形式;PSO优化:将初始化的粒子传递给SVM异常识别模型作为参数惩罚因子C和高斯径向基参数σ,利用SVM模型返回的交叉验证意义下的分类准确率,作为PSO优化模型中的适应度值,并据此进行粒子群迭代更新;SVM异常检测:利用PSO流程传递的参数,建立C-SVM流程模型进行异常检测,并且返回交叉验证意义下的分类正确率。所述流量采集包括以下步骤:利用Linux内核Netfilter机制进行流量抓取,从而捕获工业控制系统中ModbusTCP通讯流量,并且按照源于目的地址对进行分类存储;剔除Modbus TCP通讯中不包含Modbus功能码的数据包,并且进一步剔除Modbus服务器向客户机回应的相关数据包。剔除Modbus功能码之外的所有其他信息,并将Modbus功能码按照时间先后顺序进行排列;将Modbus功能码序列随机分割成不同长度的Modbus功能码短序列。所述不包含Modbus功能码的数据包包括握手、确认与重传。所述数据预处理包括以下步骤:获取正常与异常Modbus TCP通讯流量集合,并且赋予相应的类别标签;设定短序列长度r,且保证r长度不大于Modbus功能码样本集合中长度最小的个数;用长度为r滑动窗口依次处理Modbus功能码样本集合的每一个样本,提取所有可能的r长度短序列;去除c中重复成分,对于每一个不同的r长度短序列仅保留一份,得到模式短序列集合M;利用短序列模式集合M将功能码序列中的每个元素表示成维数相同的支持向量机能够处理的向量模式。所述PSO优化包括以下步骤:设置PSO算法在终止条件始终无法满足情况下的最大迭代步数kmax与粒子位置与速度的限定范围;随机生成种群以及相关参数初始化,其中每个粒子包含两个分量分别为支持向量机惩罚因子C和径向基核参数σ,并且针对每一个粒子设置初始化速度向量;将粒子进行SVM训练并作为支持向量机的惩罚因子和高斯径向基参数,返回交叉验证意义下的分类准确率作为粒子适应度值;根据适应度值的情况更新个体极值及群体极值;如果出现了更优的适应度值则更新相应的个体或者群体适应度值;判断是否满足退出迭代条:如果超过迭代次数极值或连续50次适应度值的变化没有超过0.01%,则退出迭代过程,并且此时的群体极值即为所要求的最佳参数;按照粒子速度与位置更新公式进行更新粒子群,同时检查各个粒子多本文档来自技高网
...

【技术保护点】
一种基于SVM的Modbus TCP通讯的异常检测方法,其特征在于,包括以下步骤:流量采集:利用Linux内核的Netfilter机制采集工业控制系统中ModbusTCP通讯流量,按照会话进行存储并且剔除不必要的信息,转化为仅包含Modbus功能码的序列;数据预处理:设定固定长度的滑动窗口,获取所有不同滑动窗口长度的短模式序列构成集合,按照其中每一个元素出现的频率,处理正常与异常Modbus TCP通讯流量中的功能码序列,从而转化成为长度一致的SVM能够处理的向量形式;PSO优化:将初始化的粒子传递给SVM异常识别模型作为参数惩罚因子C和高斯径向基参数σ,利用SVM模型返回的交叉验证意义下的分类准确率,作为PSO优化模型中的适应度值,并据此进行粒子群迭代更新;SVM异常检测:利用PSO流程传递的参数,建立C‑SVM流程模型进行异常检测,并且返回交叉验证意义下的分类正确率。

【技术特征摘要】
1.一种基于SVM的Modbus TCP通讯的异常检测方法,其特征在于,包括以
下步骤:
流量采集:利用Linux内核的Netfilter机制采集工业控制系统中ModbusTCP
通讯流量,按照会话进行存储并且剔除不必要的信息,转化为仅包含Modbus
功能码的序列;
数据预处理:设定固定长度的滑动窗口,获取所有不同滑动窗口长度的短
模式序列构成集合,按照其中每一个元素出现的频率,处理正常与异常Modbus 
TCP通讯流量中的功能码序列,从而转化成为长度一致的SVM能够处理的向量
形式;
PSO优化:将初始化的粒子传递给SVM异常识别模型作为参数惩罚因子C
和高斯径向基参数σ,利用SVM模型返回的交叉验证意义下的分类准确率,作
为PSO优化模型中的适应度值,并据此进行粒子群迭代更新;
SVM异常检测:利用PSO流程传递的参数,建立C-SVM流程模型进行异常检
测,并且返回交叉验证意义下的分类正确率。
2.根据权利要求1所述的基于SVM的Modbus TCP通讯的异常检测方法,其特征
在于,所述流量采集包括以下步骤:
利用Linux内核Netfilter机制进行流量抓取,从而捕获工业控制系统中
ModbusTCP通讯流量,并且按照源于目的地址对进行分类存储;
剔除Modbus TCP通讯中不包含Modbus功能码的数据包,并且进一步剔除
Modbus服务器向客户机回应的相关数据包。
剔除Modbus功能码之外的所有其他信息,并将Modbus功能码按照时间先
后顺序进行排列;
将Modbus功能码序列随机分割成不同长度的Modbus功能码短序列。
3.根据权利要求2所述的基于SVM的Modbus TCP通讯的异常检测方法,其特征
在于,所述不包含Modbus功能码的数据包包括握手、确认与重传。
4.根据权利要求1所述的基于SVM的Modbus TCP通讯的异常检测方法,其

\t特征在于,所述数据预处理包括以下步骤:
获取正常与异常Modbus TCP通讯流量集合,并且赋予相应的类别标签;
设定短序列长度r,且保证r长度不大于Modbus功能码样本集合中长度最
小的个数;
用长度为r滑动窗口依次处理Modbus功能码样本集合的每一个样本,提取
所有可能的r长度短序列;
去除c中重复成分,对于每一个不同的r长度短序列仅保留一份,得到模式
短序列集合M;
利用短序列模式集合M将功能码序列中的每个元素表示成维数相同的支持
向量机能够处理的向量模式。
5.根据权利要求1所述的基于S...

【专利技术属性】
技术研发人员:尚文利万明曾鹏赵剑明刘贤达张华良
申请(专利权)人:中国科学院沈阳自动化研究所
类型:发明
国别省市:辽宁;21

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1