陈万志,李东哲
(辽宁工程技术大学 电子与信息工程学院,辽宁 葫芦岛 125105)(*通信作者电子邮箱775693539@qq.com)
工业控制系统(Industrial Control System, ICS)在设计之初普遍采用专有的通信设备、操作系统和硬件设备,独立于其他网络,且大多数ICS采用专有的通信协议[1],但随着ICS不断引入TCP/IP协议、工业以太网、现场总线等网络化技术,工控设备与管理信息网络、互联网深度融合互连的同时,也带来了系统的安全威胁。传统的入侵检测技术等安全技术虽然比较成熟,却不能直接应用于ICS,因此,若要提高ICS的通信异常检出率,则需要依据不同的协议特点建立不同的入侵检测系统。
入侵检测主要分为误用检测和异常检测两大类,其中:误用检测是通过与已知的异常行为间的匹配程度来实现入侵检测,也称为基于先验知识的入侵检测,包括基于统计的方法、基于知识的方法和基于机器学习的方法;而异常检测是通过建立正常行为模型来寻找偏离的异常行为,故也被称为基于行为的入侵检测,包括基于专家系统的误用检测、基于模型的误用检测等[2]。
目前,研究者们提出了不少针对ICS的入侵检测方法。尚文利等[2]提出了一种基于PSO-SVM的Modbus TCP通信异常检测方法,该方法在数据预处理的过程中将样本分为“异常”“无标识”两类,方法的准确率受到了工业控制系统“异常”数据难以获得的限制。张云贵等[3]提出了一种基于非参数CUSUM(CUmulative SUM)算法的入侵检测模型,利用控制模型中预测输出与实际传感器信号输出的差值进行检测。该方法是在对工业控制系统生产工艺熟悉的基础上构建的,若改变生产环境,方法就可能产生较大误差。Mutha等[4]对SCADA(Supervisory Control And Data Acquisition)协议分析建立了白名单规则,分析过程使用关联规则,利用通信数据与最近系统日志中异常通信数据匹配相似度来判断异常行为。此方法需针对不同应用网络环境的系统日志进行分析,当网络环境变化较大时,难以有较高的检测率。Kwon等[5]针对智能电网的通信协议IEC61850建立白名单规则库,从而检测不符合通信规则的通信数据;但该方法仅针对IEC61850协议建立规则,不适用于其他网络,即规则库外的特征行为无法检测,当网络中出现未知类型攻击时可能难以识别。
根据上述文献可知,采用白名单技术的异常检测能够有效地检测出规则库中的通信异常行为,规则库内的规则具有简明直观的优点,可以是离散特征,也可以是连续特征;但白名单方法只能检测规则库中规定的异常行为,当攻击特征发生变化时,系统则无法辨识[5]。ICS对实时性的要求,导致ICS网络通信数据海量且以正常数据为主体,单一的无监督深度算法检测可以解决样本不完备情况下的检测,但是在出现非训练样本中的异常数据时,则需要将数据放入样本中重新训练,且训练过程对样本数据的要求很高,通常需要将连续特征离散化,难以适应ICS对稳定性、实时性的要求。因此本文在白名单检测基础上将自适应变异粒子群优化(Particle Swarm Optimization with Adaptive Mutation, AMPSO)算法与BP(Back Propagation)神经网络相结合,提出一种新的入侵检测算法AMPSO-BP,白名单可以设置连续特征的特征范围和常见特征,神经网络则用于检测特征不完备或多特征异常情况。本文方法简化了BP算法的训练过程,提升了BP算法效率,同时解决了PSO算法容易过早陷入局部最优的问题,通过对样本数据库进行无监督学习,持续主动地更新白名单规则库,实现通信异常的识别,降低系统学习频率。
BP神经网络是一种多层前馈神经网络,用于学习输入与输出之间的映射关系,是神经网络算法中的经典算法,在参数调整的部分,BP算法基于梯度下降的策略确定最佳的权值和阈值。为了提高BP神经网络的收敛速度,减小初值不同对训练结果的影响,利用粒子群优化(Particle Swarm Optimization, PSO)算法对BP算法的参数调整过程进行优化,改进了梯度下降算法中求微积分和求导的过程[6-9],避免BP算法陷入过拟合状态。其中PSO算法的速度、位置更新公式如下:
(1)
xl(n+1)=xl(n)+vl(n+1);l=1,2,…,m
(2)
惯性权重w一般取值在0.1~0.9,如果w随着算法迭代的进行而线性减小,将显著改善算法收敛性能。设wmax为最大权重,wmin为最小权重,run为当前迭代次数,runmax为算法迭代总次数,则有w的计算公式[10-11]如下:
(3)
PSO算法一般采用实数编码,由于没有选择、交叉、变异等操作,算法结构相对简单,因此运算速度很快,但在寻优过程中很容易陷入局部最优值,即当粒子群适应度方差趋近于零时,粒子群中的粒子会聚集在一个或几个特定位置[10]。其中,粒子群适应度方差根据式(4)计算,因此,适应度不能作为寻优的唯一参数,本文参考文献[10],在PSO寻优的过程中加入自适应变异过程[11-15]。
设粒子群的粒子数为N,fi为第i个粒子的适应度,favg为粒子群目前的平均适应度,δ2为粒子群的群体适应度方差。δ2计算公式如下:
(4)
其中:f是归一化定标因子,作用是限制δ2的大小。f随算法的变化而变化,本文利用式(5)进行计算:
(5)
在算法运行过程中,如果δ2=0,此时得到的并非全局最优解,则说明粒子陷入了局部最优,算法过早收敛,此时找到的全局最优解gbest是目前找到的最优解,因此,此时的gbest需要通过变异操作跳出此刻局部区域,寻找新的个体极值pbest,进而确定全局最优解gbest。本文的自适应变异粒子群优化(AMPSO)算法将gbest按照一定概率pm变异。pm的计算公式如下:
(6)
(7)
在实际工业生产中,ICS的通信数据特征往往与生产环境和实际生产中的操作相关联,因此要依据具体的生产环境进行特征提取,并将其作为BP神经网络的输入神经元。AMPSO-BP算法[10]的具体流步骤如下。
1)针对特定的网络样本数据提取特征值,作为BP神经网络的输入值。
2)初始化BP网络,确定网络各层的神经元个数。
3)初始化粒子群规模、每个粒子的速度v、位置x、个体极值pbest、全局最优值gbest、惯性因子w、学习因子c1和c2,设置PSO算法最大迭代次数。
设置位置和速度的限定范围[xmin,xmax]和[vmin,vmax],且限定在[0,1],不允许迭代所得数据超出限定范围。
粒子的位置、速度向量的维数D为输入层到隐含层连接权值、隐含层到输出层的链接权值、隐含层的阈值及输出层的阈值个数的总和。
4)先向BP神经网络输入一个粒子,按照BP神经网络中前向计算方法计算其输出值,依据式(8)计算误差,依据式(9)计算适应度,然后依次输入其他粒子,直至算出所有粒子的适应度。计算粒子适应度函数应用BP神经网络的均方误差函数[7]:
(8)
(9)
其中:f(p,i)为第i个粒子的适应度值;N为训练集样本数;oi, j第i个粒子第j个样本输出实际值;yi, j为第i个粒子第j个样本输出的理想值。
5)通过比较粒子的适应度,确定粒子个体的个体极值点和全局最优极值点,Ppresent为当前粒子适应度,Pbest为pbest粒子适应度,Gbest为gbest粒子适应度:
若Ppresent 若Ppresent 6)根据式(1)~(3)更新个粒子的速度、位置,对于超过限定范围的值定义为最大值。 7)根据式(4)~(5)得到适应度方差参量δ2。 8)根据式(6)得到一个变异因子pm。 9)选择一个随机数r∈[0,1],判断r 10)若已经达到设置的最大迭代次数,或当前精度值以达到预设精度,则视当前点为最佳位置,将最佳位置中每一维向量作为BP神经网络权值和阈值,否则执行步骤4)。 工业控制系统通信数据大多是实时传输的,在海量的通信数据中异常通信数据情况较为单一、样本数较少且种类也并不丰富,工业控制系统数据常常受到生产具体项目的限制,具有周期性、季节性等特点,但其独特的行业特征对系统的稳定性要求极高[16-19]。 近年来,工业控制系统为了便于企业管理,将上层管理系统与底层工业控制网络互连互通,用户通过企业管理信息网中的相关应用程序监控工业控制网中的工业设备的运行参数、获取服务器上的生产数据。 因此,依据其特点采用如图1所示的体系结构构建异常检测模型,在管理信息网络中用户客户端与Web服务器间加入白名单过滤和AMPSO-BP神经网络的深度学习检测环节,提升跨网异常通信的检测率。 图1系统模型架构 Fig. 1Architecture of system model 2.2.1白名单过滤 白名单过滤是管理信息网与工业控制网络通信链路上的第一次检测,其规则根据工业控制网络通信数据特征以及实际生产过程中所产生的数据特征来建立,包括通信协议中规定的接口标识符、源IP地址、目的IP地址、登录客户端的用户名、域名、主机名等特征信息。依据每个特征建立一条R={R1,R2,…,Rn}形式的规则集合。 检测过程中预设两种动作:Pass和Alert,Action[0]为Pass,Action[1]为Alert。Pass意为数据安全,可以继续通信;Alert意为数据不符合白名单规则,通信需终止,停止传送数据。通信过程中,首先对通信数据包进行解析,找到数据传输的特征信息,并与白名单中规则进行匹配,如有其中一条不匹配则发出警报,动作为Action[1]。 利用网络通信基本特征构造的白名单规则库,由系统管理员在工业控制网络服务器入口进行编辑实现控制,当动作状态是Action[1]时,则系统为警告状态,中止数据通信,需具有增加或删除白名单规则权限的管理员人工解除入侵检测警告,因此,跨网访问首先要经过白名单规则判定,用户的通信数据只能通过白名单后才能进入神经网络检测系统,进而访问工业控制网络。 2.2.2白名单-AMPSO-BP检测流程 在离线条件下采用本文提出的AMPSO-BP方法进行神经网络训练,对神经网络进行无监督训练学习,得到输出层结果作为在线工作的第二次检测过滤器,进而预测通信数据是否行为异常。 神经网络训练利用日志等历史数据,提取样本数据特征值,并将特征值规范化,作为神经网络的输入,其中:连续训练数据需根据式(10)离散化,离散数据需编码,范围为[0,1]。Xi是一个特征实例,X代表特征类型集。 X′=[Xi-min(X)]/[max(X)-min(X)] (10) 在建立通信过程中,用户通过客户端登录系统并向Web服务器发送通信请求,异常检测系统根据白名单规则中特征信息解析数据包,不符合白名单规则的通信视为危险信息,并向管理员发出警报;否则通过AMPSO-BP过滤器第二次检测。管理员可根据检测出的异常通信特征完善白名单规则,或者解除突发事件产生的警报;也可以根据具体生产环境和季节差异制定白名单规则。经过异常检测系统后判定为正常信息,则完成数据通信,其工作流程如图2所示。 根据本文系统的工作流程可知本文结合白名单和神经网络的异常检测方法有以下优势:管理员可以在白名单中设置连续性特征的安全域,无需先将特征离散化,例如数据包长度;管理员可以根据IP等数据特征以及办公系统数据库中该员工是否出差等其他信息,判断跨网通信是否为公司职员操作,提升远程到本地的非授权访问攻击(Remote-to-Login, R2L)攻击类型检测率;系统可以根据AMPSO-BP判定结果更新白名单规则库。 3.1.1实验数据 企业管理网与工业生产网络互联是建立在TCP(Transmission Control Protocol)、UDP(User Datagram Protocol)、ICMP(Internet Control Message Protocol)等协议之上的接口标准,其数据特征包含网络数据特征,因此,算法有效性验证部分的测试集选用入侵检测领域广泛采用的KDD CUP99实验数据集作为训练和测试样本,其中包含拒绝服务攻击(Denial of Service, DoS)、R2L、非授权获取超级用户权限攻击(User-to-Root, U2R)、探测攻击(Probe)四大类入侵行为,训练数据集包含22种入侵类型,测试数据集包含37种入侵类型。在保证所含的入侵行为种类不变的前提下,从中抽取部分数据作为实验数据,如表1所示。 图2 入侵检测流程Fig. 2 Flow chart of intrusion detection 表1 实验数据信息Tab. 1 Experimental dataset information 3.1.2实验环境和参数设置 测试实验硬件环境为Intel core i5 2.60 GHz,内存8 GB,操作系统为Windows 7旗舰版,软件环境为Matlab a2014。 首先,在数据集中依据ICS网络通信的特点提取目的IP、源IP、MAC、客户端用户登录名、数据包大小、域名、主机名等7个特征构造白名单规则库。其次,构造5层BP神经网络,隐层设置为3层;从数据的41个属性参数中选取10个属性参数,并将这10个属性参数归一化,将归一化的数据作为输入(Input)层节点,具体的参数选取在图3的Input层给出;输出(Output)层6个节点分别为Normal正常数据、DoS攻击、U2R攻击、R2U攻击、Probe攻击和Unknow未知类型异常攻击;隐层(Hidden)节点数设置为30个。神经网络拓扑结构如图3所示。 图3 神经网络拓扑Fig. 3 Neural network topology 3.1.3实验结果与分析 实验采用的评价指标为检测率和误报率。其中:检测率为正确检测异常通信样本的数量与测试集中异常样本总数量的比值;误报率为错判为异常的正常样本数量与测试集中正常样本数量的比值。 实验中PSO算法加速部分迭代最大次数设置为100,每次迭代过程中记录其粒子适应度方差δ2,结果如图4所示。从图4中可以看出,PSO-BP算法的方差在迭代20次陷入最小值,而AMPSO-BP算法迭代82次寻到最优解,跳出了局部最优陷阱。这两种神经网络的训练误差如图5所示,可以看出:AMPSO-BP算法训练21次误差达到最小值,为0.089 13;而PSO-BP算法训练37次达到最小值,为0.037 59。因此本文提出的AMPSO-BP算法减小了PSO算法陷入局部最优的几率,提升了神经网络训练的速度和精度。 图4 适应度方差曲线比较Fig. 4 Comparison of fitness variance curves 利用不同类型的异常数据对白名单系统、白名单-PSO-BP系统和本文的白名单-AMPSO-BP系统进行测试,准确率结果如图6所示。可以看出,白名单可以有效地检测连续型特征和特征值固定的离散特征,但是通信数据中包含的特征包括连续型和离散型两种特征,因此准确率不高;而加入神经网络后针对已知类型检测准确率都达到了80%,在白名单的基础上加入AMPSO-BP算法,对不同类别异常通信检测率均有提高,尤其是对未知类型异常的检测。 图5 训练误差比较Fig. 5 Comparison of training error 图6 三种系统检测率比较Fig. 6 Comparison of detection rates for three methods 由于本文的本文的白名单-AMPSO-BP方法与文献[20]方法都是针对ICS网络设计的,因此将白名单-AMPSO-BP方法与文献[20]的改进K-means算法在相同的训练和测试样本集上进行比对实验,结果如表2所示。其中:本文的白名单-AMPSO-BP方法对异常通信的检测率略高于文献[20]方法,误报率基本相同。 表2 两种方法的检测率和误报率比较 %Tab. 2 Comparison of detection rate and false positive rate of two methods % 由于ICS实际网络通信具有实时数据量大且异常样本所占比重相对较小的特点,为进一步验证训练样本数对本文白名单-AMPSO-BP方法的影响,依据上述各类训练样本按一定比例减少样本数进行了测试实验,检测率和误报率结果如图7所示。在图7的训练过程中,控制每组训练样本个数占总样本的百分比在60%~100%。训练在样本数逐渐增加情况下,本文的白名单-AMPSO-BP方法、文献[20]的方法、白名单-PSO-BP方法的检测率都有所提升。在训练样本数占总样本数的60%、70%时,文献[20]提出的改进的K-means算法准确率略高于本文方法,训练样本数占总样本数的比率增加至90%、100%时,本文方法略高于文献[20]方法;训练样本占样本总数的60%、70%、80%时,本文方法所产生的误报率均高于文献[20]方法,而当训练样本占总数的90%,甚至增加至100%时,文献[20]方法的误报率高于本文方法。说明随着样本数量的增长,本文方法的准确率上升更明显,且当样本数量高于80%后,本文方法的准确率高于文献[20]方法,当样本数量高于90%后,误报率低于文献[20]方法,因此,在样本充足的条件下,本文方法是具有优势的。 图7 训练样本数对异常通信检测的影响Fig. 7 Influence of number of training samples on detection for abnormal communication 此外在实验过程中发现,算法训练的次数对算法的检测准确率也存在影响。由于本文方法与文献[20]的方法都是无监督学习的方式,因此将二者在不同的训练学习次数情况下的检测率进行比对,结果如图8所示。与白名单-PSO-BP方法和文献[20]的方法相比,本文方法在训练次数和精确程度上均有比较明显的优势,本文方法在训练22次时检测率开始稳定,检测率为87.31%;另外两种方法的检测率分别在训练次数为36和37时达到稳定状态,其中文献[20]方法准确率达84.24%,略低于本文方法。 图8 三种算法检测率比较Fig. 8 Comparison of detection rate for three algorithms 3.2.1实验数据获取 OPC(Object Linking and Embedding (OLE) for Process Control)协议是工业网络中一种常用协议,为了验证本文方法在工业控制领域的适用性,搭建了OPC协议实验仿真环境,网络拓扑结构如图9所示。仿真环境中OPC客户端和模拟攻击源计算机均采用Intel core i5 2.60 GHz处理器,内存8 GB,Windows 7操作系统;参照文献[21]的方法,利用在WinCC上启用WinCC OPC DA作为OPC服务器,WinCC OPC服务器IP设置为192.168.0.12,在Visual Studio编程环境中编写WinCC OPC服务器与OPC客户端之间通信数据监控程序,服务器所用PC处理器采用Intel Core i5 2.60 GHz,内存8 GB,Windows 7操作系统。现场控制器PLC(Programmable Logic Controller)模拟液体容器中的液位控制,其中,液位的数值和开关状态均在PLC中模拟实现,PLC产生的模拟数据存储于WinCC自带的SQL数据库。 模拟攻击源利用Matlab a2014模拟对PLC发送恶意流量。建立通信过程中,WinCC实时监控通信数据,并保留通信过程中的网络基本参量:协议类型、目的地址、SQL尝试登录失败的次数、读取的变量名称、通信数据大小、连接持续时间、通信状态标志。 在所搭建的工业控制仿真系统实验环境下获取数据152条,其中正常数据为89条,异常数据为63条,部分数据如表3所示。 3.2.2实验参数设置及数据分析 在工业控制仿真系统实验环境提取的7组特征中,选取协议类型、SQL尝试登录失败的次数、连接持续时间和通信数据大小4组特征参数构造白名单规则库。构造5层BP神经网络,隐层设置为3层:将7组特征属性参数归一化,而后作为输入层节点的输入,输出层2个节点分别输出Normal正常数据、通信异常数据,隐层节点数设置为21个。PSO算法与AMPSO算法的初始化学习因子c1、c2的取值均为0.5,其他参数均则3.1节实验设置相同。 图9 工业控制系统仿真环境Fig. 9 Simulation environment of industrial control system 将在仿真系统实验环境中采集的152条数据中的102条作为训练集,包含58条正常通信数据和44条异常通信数据;另外50条作为测试集,包含31条正常通信数据和19条异常通信数据。 实验过程中,为描述系统稳定性,建立训练误差曲线,如图10所示:本文方法在训练16次时达到稳定状态,白名单-PSO-BP训练18次时进入稳定状态,文献[20]方法在迭代16次时达到了系统稳定。由于训练样本数据较少,系统稳定时三种方法的训练误差都达到了0%。 系统达到稳态后测试对比了三种方法检测率。在同一实验条件下比较:本文方法检测出异常通信15条,误报异常通信2条;文献[20]方法检测出异常通信14条,误报异常通信1条;白名单-PSO-BP方法检测出异常通信14条,误报异常通信3条。三种方法的检测率和误报率如表4所示。可以看出,在工业控制系统仿真环境下,本文方法检测率高于白名单-PSO-BP方法,误报率低于白名单-PSO-BP方法,具有明显优势;训练样本较少的情况下,本文方法的检测率高于文献[20]方法,但也由于样本集中数据偏少,造成误报率会高于文献[20]方法。 表3 部分采集数据Tab. 3 Partial collection data 图10 训练误差比较Fig. 10 Comparison of training error 表4 三种方法的检测率、误报率比较 %Tab. 4 Comparison of detection rate and false positive rate of three methods % 针对ICS网络环境下的入侵检测问题,本文提出了一种将白名单和AMPSO-BP神经网络过滤有机融合的通信异常检测方法——白名单-AMPSO-BP,利用神经网络有效地识别异常数据,完善白名单规则库。利用KDD CUP99数据验证了白名单-AMPSO-BP方法的有效性,并分别与白名单-PSO-BP方法和文献[20]的方法进行了对比,结果显示:本文方法的检测率和误报率均优于白名单-PSO-BP方法;当训练样本充足时,本文方法相比文献[20]的方法也更具优势。此外,本文还利用一组在工业控制系统仿真环境下获得的数据进行了实验对照,验证了本文方法在工业控制网络中的有效性,其检测率高于白名单-PSO-BP方法和文献[20]的方法,误报率低于白名单-PSO-BP方法,但由于样本集中数据较少,其误报率高于文献[20]的方法。下一步研究将在实际ICS网络场景中对所提方法进行测试,重点完善其在缺少样本条件下的稳定性和检测的时效性。 参考文献(References) [1]尚文利,李琳,万明,等.基于优化单类支持向量机的工业控制系统入侵检测算法[J].信息与控制,2015,44(6):678-684. (SHANG W L, LI L, WAN M, et al. Intrusion detection algorithm based on optimized one-class support vector machine for industrial control system [J]. Information and Control, 2015, 44(6): 678-684.) [2]尚文利,张盛山,万明,等.基于PSO-SVM的Modbus TCP通讯的异常检测方法[J].电子学报,2014,42(11):2314-2320. (SHANG W L, ZHANG S S, WAN M, et al. Modbus TCP communication anomaly detection algorithm based on PSO-SVM [J]. Acta Electronic Sinica, 2014, 42(11): 2314-2320.) [3]张云贵,赵华,王丽娜.基于工业控制模型的非参数CUSUM入侵检测方法[J].东南大学学报(自然科学版),2012,42(S1):55-59. (ZHANG Y G, ZHAO H, WANG L N. A non-parametric CUSUM intrusion detection method based on industrial control model [J]. Journal of Southeast University (Natural Science Edition), 2012, 42(S1): 55-59.) [4]MUTHA M A A, TUTEJA M R R. Secure and efficient approach for multilayer cyber security based on intrusion detection system [J]. International Journal of Advent Research in Computer and Electronics, 2015, 2(2): 33-37. [5]KWON Y J, KIM H K, LIM Y H, et al. A behavior-based intrusion detection technique for smart grid infrastructure [C]// Proceedings of the 2015 IEEE Eindhoven PowerTech. Piscataway, NJ: IEEE, 2015: 1-6. [6]周世波,徐维祥.船舶轨迹异常检测方法研究进展[J].电子测量与仪器学报,2017,30(3):329-337. (ZHOU S B, XU W X. Research progress on anomaly detection in vessel tracking [J]. Journal of Electronic Measurement and Instrument, 2017, 30(3): 329-337.) [7]刘珊珊,谢晓尧,景凤宣,等.基于PCA的PSO-BP入侵检测研究[J].计算机应用研究,2016,33(9):2795-2798. (LIU S S, XIE X Y, JING F X, et al. Research on network intrusion detection based on PCA PSO-BP [J]. Application Research of Computers, 2016, 33(9): 2795-2798.) [8]潘昊,侯清兰.基于粒子群优化算法的BP网络学习研究[J].计算机工程与应用,2006,42(16):41-43. (PAN H, HOU Q L. A BP neural networks learning algorithm research based on particle swarm optimizer [J]. Computer Engineering and Application, 2006, 42(16): 41-43.) [9]马吉明,徐忠仁,王秉政.基于粒子群优化的灰色神经网络组合预测模型研究[J].计算机工程与科学,2012,34(2):146-149. (MA J M, XU Z R, WANG B Z. A PSO-based combined forecasting grey neural network model [J].Computer Engineering & Science, 2012, 34(2): 146-149.) [10]吕振肃,侯志荣.自适应变异的粒子群优化算法[J].电子学报,2004,32(3):416-420. (LYU Z S, HOU Z R. Particle swarm optimization algorithm based on adaptive mutation [J]. Acta Electronic Sinica, 2004, 32(3): 416-420.) [11]BABAZADEH A, POORZAHEDY H, NIKOOSOKHAN S. Application of particle swarm optimization to transportation network design problem [J]. Journal of King Saud University — Science, 2011, 23(3): 293-300. [12]MAGNANTI T L, WONG R T. Network design and transportation planning: models and algorithms [J]. Transportation Science, 1984, 18(1):1-55. [13]郭通,兰巨龙,李玉峰,等.基于量子自适应粒子群优化径向基函数神经网络的网络流量预测[J].电子与信息学报,2013,35(9):2220-2226. (GUO T, LAN J L, LI Y F, et al. Prediction of network traffic based on quantum adaptive particle swarm optimization and radial basis function neural network [J]. Journal of Electronics Information Technology, 2013, 35(9): 2220-2226.) [14]CHEN W N, ZHANG J, CHUNG H S H, et al. A novel set-based particle swarm optimization method for discrete optimization problems [J]. IEEE Transactions on Evolutionary Computation, 2010, 14(2):278-300. [15]艾永冠,朱卫东,闫冬.基于PSO-BP神经网络的股市预测模型[J].计算机应用,2008,28(S2):105-108. (AI Y G, ZHU W D, YAN D. Stock marker forecast model based on PSO-BP neural network [J]. Journal of Computer Applications, 2008, 28(S2): 105-108.) [16]YANG Y, MCLAUGHLIN K, LITTLER T, et al. Rule-based intrusion detection system for SCADA networks [C]// RPG 2013: Proceedings of the 2nd IET on Renewable Power Generation Conference. Stevenage, UK: IET, 2013: 1-4. [17]MCPARLAND C, PEISERT S, SCAGLIONE A. Monitoring security of networked control systems: it’s the physics [J]. IEEE Security & Privacy, 2014, 12(6): 32-39. [18]BAIG Z A. Rapid anomaly detection for smart grid infrastructures through hierarchical pattern matching [J]. International Journal of Security & Networks, 2012, 7(2): 83-94. [19]尚文利,安攀峰,万明,等.工业控制系统入侵检测技术的研究及发展综述[J].计算机应用研究,2017,34(2):328-333. (SHANG W L, AN P F, WAN M, et al. Research and development overview of intrusion detection technology in industrial control system [J]. Application Research of Computers, 2017, 34(2): 328-333.) [20]王海凤.工业控制网络的异常检测与防御资源分配研究[D].杭州:浙江大学,2014:36-57. (WANG H F. On anomaly detection and defense resource allocation of industrial control networks [D]. Hangzhou: Zhejiang University, 2014: 36-57.) [21]肖国荣.改进蚁群算法和支持向量机的网络入侵检测[J].计算机工程与应用,2014,50(3):75-78. (XIAO G R. Network intrusion detection by combination of improved ACO and SVM [J]. Computer Engineering and Applications, 2014, 50(3): 75-78.) [22]周亚建,徐晨,李继国.基于改进CURE聚类算法的无监督异常检测方法[J].通信学报,2010,31(7):18-23. (ZHOU Y J, XU C, LI J G. Unsupervised anomaly detection method based on improved CURE clustering algorithm [J]. Journal on Communications, 2010, 31(7): 18-23.)2 工业控制网络的入侵检测
2.1 入侵检测系统架构
2.2 结合白名单与AMPSO-BP的入侵检测方法
3 测试与结果分析
3.1 算法有效性验证
3.2 工业控制仿真测试
4 结语