采用蜜罐技术的工业控制网络入侵检测算法研究

    张成 李永忠

    

    

    

    摘 要:为提高工业控制系统入侵检测的准确性,针对工业控制系统应用最广泛的Modbus协议缺陷,采用蜜罐技术将ModbusTCP协议数据包引入蜜罐系统中,研究其在蜜罐系统的活动记录,提取Modbus通信协议特征和蜜罐活动特征。采用核主成分分析法对非线性、高复杂度的Modbus通信行为进行特征优化;针对蜜罐系统中正负样本不平衡特点,采用加权SVM进行有效地精准分类。最后搭建仿真环境,利用Conpot蜜罐模拟工业控制系统场景,通过准确率、误报率和检测时间3个维度对检测方法进行对比。实验结果表明,该方法整体准确率达98.2%,可以应用于工控系统入侵检测,精确判别异常行为。

    关键词:ModbusTCP;蜜罐技术;核主成分分析;支持向量机;网络安全;工业控制

    DOI:10. 11907/rjdk. 201296????????????????????????????????????????????????????????????????? 開放科学(资源服务)标识码(OSID):

    中图分类号:TP312 ? 文献标识码:A ??????????????? 文章编号:1672-7800(2020)011-0202-04

    Research on Intrusion Detection Algorithm of Industrial Control Network

    Based on Honeypot Technology

    ZHANG Cheng,LI Yong-zhong

    (School of Computer, Jiangsu University of Science and Technology, Zhenjiang 212003,China)

    Abstract: In order to improve the accuracy of industrial control system intrusion detection, aiming at the defects of the Modbus protocol which is the most widely used, industrial control system, this article uses honeypot technology to introduce ModbusTCP protocol data packets into the honeypot system studies its activity records in the honeypot system and extracts Modbus communication protocol characteristics and honeypot activity characteristics. The kernel principal component analysis method is used to optimize the nonlinear and high-complexity Modbus communication behaviors; weighted SVM is used to accurately and accurately classify the characteristics of the imbalance between the positive and negative samples in the honeypot system. Finally, a simulation environment is set up, and the industrial control system scene is simulated by using the Conpot honeypot. The detection methods are compared through three dimensions, i.e., accuracy, false alarm rate and detection time. Experimental results show that the overall accuracy of the method reaches 98.2%, and the method can be applied to intrusion detection of industrial control systems to accurately discern abnormal behavior.

    Key Words: Modbus TCP; honeypot technology; kernel principal component analysis; support vector machine; network security; industrial control

    0 引言

    工业控制系统(Industrial Control System,ICS)是关系民生大计的重要组成部分,已广泛应用于工业生产领域和其它公共服务领域[1]。自2010年“震网”事件被揭露以来,工业控制信息安全威胁逐步加重[2]。近年来,大量国内外学者针对工业控制系统异常检测及安全防护进行研究[3]。文献[4]以ICS中的网络通信协议為特征,并基于这些特征建立异常检测规则;文献[5]通过选择功能码,利用SVM提出一种基于支持向量机的Modbus通讯协议异常检测方法;文献[6]通过选择功能码、窗口流量大小、报文长度、寄存器地址、相同服务连接数、连接时间共6项特征代表原数据包的行为信息,基于SVM的异常行为对ModbusTCP通信协议进行建模和异常判别。

    上述研究均采取了传统的入侵检测方法,但并未考虑到工业数据非线性强、复杂度高的特点。同时,由于入侵检测缺乏对未知攻击的检测能力,因此将蜜罐系统引入入侵检测中可以更好地解决现有缺陷。本文提出利用蜜罐技术模拟工业控制场景,捕获Modbus协议数据包,并提取蜜罐系统中Modbus异常入侵特征的方法。利用核主成分分析对特征进行降维,选择最优特征子集,针对蜜罐系统中正负样本不平衡特点,采用加权SVM分类器完成异常检测。

    1 蜜罐技术

    蜜罐技术[7]作为一种主动防御技术,通常用以监视、检测攻击并加以分析,蜜罐通过捕获入侵信息、记录攻击行为检测未知攻击,以分析入侵者攻击手段等[8]。

    蜜罐技术通过软件编程模拟出工厂虚拟场景,用于迷惑网络攻击者,当攻击发生时记录攻击过程痕迹,并分析捕获的攻击数据,从而提高工控网络安全性。将蜜罐技术与入侵检测相结合,能够减少传统入侵检测误报率和漏报率,更容易检测到未知攻击,提高检测能力。

    2 核主成分分析与加权支持向量机

    2.1 核主成分分析原理

    核主成分分析[9](Kernel Principal Component Analysis,KPCA)是一种使用最广泛的数据降维算法。核主成分分析是在主成分分析的基础上,考虑数据中潜在的非线性,从而获得数据的高阶特征[10]。

    假设φ为训练样本集X={x1,x2,…,xM}的非线性映射,M为训练样本总数,F为对应空间,则X的协方差矩阵为:

    C=1Mj-1M?(xj)?(xj)T???? (1)

    对C进行特征分解得:λυ=Cυ,其中υ为特征向量,λ为特征值,有:

    υ=i=1Nαi?(xi)?????????? (2)

    式中,αi为常数。由于映射?的具体形式未知,引入核函数代替协方差。假设N×N维核矩阵:

    K=Ki,jN×N=?(xi)??(xj)????? (3)

    式中,i,j=1,2,?,N。将式(3)代入特征方程得:

    Nλα=Kα?????????? (4)

    式中,α为矩阵K的特征向量。

    为了解除K的最大若干特征向量问题,将求解特征向量问题转化为求解式(4)的特征向量α。K为对称矩阵,因此需要将变换后获得的核矩阵K中心化变成核矩K1,有:

    K1=K-K×L-L×K+L×K×L (5)

    其中,L为N阶矩阵,满足Li,j=1N。

    2.2 加权支持向量机原理

    支持向量机(SVM)是一种利用统计学理论的机器学习方法[11],在针对高维度、非线性的小样本分类问题中,具有全局最优、泛化能力强的优势。加权SVM是针对样本数据不平衡特点,对数据样本作加权处理,从而寻找最优超平面[12]。

    其基本思想是利用核函数在高维空间内构造一个最优分类超平面[13],从而转化为二次回归问题,构造的目标函数为:

    minω,b,ε12w2+Ci=1mλyisiζi

    s.t.y(i)(wT?(x(i))+b)≥1-ζi??? (6)

    ζi≥0i=1,2?m

    其中,λyi为数据样本类别yi的加权系数,si是对数据样本的加权系数,C为惩罚常数,ε为松弛变量,?为原特征空间到高维空间的映射函数。

    3 基于KPCA与加权SVM的ModbusTCP协议特征融合异常检测算法

    本文基于Modbus TCP协议攻击检测分析,利用蜜罐技术模拟工业控制场景,捕获Modbus协议数据包,提取基于蜜罐系统中的Modbus异常入侵特征从而完成异常检测。

    基于KPCA与加权SVM异常检测算法结构如图1所示,利用核主成分分析对特征进行降维,选择最优特征子集,同时针对蜜罐系统中正负样本不平衡问题,采用加权SVM分类器完成异常检测。本文算法主要分为3个模块,分别为数据捕获、特征向量提取优化、异常检测。

    3.1 数据捕获

    当攻击者通过探测脚本或者攻击工具对蜜罐发送请求指令,蜜罐收到消息并回复,便产生了一个事件[14]。图2给出了蜜罐中Modbus协议502端口的一个扫描记录。

    对采集到的数据进行预处理,提取蜜罐日志中关于Modbus协议活动记录特征属性:时间信息、IP信息、端口信息和Modbus数据帧。

    3.2 特征向量提取优化

    Modbus通信协议中的选择特征主要是通过协议帧特征反映[15]。而蜜罐中Modbus通信行为特征构造主要考虑ModbusTCP的攻击操作模式,解析蜜罐中入侵者的行为反映。例如,入侵者反复访问同一个蜜罐,在相对较长时间内重复连接蜜罐能够反映异常行为模式的数据特征,因此构造通信时间和重复连接次数、异常连接次数表征蜜罐中Modbus通信行为特征。