基于蒙特卡罗网络节点资源风险评估∗

2019-03-26 08:44钱丹丹
计算机与数字工程 2019年3期
关键词:网络流量内存节点

李 军 钱丹丹 罗 康 钮 焱

(湖北工业大学计算机学院 武汉 430068)

1 引言

网络日益普及的今天,互联网逐步成为人们生活和工作中必不可少的组成部分。过量的网络行为和网络攻击都会带来网络风险。网络风险评估就是通过对网络面临的威胁、存在的脆弱性及采用的安全措施等进行分析,综合判断网络系统所面临的风险情况,以保证系统安全[1]。网络风险评估的对象可以是面向整个网络的综合评估,也可以针对网络某一部分的评估,如网络架构、设备、主机等。本文主要是通过对内存使用率、网络流量和CPU利用率等指标,对网络节点资源风险进行评估。

目前,网络风险评估问题越来越受到人们的重视,国内外很多学者对网络安全评估提出了很多的方法,如贝叶斯、人工神经网络、聚类分析法、决策树法等[2]。这些传统评估方法需要对网络行为数据进行深入分解,计算比较复杂,增加了风险评估的难度。另外这些研究往往只对某单一的指标进行单独研究,而忽略它们之间的内在相关性。

蒙特卡罗模拟方法[3~5]是二十世纪四十年代中期提出的一种以概率统计理论为指导的一类数值计算方法。它可以用统计方法把模型的数字特征估计出来,从而得到实际问题的数值解。蒙特卡罗模拟过程简单快速,具有很强的适应性,它可以省却复杂的数学推导和演算过程,在金融投资[6]、统计物理等方面得到广泛应用。本文选取节点设备的内存使用率、网络流量和CPU利用率的时间序列为主要研究对象。网络行为会导致内存、流量和CPU同时发生变化,表明了它们之间存在一定的关联性,单独的网络资源指标无法全面地反映出整个节点资源的风险情况,因此,需要对多个指标进行联合评估,它们之间的相关关系可以由联合分布函数来刻画。通常情况下,网络节点资源之间的联合分布函数不能直接用公式表示,往往需要蒙特卡罗方法来模拟它们的数值解。

2 蒙特卡罗模拟联合分布函数

常用的联合分布函数构造方法是藤Copula模型[7~8],但Copula函数计算复杂,选择Copula类型相对繁琐,而蒙特卡罗提供了另一种联合分布函数的的构造方法,简单快速,且易于得到数值结果。蒙特卡罗构造联合分布函数常用的模型是Rosenblatt变换。

2.1 Rosenblatt变换

我们用U表示区间[0,1]上的均匀分布变量,Z表示独立标准正态变量,Y表示相关非正态变量,X表示相关标准正态变量。变量U的空间称之为U空间,变量Z的空间称之为Z空间,变量X的空间称之为X空间,变量Y的空间称之为Y空间。Rosenblatt变换可将非正态变量之间的相关性转变成正态变量之间的相关性。

Rosenblatt变换表达式[9]如式(1)所示:

由上述分析可以看出,Rosenblatt变换是精确变换方法,但在进行Rosenblatt变换时,需要预先知道随机变量的联合概率密度函数,而在实际应用中,很少能够得到如此完善的信息,而且式(1)和式(2)求解起来也有一定的难度。所以可以用Pearson相关系数构造方法来简化Rosenblatt转换的计算,Pearson相关系数是参数型相关系数[10],在变量进行非线性变换时会发生变化,可以用来反映变量之间的相关程度。本文借鉴文献[9]提出的Pearson相关系数构造方法来构造联合分布函数。

2.2 Pearson相关系数构造方法

Y1和Y2的联合密度函数用Pearson相关系数构造方法如下:

至此,我们可以用蒙特卡罗模拟方法来构造联合分布函数。

3 等效Pearson相关系数求解

在Rosenblatt转换过程中,需要将多变量的非正态分布形式转变成正态分布形式,而等效Pearson相关系数在转换过程中是一个关键系数,在求出非正态变量的Pearson相关系数后,为了得到标准正态变量的Pearson相关系数可用Hermite多项式方法求解。

在所有满足的函数所构造的完备空间中,Hermite多项式序列可以构成分解函数的一组正交基。Hermite多项式方法可以用来计算相关非正态变量的Pearson相关系数到相关正态变量的Pearson相关系数的转换,Hermite多项式方法不受变量分布类型的影响,使用范围比较广,计算效率较高。

将式(4)用Hermite多项式展开[13~14]:

Hermite多项式展开式:

系数aik的计算公式如下:

在式(7)中,k=0时,ai0为第i个变量的均值对于任意两个随机变量:

再根据Pearson相关系数定义有:

4 网络节点资源风险评估

网络节点资源的可用程度可通过网络资源指标来体现,网络资源指标之间存在一定的内在相关性。网络节点资源的风险主要体现在网络节点资源的可用程度上,正常状态下,网络节点资源随着网络行为而动态变化,而在极端或遭受攻击的情况下,节点资源指标会陡增或激变。网络节点资源中一个指标的变化将可能引起其它指标的变化,例如网络流量的变化将会导致内存、CPU的变化,而这些变化很多时候会导致网络节点因为内存和CPU资源的耗尽而性能下降直至崩溃[15]。所以,在使用网络的过程中,如果能够对网络节点资源风险进行评估,会大大提高网络节点的生存性。

本文选取节点设备的内存使用率、网络流量和CPU利用率的时间序列为主要研究对象。节点的网络资源序列往往不符合常见的概率分布,而蒙特卡罗可以对没有规则的概率函数进行模拟,可以模拟任何形式的联合分布函数,包括隐性的函数形式。

用Y1,Y2和Y3分别表示内存使用率、网络流量和CPU利用率的时间序列,并用X1,X2和X3分别表示内存使用率、网络流量和CPU利用率的时间序列转换成标准正态变量后的序列。用Pearson相关系数构造Y1和Y2的联合概率密度函数[11]为

由于多项式分布能够拟合大部分的曲线,所以本文也采用多项式分布对收集到的数据进行了拟合。设定蒙特卡罗抽样模拟次数N,用Pearson构造方法构造内存、流量和CPU之间的联合分布函数,首先在[0,1]区间上产生N组随机变量,然后分别计算内存使用率和网络流量,内存使用率和CPU利用率,网络流量和CPU利用率的Pearson相关系数,再根据它们彼此之间的Pearson相关系数求出需得到的正态变量X之间的Pearson相关系数,从而得到X的Pearson相关系数矩阵,再将 X的Pearson相关系数矩阵进行Cholesky分解,得到下三角矩阵,最后将下三角矩阵和在[0,1]上产生的1000组随机变量带入到式(3)中计算,从而完成内存使用率、网络流量和CPU利用率的时间序列的非正态变量向正态变量的转变,最后用资源风险函数来对网络节点资源进行风险评估,资源风险函数形式如下:

式(12)中,X1,X2和 X3分别表示内存使用率、网络流量和CPU利用率的时间序列转换成标准正态变量后的序列,当表示有风险,ξ为经验阈值,ξ因不同的系统网络而不同。

基于蒙特卡罗模拟的网络资源风险评估的步骤如图1所示。则表示无风险,

图1 基于蒙特卡罗模拟的网络资源风险评估

图1中rP,Y表示时间序列Y的Pearson相关系数,RP,Y表示时间序列Y的Pearson相关系数矩阵;分别表示转变成正态变量后的时间序列 X的Pearson相关系数和时间序列 X的Pearson相关系数矩阵;LP表示转变成正态变量后的时间序列X的Pearson相关系数矩阵经过Cholesky分解后得到的下三角矩阵;g()X 表示网络资源风险函数。

5 实证研究

我们在实验室采集了网络视频播放、网页浏览、两者混合以及网络攻击时等典型环境下节点设备内存使用率、网络流量和CPU利用率的时间序列样本,并对它们进行归一化。得到表1所示的数据集。

表1 时间序列数据集

用多项式分布拟合以上数据,图2所示的是多项式分布拟合流量和CPU的时间序列。

在图2中,我们选取了较为常见的累积经验分布函数(ecdf)作为多项式分布拟合函数,可以看出用多项式分布拟合流量和CPU数据的效果较好。

图2 多项式分布拟合流量和CPU

Step1:先求出Y1、Y2和Y3三者之间两两的Pearson相关系数,根据它们之间的Pearson相关系数表示出它们的Pearson相关系数矩阵。

Y1和Y2,Y1和Y3,Y2和Y3的Pearson相关系数分别为r1,r2和r3,从而得到Y的Pearson相关系数矩阵

Step2:本文选用Hermite多项式求解 X的Pearson相关系数,根据它们之间的Pearson相关系数可以推出X的Pearson相关系数矩阵。

求出Y的Pearson相关系数后,根据Hermite多项式求解等效相关系数方法,可以求出X1,X2和X3的Pearson相关系数 ρ1,ρ2和 ρ3,即 X1,X2,X3的Pearson相关系数矩阵为

Step3:用Cholesky分解得到下三角矩阵L。

Step4:求解资源风险函数,对网络资源进行风险评估。

在图3中,前50个点是模拟攻击行为时的风险值,后50个点是网页浏览行为时的风险值,可以看出风险预测值基本覆盖了实际风险值的峰值点,并且在没有攻击的情况下,预测风险值明显下降,与实际网络行为过程是吻合的。

图3 模型预测风险值与实际风险值结果相比较

本文中 ξ选取0.95,当 g()X ≤0.95时的概率为60.20%,这就表明当经验阈值为0.95时,网络节点资源发生风险的概率为39.80%。

6 结语

近年来随着网络快速的发展,过量的网络行为和网络攻击行为都会带来网络风险,为了保障网络安全,对系统和网络进行风险评估,已经成为安全管理人员的迫切需要。各种网络行为都会导致网络资源的争夺,本文选取网络节点资源指标的时间序列为研究对象。利用蒙特卡罗模拟对内存使用率、网络流量和CPU利用率的时间序列之间的联合分布函数进行构造从而对节点资源存在的网络风险进行评估。实证表明:蒙特卡罗可以有效地构造联合分布函数,并对网络节点资源进行风险评估,为网络资源风险安全评估提供了一种新的思路方法。

猜你喜欢
网络流量内存节点
大数据驱动和分析的舰船通信网络流量智能估计
基于双向长短期记忆循环神经网络的网络流量预测
基于图连通支配集的子图匹配优化算法
结合概率路由的机会网络自私节点检测算法
面向复杂网络的节点相似性度量*
采用贪婪启发式的异构WSNs 部分覆盖算法*
笔记本内存已经在涨价了,但幅度不大,升级扩容无须等待
“春夏秋冬”的内存
一种用于敏感图像快速加密的图像注入技术仿真
内存搭配DDR4、DDR3L还是DDR3?