沈阳理工大学自动化与电气工程学院 安攀峰
基于SVM的工业控制网络入侵检测方法应用研究
沈阳理工大学自动化与电气工程学院 安攀峰
入侵检测在工控网络的安全防护中具有重要的作用。本文基于支持向量机(SVM)的通信行为入侵检测方法,首先介绍工控网络信息安全和入侵检测要求的特殊性,分析了检测特征的提取方法,研究几种SVM算法的入侵检测建模与应用,以提高对异常攻击行为的检测率,增强工控网络系统安全防御能力。
工业控制网络;入侵检测;SVM
随着网络化与信息化的深度融合,工业控制系统已经发展成为一个开放式的网络环境。工控网络技术的应用促进了生产效率的提高,同时也带来了信息安全风险,容易遭受传统的IT系统网络攻击[1]。入侵检测是一种主动的信息安全防护技术,能够根据攻击行为的操作模式,分析产生的数据特征变化,以实现对异常攻击的有效检测。针对工控系统的网络攻击行为,主要是入侵者利用系统存在的安全漏洞,根据采用的工控通信协议规约,传输恶意的攻击数据,对控制器、终端设备等进行攻击。本文结合机器学习算法SVM的数据分类优势,从实际应用的角度分析存在的安全问题,研究通信行为的特征提取和入侵检测方法,最后根据具体的安全防护目标,设计了几种SVM算法的入侵检测建模和应用方法。
工业控制系统的网络化发展导致了面临的安全风险和入侵威胁不断增加,特别是与企业网和互联网的相连接,使得各种针对工控系统关键基础设施的攻击操作,能够对工业生产设备进行攻击。异常攻击者通过利用在操作系统、上位机软件等的安全漏洞进入到工控通信网络,冒充正常的用户进行不合法的操作。
目前,在IT信息系统的入侵检测技术应用相对成熟,但由于与工控网络系统结构、功能和安全要求的差异性,不能直接应用于工控系统的安全防护。如何建立高效的工控网络入侵检测系统,需要对提取反映通信行为模式差异的检测特征和设计适应工控网络复杂环境的检测算法进行研究,其中,检测算法是工控网络入侵系统的核心,检测特征是有效实现异常行为判别的基础和关键。SVM是基于统计学习的机器学习算法,在传统IT系统入侵检测、故障诊断、图像识别等领域都有大量的理论研究,结合实际的工业控制网络信息安全问题,本文研究相关SVM算法的工业通信行为检测应用。
在工业控制网络的传输流量数据中,包含了基于通信协议和基于主机的通信行为数据。
工控系统网络的入侵检测实际上是对通信行为的预测判别,以实时检测出异常攻击操作。由于工业控制系统环境的复杂性,工控网络包含了各种数据读取、信息查询、设备控制的等实际通信行为,如何根据通信行为的特征进行操作模式分析,对提高入侵检测算法的实际应用能力非常重要。
由于工控系统主要为控制生产设备的工艺流程,并根据功能需求进行数据信息的传输,正常的工业通信行为具有一定的周期性和有限性。入侵检测系统为利用通信行为的检测特征,对数据进行分析处理,并利用设计的检测算法进行异常行为的分类判别。根据SVM算法的分类原理,特征提取需要深度解析异常行为的操作模式,并从通信网络的流量数据中,选择或构造能够反映正常行为和异常攻击操作模式差异的行为特征。
3.1 标准C-SVM的入侵检测方法
针对工业控制网络入侵检测技术的研究,实际上是对工业通信行为进行预测分类的模式识别问题,入侵检测系统的建立是根据数据样本的特点,利用入侵检测算法对通信行为进行分析和判别。标准的C-SVM是对数据样本的二分类算法,能够适用于对正常行为和异常攻击的检测判别,主要的入侵检测建模过程如下:
Step1:获取通信行为数据,构造入侵检测建模的训练和测试样本集;
Step2:设定惩罚因子参数和核函数参数;
Step3:根据训练数据样本集,训练入侵检测模型;
Step4:利用测试数据样本对训练模型进行测试;
Step5:如果训练模型满足测试样本的检测性能要求,求得通信行为的决策函数,否则重新设定训练参数,以获得满足要求的入侵检测模型。
在对以上标准C-SVM算法的入侵检测建模中,核函数的选择是一个关键的环节,决定着对数据样本的非线性映射,影响最终的通信行为检测率。同时,惩罚因子参数也非常重要,能够减小的数据样本噪声造成的分类性能缺陷,对检测模型的泛化能力具有重要的作用[2]。
3.2 基于OCSVM的入侵检测方法
由于标准的C-SVM算法是对两类平衡样本的数据分类方法,如果两类训练数据样本具有较大的差异,将使得分类模型难以满足实际领域的应用需求,如在入侵检测、故障诊断等分类的模式识别问题中,难以获取异常的数据样本或具有很少的异常数据样本。单类支持向量机(OCSVM)只需要一类数据样本,即只利用正常的通信行为数据就可以建立入侵检测模型[3],通过对周期性和有限性的行为数据样本进行学习,训练模型能够识别不同于正常模式的异常攻击操作。利用OCSVM算法的入侵检测建模过程如下:
Step1:根据获取的通信行为数据,构造只包含正常行为样本的训练数据集和包含两类数据样本的测试数据样本集;
Step2:设定OCSVM训练模型的参数;
Step3:训练正常行为的检测模型;
Step4:对测试数据样本集进行检测判别;
Step5:如果两个通信行为的检测率达到设定目标,则输出OCSVM的入侵检测判别函数,否则重新设定训练参数,并训练入侵检测模型。
根据OCSVM分类算法的原理,可以解决工控网络系统异常行为样本少和难以获取的问题。但是不同类型的攻击行为数据,特别是新型异常攻击,对实时增强入侵检测系统的检测能力非常重要。如果训练模型不利用已有的异常行为信息,对建立高效的通信行为检测系统本身是一种缺陷。
3.3 加权SVM的入侵检测方法
工控网络通信行为具有数据样本不平衡的特点,而标准的C-SVM算法在处理样本类别差异较大的分类问题中,分类错误率偏向于小样本数据;对OCSVM的分类算法只需利用正常行为数据样本,但缺少对异常攻击数据信息的利用。基于加权SVM的入侵检测方法,通过对数据类和样本的加权处理,减少数据样本不平衡及数据噪声对分类精度的影响[4]。加权SVM算法的入侵检测建模过程如下:
Step1:根据实际的通信行为数据样本,构造相应的训练和测试数据集;
Step2:设定算法的训练模型参数;
Step3:分析两个数据样本的规模和重要类型的数据样本,并设定对不平衡数据类的加权参数和对重要样本的加权参数;
Step4:训练加权SVM的入侵检测模型;
Step5:对测试数据集进行检测判别;
Step6:入侵检测检测结果符合系统设计要求,则获得对通信行为的决策函数,否则修改训练模型和加权处理参数,进行新的模型训练。
在利用SVM算法的入侵检测建模中,不仅要考虑对通信行为的检测率,也要分析具体漏报率和误报率。同时,由于工控网络设备对通信实时性的要求,入侵检测方法的应用需要充分考虑检测时间的指标,并对冗余的检测数据信息进行处理,以适应工控系统复杂环境的特点。
工业控制网络的信息安全问题越来越多地引起到社会关注,与此同时,对工控通信行为入侵检测方法的研究也将得到更大的发展。本文针对工业通信行为的入侵检测,说明了通信行为的检测特征提取方法,进一步的对标准C-SVM、OCSVM和加权SVM算法的入侵检测建模进行介绍,以促进SVM算法在工控网络入侵检测中的应用。
[1]彭勇,江长清,谢丰,等.工业控制系统信息安全研究进展[J].清华大学学报(自然科学版),2012,52(4):1396-1408.
[2]谭爱平,陈浩,吴伯桥.基于SVM的网络入侵检测集成学习算法[J].计算机科学,2014,41(2):197-200.
[3]张云贵,张伟,薛向荣,杨小军.基于自学习半监督单类支持向量机的SCADA入侵检测系统[J].冶金自动化,2013,37(02):1-5.
[4]廖明.加权支持向量机若干算法的研究及其应用[D].长沙:湖南大学,2011.