丁朝晖,张 伟,杨国玉,刘 腾
(中国大唐集团科学技术研究总院有限公司,北京 100043)
为了实现有效的安全运营,企业和组织进行了大量的投入,纷纷成立了安全运营中心,建立了安全运营团队,搭建了安全运营平台,并逐步形成了一些安全运营流程。随着网络空间安全形势日趋恶化,网络安全地位日益提升,但受限于传统网络安全预测技术的缺陷,现有的安全运营工作面临诸多挑战。以下列举部分典型的网络安全预测面临的困难:
(1)预测不准确,安全运营人员忙于处理无关紧要的威胁警报,而没有时间处理真正重要的预警信息。加之,安全从业人员匮乏已是众所周知,安全运营人员尤其紧缺,在这种情况下,迫切需要提高预警的准确率。
(2)预警信息太多,处理起来费时费力,安全运营工作中最主要的工作之一就是预警处理。安全工具不断叠加部署造成预警数量与日俱增。如何高效处理海量预警信息已经成为安全运营的一个永恒话题。每种工具都在尽力减少警报,而安全信息和事件管理工具和传统的安全运营中心也花费了大量的精力在消除预警上,大数据分析技术、机器学习和人工智能技术纷纷引入,试图从多个维度降低预警,但效果依然有待改善。
网络安全已成为关系国家安全和发展、关系人民群众切身利益的重大问题,网络安全形势也是日益严峻,网络攻击危害政治安全、社会稳定、经济发展、文化建设,网络空间的国际竞争方兴未艾。潜在的网络攻击和威胁如果能被准确预测,在攻击成功之前采取有力措施,阻断攻击,甚至反击攻击者,已成为网络安全研究的新方向。
预测即根据过去的收集到的威胁情报推测未来可能面临的安全威胁。依据预测的性质、任务来划分,主要分定量预测和定性预测两类[1]。定量预测主要利用数学模型和方法,依据收集的原始数据和信息,通过对这些数据和信息进行分析,找出网络攻击成功事件与这些数据和信息的对应关系,得到工业控制系统中可能发生的网络安全事件或者变化规律,达到预测的目的,其分析方法主要包括时间序列、回归分析、人工神经网络等。定性分析主要依靠经验积累和能力,利用有限原始数据进行推理、判断和估测,其方法主要包括类推法、判断分析法等[2]。本文重点介绍定量预测方法。
时间序列[3]是指由某一随机过程在不同时刻的相继观察到的数值排列而形成的一组数字序列。在一个时间序列里,这组数值与聚集的时间粒度密切相关,且按时间顺序排列。
由此可以看出,时间序列预测技术是一种统计预测的方法,通过时间序列对应的事件状态、趋势、维度和规律推理分析,预测事件走向和严重程度的方法。它研究预测目标与时间过程的演变关系,建立函数y=f(t),y即网络安全态势值,该值由态势评估获取而来,为非线性。根据统计规律性构造拟合f(t)的数学模型,设定时间序列为t1 时间序列预测法简单方便,可操作性好。但是,如果需要预测结果更加精确预测,则需要模型阶数和参数的最佳估值,要达到这样的效果,建模过程相当复杂。 基于回归分析模型的预测方法是在分析各种因变量和自变量之间关联关系的基础之上,确定自变量(态势值)和因变量(评估指标)之间的逻辑、函数关系,达到预测态势的目的[5]。 回归分析的基本思想:首先从一组观测到的样本数据出发,建立变量之间的函数关系;然后对这些函数关系的可信度进行验证,确定影响某主要结合值的各变量的影响程度;再进一步利用函数关系,确定一个或几个变量的取值来影响另一个特定结果变量的取值,并量化该影响的精确程度。 回归分析预测方法的一般步骤[6]: (1)平稳性判断。根据平稳时间序列的特征对其平稳性进行判断。 (2)模型识别。在得到平稳序列后,进行模型的初步识别和定阶,初步识别自相关函数(ACF)和偏相关函数(PACF),根据ACF 和PACF 的拖尾或截尾性质,确定采用的回归序列预测模型。 (3)选定模型阶数。经过模型识别后,需要减少预测误差,通过选定合适的模型阶数,来达到使模型拟合程度更好、误差最小的目标。 (4)参数估计。确定了事件序列的模型和阶数后,还需要对模型的参数进行计算。 (5)模型校验。回归预测模型是否可用于实际预测,取决于对回归预测模型的检验和对预测误差的计算。回归模型只有通过各种检验,残差序列为白噪声时,序列有用信息提取充分,才能将回归模型作为预测模型进行预测;否则说明有用信息没有提取完整,需对模型进行修改或重新建模[7]。 人工神经网络[8]简称神经网络,它是一种模拟大脑神经的结构进行信息处理、分析、设计、思考、学习等思维活动的数学模型,用以解决和处理复杂的问题。 神经网络由简单的处理单元——神经元组成,神经元具有存储信息、学习知识,总结经验的功能,利用神经网络通过学习从输入信息中获取知识,通过自学习能力,还可多次从新的输入中进行联想、概括、类比和推广,调整认知,从而产生更准确的输出。因此,神经网络具有自学习、自完善、创新性、健壮性、容错性等特点。 一个典型的人工神经元模型由输入X=(x1,x2,…,xn)、网络权值W=(w1,w2,…,wn)、阈值V、求和单元∑、激励函数f、输出Y组成,如图1 所示。 图1 典型人工神经元模型 在网络安全态势预测中,通过对输入层信息进行函数计算,得到各个输出节点的值,这个值代表网络攻击成功概率和严重程度,数值越大,网络攻击成功概率越大,严重程度越高,需要尽快进行安全加固[9]。 RBF 神经网络[10]是一种3 层神经网络,包括输入层、中间层、输出层。输入RBF 神经网络的矢量直接映射到中间层,并不通过权连接。当RBF 神经网络的中心点确定以后,这种映射关系也被确定。而中间层空间到输出空间的映射是线性的,即网络的输出是隐单元输出的线性加权和,此处的权即为网络可调参数。其中,隐含层的作用是把向量从低维度映射到高维度,这样低维度线性不可分的情况到高维度就可以变得线性可分了。这样,网络由输入到输出的映射是非线性的,而网络输出对可调参数而言却又是线性的。网络的权就可由线性方程组直接解出,从而大大加快学习速度。RBF 神经网络由于中间层较少(只有一个),因此,其训练速度快,训练简洁。目前已经证明RBF 网络能够以任意精度逼近任意连续的函数,且具有全局逼近能力,从根本上解决了BP 网络的局部最优问题,而且拓扑结构紧凑,结构参数可实现分离学习,收敛速度快[11]。 本次设计RBF 神经网络预测实验模型采集数据主要来自普通网络攻击者,根据普通网络攻击者一般对一个工控系统展开为期两天的攻击,如果没有结果,会放弃本次攻击。因此,本次模拟实验,收集两天的攻击数据样本,预测普通网络攻击者是否已经获取工控系统服务器权限或者即将获取工控系统服务器权限,其模型参数选取如表1 所示。 表1 RBF 神经网络攻击预测实验模型参数 本次RBF 神经网络训练样本数量为1 000,如果训练样本过多,可能出现过拟合现象[12];如果训练样本过少,则预测结果误差较大。因此,选择训练样本数量为1 000,训练过程如图2 所示。 图2 神经网络学习流程图 下面以某电厂的电力控制系统为例,基于工业协议(如Siemens S7、Modbus、Bacnet、Ethernet/IP 等)来开展各种维度的监测、分析等,获取流量中的疑似恶意攻击行为,在本文中主要研究工业态势感知系统捕获到对电力控制系统的工程师站和操作员站主要7 种网络安全攻击。本次实验中输入样本数据范例如表2 所示,这样的样本数据共有1 000 个,每个样本参数有20 个,通过对这些样本进行分析,预测系统中可能发生的安全事件位置和事件严重程度、发生的概率等,减少误报和重复预警。 表2 网络安全事件输入样本数据范例(部分) 严重程度越高代表预测该攻击发生概率高,网络攻击成功概率和严重程度成正比,网络攻击成功概率越高,严重程度越高,需要尽快进行安全加固。网络攻击严重程度划分如表3 所示。 表3 网络攻击严重程度划分 通过对电力工控网络攻击样本进行分析,使用RBF神经网络攻击预测实验模型实现预测,经过训练收敛后,使用剩余样本获得网络攻击成功可能性预测值。在训练中,学习率取0.03,首先,各层的权值随机输入[13]。然后,根据训练目标对各层的权值进行调整,并判断预测值与标签的均方误差是否满足MSE≤0.1,当均方误差达到要求时,训练结束,神经网络的参数随之确定,用训练好的神经网络参数对剩余200 个样本点进行预测,预测结果如表4 所示。 表4 网络攻击严重程度预测(部分) 通过使用本文中描述的RBF 神经网络,使用表1 的训练集数据,得到表2 的输出结果集,与验证集中的数据进行对比,如同一目标有两条攻击路线,则选择概率高的作为结果,预测模型的预测结果与网络攻击实际结果(验证集)进行对比,攻击可能性大于90%的攻击实际发生率为99.9%,如表5 所示,可见该算法对于网络攻击预测准确率极高[14]。 表5 预测模型与实际值对比表(部分) 随着网络态势感知走向动态网络防御,网络攻击预测的发展方向是利用各种数据进行深度机器学习。围绕网络中关键资产可能被混淆、存在噪声的数据以及有限的防御手段等,本文利用深度学习技术来动态地学习和创建针对0-day 漏洞等新攻击技术的防御策略与防护模型[15],实现了工业控制系统中网络安全威胁事件的更加精准预测。下一阶段将对网络攻击进行及时阻断,保障工业控制系统的正常稳定运行。1.2 基于回归分析的模型预测方法
1.3 基于神经网络预测方法
2 工业控制系统中网络攻击预测的实现
3 结论