基于朴素贝叶斯分类器的网络安全态势评估方法

时间:2022-10-23 06:57:30

基于朴素贝叶斯分类器的网络安全态势评估方法

摘要:针对目前网络安全态势评估范围局限、信息来源单一、时空复杂度较高且准确性偏差较大等问题,提出了一个朴素贝叶斯分类器的网络安全态势评估方法,充分考虑了多信息源与多层次异构信息融合,具有快速高效性,从整体动态上展示出网络当前安全状况,准确地反映了网络当前安全态势。最后利用网络实例数据,对所提出的朴素贝叶斯分类器的网络安全态势评估模型和算法进行了验证,实验结果表明了所提方法的正确性。

关键词:朴素贝叶斯;网络安全态势;态势评估;评估方法;分类器

中图分类号: TP393.08

文献标志码:A

Network security situation assessment method based on Naive Bayes classifier

WEN Zhicheng*, CAO Chunli, ZHOU Hao

College of Computer and Communication, Hunan University of Technology, Zhuzhou Hunan 412007, China

Abstract: Concerning the problem that the current network security situation assessment has characteristics of limited scope, single information source, high time and space complexity and big deviation in accuracy, a new network security situation assessment method based on Naive Bayes classifier was proposed. It fully considered multiinformation sources and fusion of multilevel heterogeneous information, and had the features of rapidity and high efficiency. It dynamically demonstrated the whole security state of the network, which could precisely reflect the network security situation. Finally, the proposed method was verified using the reality data from network and its validity was proved.

Key words: Naive Bayes; network security situation; situation assessment; assessment method; classifier

0引言

因特网的迅速普及与发展,信息的全球网络化已成为当今信息社会发展的必然趋势,计算机网络起着主要因素与巨大推动作用,并逐步渗透到社会各行各业当中,然而与此同时,网络的安全也日益受到威胁。面临着无处不在无时不有的安全威胁,严重制约着日常网络信息的可靠利用,已成为当今一个亟待解决的问题。为了帮助网管人员尽快对所监管网络的情况有一个清晰全局的认知,需对网络的安全态势进行宏观评估,获得对网络安全状况一个整体认识,及时作出相应的决策,有望解决网络安全问题。

Bass[1]于1999年首次提出了网络态势感知(Cyberspace Situation Awareness, CSA)的概念,并指出“基于信息融合的网络态势感知”将成为网络安全与管理的发展方向。态势是一种状态、一种趋势、一个整体和宏观全局的概念,主要强调周围环境、动态性以及实体之间的联系,任何单一的情况或状态都不能称之为态势。网络安全态势感知是网络态势感知的一种,从整体动态上把握网络当前的安全状况、预测未来发展趋势。网管人员根据宏观分析和预测结果,及时作出决策,将网络损失和风险降到最低。

网络安全态势评估主要研究整体上从网络中的实体赋予获取、理解和预测网络安全要素的能力,并依此生成应对网络安全中的威胁策略,为实现异构、泛化网络中各种安全实体的协同工作与信息融合,构建无缝的网络安全体系提供一种新的思路[2]。网络安全态势评估结果的合理性与真实性非常关键,对于安全策略的制定具有深远的影响,因为安全策略的制定与实施主要依赖于评估的可信程度。一般从底层决策指标开始,逐层进行可信度评估,直到最高层,从而得到一个整体网络安全态势。

本文针对传统安全态势评估的范围局限、信息来源单一、时空复杂度较高且准确性偏差较大等问题,将朴素贝叶斯分类器引入态势评估之中,在深入研究评估方法的基础上,提出基于朴素贝叶斯分类器的网络安全态势推理方法,并结合网络三级分层的基础运行性、脆弱性与威胁性指数的推理进行逐层融合,能快速高效地融合多层异构数据源,给网管人员展现出一个宏观整体的网络安全状况。

1

2网络安全态势

网络安全态势

从网络基础运行性(Runnability)、网络脆弱性(Vulnerability)和网络威胁性(Threat)三个方面通过评估函数融合而成,即存在评估函数h,有: SA=h(Runnabilitynet, Vulnerabilitynet, Threatnet),从三个不同角度向网管人员展示当前网络安全整体状况。

网络的基础运行

由网络上所有组件的基础运行性评估函数融合而成,即存在评估函数g1,有: Runnabilitynet=g1(Runnabilitycom,1, Runnabilitycom,2, …, Runnabilitycom,m),其他两个维度如网络脆弱性与网络威胁性情形类似,都由组件相应的评估函数g2和g3融合而成。

组件的基础运行性

由与运行信息相关的决策变量X通过评估函数融合而成,即存在评估函数f1,有:Runnabilitycom=f1(X1, X2,…,Xn),其他两个维度如组件脆弱性与组件威胁性形成类似,由相应的评估函数f2和f3融合而成。

计算机网络结构中存在大量的主机、服务器、路由器、防火墙和入侵检测系统(Intrusion Detection System, IDS)等各种网络硬件,称之为组件。每个维度都有组件和网络之分,如基础运行性,有组件基础运行性和网络基础运行性,而网络基础运行性则由N个组件基础运行性评估融合生成,为了区别术语网络(network)与组件(component),相应的标识符以下标net和com作为区别。

本文主要确定三个评估函数f、g、h,一旦确定了此三个评估函数,当采集到决策变量X值时,容易通过相应的评估函数逐层融合,最后获得整个网络安全态势SA。其中,评估函数f分为f1、f2和f3,评估函数g分为g1、g2和g3。评估函数g和f通过朴素贝叶斯分类器来实现,而评估函数h则由各项指标经验加权而成。

3朴素贝叶斯分类器构建

3.1朴素贝叶斯分类器

在朴素贝叶斯分类模型中,用一个n维特征向量X来表示训练样本数据,设类集合C有m个不同的取值,则时间复杂度为O(m*n)。输入到朴素贝叶斯分类器是一个n维向量X∈Rn,而X分类器的输出是一个类别标签集合Y={c1, c2,…,ck}。当给定一个输入n维向量x∈X,则分类器给出其所属的类别标签y∈Y。这里,x,y分别是集合X和Y上的随机变量,分类器样本训练集为T={(x1,y1),(x2,y2),…,(xn,yn)},P(X,Y)表示输入变量X与输出变量Y的概率联合分布。

朴素贝叶斯分类器对P(X=x|Y=ck)作了较强的假设,也即条件独立性假设,各个决策变量独立同分布。有:

P(X=x|Y=ck)=P(X(1)=x1,X(2)=x2,…,X(n)=xn|Y=ck)=

∏nj=1P(X(j)=xj|Y=ck)

朴素贝叶斯分类器具有简单和有效的分类模型[11],假设各决策变量独立,参数易于获取且推理结果比较近似等特点,在网络安全态势评估上具有先天优势。

3.2决策变量离散化

决策变量X可取离散和连续型两种观测值,而朴素贝叶斯分类器中的节点都使用离散值,为了便于应用,需把连续型离散化。根据实际意义,连续型决策变量X可离散化为“高、中高、中、中低、低”或“2、1、0、-1、-2”五等值。若决策变量本来就是离散型取值,则按实际情况取这五等值。

引理1设连续型X服从高斯分布,即X~N(μ, σ2),则Z=(X-μ)/σ~N(0, 1),μ表示X的数学期望,σ2表示方差。

根据概率论知识,把决策变量X的历史大样本观测值划分为五个互不相交的区间SSi:(-∞, μ-3σ)∪(μ+3σ,+∞),(μ-3σ, μ-2.5σ)∪(μ+2.5σ, μ+3σ),(μ-25σ, μ-2σ)∪(μ+2σ, μ+2.5σ),(μ-2σ, μ-σ)∪(μ+σ, μ+2σ)和[μ-σ, μ+σ]。

经计算,五个区间SSi(i=1~5)对应的概率PSi (i=1~5)分别为0.26%、 0.98%、 3.32%、 27.18%和6826%,也就是连续型决策变量X取“-2、-1、0、1、2”时对应的概率。

在实际应用中,当监测到决策变量X值时,由引理1高斯分布标准化后,观察Z值落入五个区间SSi的情况,确定决策变量X离散化为“-2、-1、0、1、2”中的某个相应值。

3.3决策变量的遴选

在实际应用中,有必要遴选出一些具有典型代表性的指标,剔除一些与安全态势评估不相关的、冗余的指标,形成网络安全态势评估所需的决策变量。

计算两个决策变量xi和xj的相关系数:

ρxixj=Cov(xi,xj)/D(xi)*D(xj)

Cov(xi,xj)为xi和xj的协方差,其中:

Cov(xi,xj)=E{[xi-E(xi)][xj-E(xj)]}=E(xixj)-E(xi)E(xj)

根据第3.2节指标离散化的方法,每个连续型观测指标可以离散化为五等。在某一个时间段监测若干个数据,以出现的频率近似它们的概率,代入其相关概率公式中计算。给定一个任意实数0

3.4构建朴素贝叶斯分类器

决策变量X是一个向量,每个分量对应于朴素贝叶斯分类器一个具体的叶子节点xi,取离散或连续型两种观测值;本文需要构建两类朴素贝叶斯分类器,一类是组件级的朴素贝叶斯分类器,如图1所示,由三个子分类器构成,分别代表三个评估函数f1、f2和f3;另一类是网络级的朴素贝叶斯分类器,如图2所示,也由三个子分类器构成,分别代表三个评估函数g1、g2和g3。

在图1的组件级朴素贝叶斯分类器中,三类相关指标看成决策变量X,而三个类别看成Y,其中X和Y都取五等离散值,也是说决策变量X的分量xi可以指CPU利用率、占用内存大小、网络流量等,可取五等离散值,而类别Y的分量yi可以指基础运行性、脆弱性、威胁性,也取五等离散值。

图2的网络级朴素贝叶斯分类器中,存在n个组件,任一个组件的一维作为决策变量XX,而网络的三个类别看成YY,它们共同构成一个朴素贝叶斯分类器。注意,图2中决策变量的XX就是图1的类属Y,也即图1的评估函数f是图2评估函数g的基础。

在组件级朴素贝叶斯分类器f中,当采集到决策变量X的值时,经过离散化预处理,通过训练好的朴素贝叶斯分类器f,把目前状态推理分类给适当的类Y,具有一定的概率P(Y),Y取五等离散值,五个概率之和为1;再由网络级朴素贝叶斯分类器g,把目前状态分类给适当的类YY,也具有一定的概率P(YY),YY取五等离散值,五个概率之和为1。

3.5参数确定

经上述方法,构建两类朴素贝叶斯分类器,若要能在实际上应用,必须要获取相应条件概率P(Y|X)和P(YY|XX),一般通过大样本的参数学习得到。

以图1的朴素贝叶斯分类器f为例,当采集到决策变量X连续型值后,经离散化预处理,取相应的五等化值X(j)=xj;对于类别Y的采集一般通过专门软件如360安全防护软件等,获得其推荐值,再通过五等离散化类别ck;通过参数学习确定P(Y|X)。

如图1所示的朴素贝叶斯分类器f,通过大样本参数学习,只需要训练估计P(Y=ck)与P(X(j)=xj|Y=ck)(1≤i≤n,1≤k≤m)的值即可,从而可对决策变量X分类为Y:

P(Y=ck|X=x)=P(X=x|Y=ck)P(Y=ck)∑kP(X=x|Y=ck)P(Y=ck)

这里,经过大样本观察,有:

P(Y=ck)=sk/s

P(X(j)=xj|Y=ck)=skj/sk

其中:sk为样本训练集中类别为ck的样本数,s为样本总数,skj为样本训练中类别为ck且属性取值xj的样本数。

4安全态势评估

4.1组件级态势评估

组件级态势评估函数f,通过如图1所示的朴素贝叶斯分类器来实现的。当采集到一组决策变量的值X,经过分类器f得到它们所属类别Y,各类别具有一定的概率,表示为:

P(Y)=P(Y=ck|X=x)P(X=x)=P(X=x|Y=ck)P(Y=ck)∑kP(X=x|Y=ck)P(Y=ck); ck=2,1,0,-1,-2(1)

式(1)表示,决策变量X取定值时,经朴素贝叶斯分类器推理,类属Y=ck具有一定的概率P(Y)。也就是说,图1的三个朴素贝叶斯分类器f,每一个类别都具有五个ck对应的概率P(Y=ck),它们是图2所示的朴素贝叶斯分类器的基础(因为XX=Y)。图1的分类器f是图2的分类器g的基础。

4.2网络级态势评估

网络级态势评估函数g通过如图2所示的朴素贝叶斯分类器来实现,以评估函数f为基础。在图1中,当采集到决策变量X值经朴素贝叶斯分类器f,网络上每个组件上基础运行性、脆弱性和威胁性都具有五个类别及相应的概率,以组件基础运行性为例,令:

P(XX)=P(Y)=P(Y=ck|X=x);ck=2,1,0,-1,-2 (2)

式(2)中,X可取“CPU利用率、占用内存大、子网流量变化率、子网数据流总量、子网内不同大小数据包的分布等”,Y为“基础运行性”。

在图2的朴素贝叶斯分类器评估函数g中,有:

P(YY)=P(XX=xx)P(YY=ck|XX=xx)=[P(YY=ck)∏jP(XX(j)=xxj|YY=ck)

P(XX(j)=xxj)]/

[∑kP(YY=ck)∏jP(XX(j)=xxj|YY=ck)

P(XX(j)=xxj)]; ck=2,1,0,-1,-2(3)

从式(3)中,可得出网络基础运行性、网络脆弱性与网络威胁性三维中每维取五等离散化值的概率P(YY=ck),再作为4.3节图3网络安全态势评估函数h的基础。

4.3网络安全态势评估

如图3所示,网络安全态势SA由网络基础运行性、网络脆弱性与网络威胁性三维通过评估函数h向上融合生成。

图3网络安全态势评估函数h示意图

图3中的决策变量Z其实就是图2中的类属YY,为了便于叙述,用Z表示决策变量YY。经过图2的朴素贝叶斯分类器推理,可得每个维度都有五种离散型概率取值,令:

P(Z=ck)=P(YY=ck); ck=2,1,0,-1,-2 (4)

由于网络安全态势SA由三个维度通过评估h融合生成,而每个维度由五等加权生成,以网络基础运行性Runnabilityn为例,根据经验,它的实值可以定义如下:

Runnabilitynet=100*[P(Z=2)+0.5*P(Z=1)-0.5*P(Z=-1)-5*P(Z=-2)] (5)

由于网络安全态势值需取0~100的实值,所以式(5)中乘上了100。按此方法计算网络基础运行性接近实际,因为评估网络安全态势,主要看位于“高”时的概率,也要突出位于“低”和“中低”时的情况,而当位于“中”时的概率可以忽略不计。

本节从网络的基础运行性、网络的脆弱性与网络的威胁性再向上通过评估函数h最终生成网络的安全态势SA。有:

SA=h(Runnabilitynet,Vulnerabilitynet,Threatnet)=η1Runnabilitynet+η2Vulnerabilitynet+η3Threatnet

(6)

可根据经验确定式(6)中权值参数ηi的值。网络安全态势中,基础运行性表征网络正常运行,居主导地位,所占比重应该最大,可取值为0.5;而其他两项也有可能导致网络安全态势降低,因此可各占比重0.25,即可取:

η1=0.5,η2=025,η3=025,

这三个权值η的取定具有经验性,可参考专家的经验意见。SA结果取0~100的实值,为当前网络安全态势,从底层逐步通过评估函数f、g和h生成。

4.4评估算法

4.4.1朴素贝叶斯分类器参数学习算法

输入决策变量X大样本观察数据;

输出朴素贝叶斯分类器。

程序前

s决策变量X样本总数

let sk=0, skj=0,

for every s

if Y=ck then sk=sk+1

if X(j)=xj then skj=skj+1

endfor

compute every P(Y=ck)=sk/s

compute every P(X(j)=xj|Y=ck)=skj/sk

output parameter P(Y) and P(X|Y)

程序后

4.4.2网络安全态势评估算法

输入决策变量X一次观察数据;

输出网络安全态势SA。

程序前

采集一组决策变量X实时观测值,并离散化五等

for every Y in {Runnability,Threat,Vulnerable} and ck in {2, 1, 0, -1,-2}

P(Y)P(Y=ck|X=x)*P(X=x)

endfor

let XX=Y

for every XX in {Runnability,Threat,Vulnerable} and ck in {2,1,0,-1,-2}

P(YY)P(XX=xx)*P(YY=ck|XX=xx)

endfor

for RVT in {Runnabilitynet,Vulnerabilitynet,Threatnet}

RVTn100*[P(Z=2)+0.5*P(Z=1)-0.5*P(Z=-1)-5*P(Z=-2)]

endfor

compute SAh(Runnabilitynet,Vulnerabilitynet,Threatnet)=0.5*Runnabilitynet+0.25*Vulnerabilitynet+0.25*Threatnet

output SA

程序后

5仿真实验

本章采用Matlab 7.0进行仿真实验,实验数据主要来源于:一类是通过开发一个安装在各个网络组件上的软件监测得到的实时数据;一类来源于Snort入侵检测系统中的观测数据,并将各类恶意网络流量的数据按照预先规则注入到正常流量中,来获得实验中所需要的异常数据。

在一个设定的10s时间内,动态采集2000个大样本作为离散化的历史数据, 当所采集的每个决策变量为大样本数据时(样本量足够大),计算其样本的数学期望μ与方差σ2,按照引理1,为每个连续型决策变量xi划分为五个离散取值区域SSk,每个区域有相应的概率PSk(k=1,2,3,4,5)。

经过组件2000个大样本数据参数学习,获得朴素贝叶斯分类器f的参数P(Y|X)近似值,以决策变量X为CPU利用率及类属Y为基础运行性为例,得到表1的参数。对于图1来说,有多少个决策变量X,就有多少个这样的参数表1。

在异常情况下,组件不安装任何防病毒软件,且对此组件施实木马和蠕虫等病毒攻击,会对各类决策变量产生影响,CPU利用率、内存使用情况及网络流量等明显增加。经异常数据不断流入,网络中存在一定数量的异常情况组件,通过决策变量采集、五等离散化后,组件经遴选后的三类决策变量值如表2所示,表示某个时刻该组件上所有决策变量取值。网络上多少个组件,在某个时刻t时就有多少个这样的参数表2。

决策变量X取值如表2所示,经图1所示的三个评估函数f1、f2和f3融合后,得到如表3所示的一个组件三个维度的概率。网络中有多少个组件,则就有多少个参数表3。

当网络上N个组件各自经评估函数f融合后,再经图2所示的三个评估函数g1、g2和g3融合,得到如表4网络级三维的概率。一个网络上只有一个参数表4。

根据表4的取值,网络级三维如网络基础运行性、网络脆弱性与网络威胁性由公式Runnabilityn=100*[P(Z=2)+0.5*P(Z=1)-0.5*P(Z=-1)-0.5*P(Z=-2)] 计算,式(5)计算,可得三维数值为(28.010,46.625,0),再经融合函数h加权,得SA=25.66。

经过多次决策变量X数据观测,根据上述三级评估函数f、g、h数据融合,绘出如图4所示的网络安全态势图,反映出本时间段内的安全态势波动情况,给网络管理员一个整体宏观的展现,以便及时调整相应的安全策略。

6结语

本文提出了一个基于朴素贝叶斯分类器的网络安全态势评估方法,给出了解决网络安全与管理的一个尝试方案,充分考虑了多信息源与多层次异构信息融合,从整体动态上生成网络当前安全态势,准确地反映了网络当前安全状况,能提高网管员对整个网络运行状况的全局认知与理解,当发现安全态势异常时,辅助指挥员及时准确地作出高层决策,弥补当前网管的不足。

本文的难点在于朴素贝叶斯网的构建以及数据的获取,今后的研究工作包括完善网络安全态势评估方法,进一步提高算法的效率,研究更全面的安全态势因子及其表示方法。

参考文献:

[1]

BASS T. Intrusion detection systems and multisensor data fusion [J]. Communications of the ACM, 2000,43(4): 99-105.

[2]

JAKOBSON G. Mission cyber security situation assessment using impact dependency graphs [C]// Proceedings of the 2011 14th International Conference on Information Fusion. Piscataway: IEEE, 2011:1-8.

[3]

ZHAO J, ZHOU Y, SHUO L. A situation awareness model of system survivability based on variable fuzzy set [J]. Telkomnika: Indonesian Journal of Electrical Engineering, 2012, 10(8): 2239-2246.

[4]

WANG J, ZHANG F,FU C, et al. Study on index system in network situation awareness [J]. Journal of Computer Applications, 2007, 27(8): 1907-1909. (王娟,张凤荔,傅,等.网络态势感知中的指标体系研究[J].计算机应用,2007,27(8):1907-1909.)

[5]

XI R, YUN X, ZHANG Y, et al. An improved quantitative evaluation method for network security [J]. Chinese Journal of Computers, 2015, 38(4): 749-758. (席荣荣,云晓春,张永铮,等.一种改进的网络安全态势量化评估方法[J].计算机学报,2015,38(4):749-758.)

[6]

LI F, ZHENG B, ZHU J, et al. A method of network security situation prediction based on ACRBF neural network [J].Journal of Chongqing University of Posts and Telecommunications: Natural Science Edition, 2014, 26(5):576-581. (李方伟,郑波,朱江,等.一种基于ACRBF神经网络的网络安全态势预测方法[J].重庆邮电大学学报:自然科学版,2014,26(5):576-581.)

[7]

XIE L,WANG Y. New method of network security situation awareness [J]. Journal of Beijing University of Posts and Telecommunications, 2014,37(5):31-35. (谢丽霞,王亚超.网络安全态势感知新方法[J].北京邮电大学学报,2014,37(5):31-35.)

[8]

LYU H, PENG W,WANG R, et al. A realtime network threat recognition and assessment method base on association analysis of time and space [J]. Journal of Computer Research and Development, 2014, 51(5): 1039-1049. (吕慧颖,彭武,王瑞梅,等.基于时空关联分析的网络实时威胁识别与评估[J].计算机研究与发展,2014,51(5):1039-1049.)

[9]

TANG C, TANG S, QIANG B. Assessment and validation of network security situation based on DS and knowledge fusion [J]. Computer Science,2014,41(4):107-110. (唐成华,汤申生,强保华.DS融合知识的网络安全态势评估及验证[J].计算机科学,2014,41(4):107-110.)

[10]

XIE L, WANG Y, YU J. Network security situation awareness based on neural network [J]. Journal of Tsinghua University: Science and Technology, 2013,53(12):1750-1760. (谢丽霞,王亚超,于巾博.基于神经网络的网络安全态势感知[J].清华大学学报:自然科学版,2013,53(12):1750-1760.)

[11]

YAO P. Integration algorithm research based on Naive Bayes [D]. Guangzhou: South China University of Technology, 2013: 13. (姚沛津.基于朴素贝叶斯的集成算法研究[D].广州:华南理工大学,2013:13.)

上一篇:基于社团理论的复杂网络级联故障模型 下一篇:英语教材插图在听力教学中的有效运用