随着网络技术的飞速发展,网络安全事件层出不穷,计算机网络经常受到黑客或非法入侵者的攻击,造成巨大的经济损失,甚至危害到单位和国家的安全;而在非法侵入的过程中,核心内容是要找出目标系统中存在的安全漏洞,通过分析安全漏洞扫描结果、服务查点信息等,找出可以实施攻击的攻击点,入侵到目标系统中,获得访问控制权[1-2]。针对这种情况,我们需要对自己所处的网络进行安全评估[3],而后制定相应对策。目前大部分网络安全评估方法从本质上来看都是基于漏洞来进行评估的,通过漏洞的威胁等级来评估网络的安全状况:文献[4]以攻击图为评估数据源,提出了一种漏洞威胁的关联评估方法,弥补了传统的孤立评估漏洞方法的不足,但是攻击图节点的赋值对结果的影响较大,并且该方法不适用于大规模或复杂结构的网络;文献[5]建立了评估指标体系,以通用漏洞评分系统 (Common Vulnerability Scoring System, CVSS) 为评分基础,运用层次分析法 (Analytic Hierarchy Process, AHP) 对系统进行漏洞危害性评估, 通用性较好,但判断矩阵的构造受个人经验影响,评估结果易失客观性;文献[6]利用粗糙集 (Rough Set, RS) 理论[7-8]建立评估模型,通过决策表的约简后能产生决策规则,在一定程度上解决了不确定、不完整信息系统的决策问题,但它的分类是精确的,只考虑完全“包含”与“不包含”,不能很好地处理带有噪声的数据,也容易遗漏不同漏洞间的组合影响。
针对上述问题,本文在经典变精度粗糙集 (Variable Precision Rough Set, VPRS)[9]模型中增加了规则提取参数α,提出了一种改进的变精度粗糙集漏洞威胁评估模型。通过调节阈值参数α和β来适应不同的网络环境,同时更易于挖掘出各类漏洞的潜在联系和对网络的组合影响,更加准确、客观地反映被评估网络的安全状况。变精度粗糙集是Pawlak粗糙集理论的扩展,它通过设置阈值参数,放松了对近似边界的严格定义,即允许一定程度的错误分类率存在,从而克服了Pawlak粗糙集对噪声数据过于敏感的缺点[10], 该模型已在众多领域得到广泛应用[11-12]。
1 变精度粗糙集基本理论设S=(U, A, V, f) 为一个信息系统,也称为知识表示系统, 其中,U={U1, U2, …, U|u|}为有限非空集合,称为论域对象空间;A={a1, a2, …, a|A|}为属性的非空有限集合。若A中的属性又可分为两个不相交的子集,即条件属性集C和决策属性集D,A=C∪D,C∩D=∅, 则S也称为决策表。
定义1 设U为非空有限论域,X, Y⊆U。令:
$ P(X, Y) = \left\{ \begin{array}{l} 1- [(|X \cap Y|)/|X|], \;|X| > 0\\ 0,\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;|X| = 0 \end{array} \right. $ |
其中|X|表示集合X的基数。称P(X, Y) 为集合X关于集合Y的相对错误分类率。
定义2 令0≤β < 0.5,β包含关系
$ Y\mathop \supseteq \limits^\beta X \Leftrightarrow P(X, Y) \le \beta $ |
称β包含关系为多数包含关系。
定义3 设 (U, R) 为近似空间,0≤β < 0.5。对于任意的X⊆U,X关于 (U, R) 的β下近似Rβ(X)、β上近似Rβ(X) 分别定义为:
$ \begin{align} &{{{\underset{\raise0.3em\hbox{$\smash{\scriptscriptstyle-}$}}{R}}}^{\beta }}(X)=\cup \{{{[x]}_{R}};P({{[x]}_{R}}, X)\le \beta \} \\ &{{{\bar{R}}}^{\beta }}(X)=\cup \{{{[x]}_{R}};P({{[x]}_{R}}, X)<1-\beta \} \\ \end{align} $ |
上下近似分别表示以不大于β的误差不能分类于X的对象集合和能分类于X的对象集合。
定义4 设P⊆C, 分类质量γβ(P, D) 定义为:
$ {\gamma ^\beta }(P,D) = \frac{{|pos(P,D)|}}{{|U|}} = \frac{{|\bigcup\limits_{Y \in U/D} {{\mkern 1mu} ind} {{(P)}_\beta }Y|}}{{|U|}} $ | (1) |
其中:
利用变精度粗糙集理论,建立漏洞威胁评估模型,如图 1所示。
首先,将训练数据进行离散化处理,根据初始阈值β(一般设为0) 进行属性约简,生成规则库;然后,收集扫描得到的漏洞信息,对其进行离散化处理;接下来,将属性特征与规则库进行概率规则匹配,如果匹配结果不满足评估要求,则调整阈值β和参数α,利用训练数据重新生成规则库,重复匹配过程,直至达到分类质量要求,并输出评估结果。
2.2 决策表的建立对于信息系统S=(U, A, V, f),U为漏洞训练数据集,A为数据属性的集合,其中包含漏洞集C={C1, C2, …, CK}和威胁等级D,V是漏洞的值域集,信息函数f则指定了每个漏洞的属性值。根据以上信息,建立评估决策表,见表 1。
为了便于数据处理,在属性约简之前需要对连续属性进行离散化。离散化算法有很多,目前常用的有等距离划分算法、等频率划分算法、基于信息熵的离散化算法、启发式离散化算法等[7, 13]。本文使用一种基于k均值[14]的连续属性离散化方法,通过k均值聚类算法将属性值划分为若干个区间,并用少量区间标记代替实际数据值,简化运算量,达到较好的离散效果。
具体的算法步骤如下:
第1步 任选K个初始聚类中心:Z1(1), Z2(1), …, ZK(1),其中,上角标表示聚类过程中的迭代运算次数。
第2步 假设已进行到第r次迭代。若对某一样本x有
d(x, Zj(r))=min{d(x, Zi(r)), i=1, 2, …, K}
则x∈Sj(r),其中,Sj(r)是以Zi(r)为聚类中心的样本子集。按此方法,将全部样本分配到K个聚类中。
第3步 计算重新分类后的各聚类中心:
$ Z_i^{(r + 1)} = \frac{1}{{n_j^{(r)}}}\sum\limits_{x \in S_j^{(r)}} x $ |
式中: nj(r)为Sj(r)中所包含的样本数。
第4步 若Zj(r+1)=Zj(r)(j=1, 2, …, K), 则结束;否则转第2步。
2.4 近似约简定义5 变精度粗糙集中的近似约简redβ(C, D) 定义为,在给定β值下,不含多余属性并保证正确分类的最小条件属性集。条件属性C关于决策属性D的β近似约简满足以下两个条件:
$ 1)\;{\gamma ^\beta }(P, D) = {\gamma ^\beta }(red(C, D), D) $ | (2) |
2) 从redβ(C, D) 中去掉任何一个属性,都将使1) 不成立。
定义6 属性a的重要性被定义为,将该属性添加到属性集R时分类质量γβ的增量:
$ SGF\left( {a, R, D} \right) = \gamma _{R \cup |a|}^\beta-\gamma _R^\beta $ |
本文的属性约简使用基于分类质量的近似约简算法,具体步骤如下:
第1步 计算初始分类质量γ0β。
第2步 R=CORED(C)。
第3步 在C-R中选择属性a使得SGF(a, R, D) 达到最大值,如果有多个属性ai(i=1, 2, …, m) 达到最大,则选择与R组合数目最少的aj。
第4步 R=R∪{aj}。
第5步 如果γR=γ0,则算法终止;否则转第3步。
2.5 概率决策规则提取公式F→G的逻辑含义称作决策规则,F称为规则前件,G称为规则后件,它们表示一种因果关系,并且,F中包含的原子公式中只有决策系统的条件属性,G中包含的原子公式中只有决策系统的决策属性。
在变精度粗糙集模型中,称
本文用参数β来模拟漏洞威胁评估中的分类误差,根据目标网络的实际情况来调节β的取值 (0≤β≤0.5),以达到更加客观的评估效果。
第1步 将β的值设置为0,进行知识约简,用约简得到的判定规则构造漏洞威胁评估规则库。
第2步 将扫描得到的漏洞数据信息进行离散化处理后与规则库进行规则匹配,如果匹配结果未达到评估要求,则逐步提高β值,重新进行知识约简,构造新的规则库。
第3步 如果达到评估要求,则维持β值不变,并输出评估结果。
3 仿真分析 3.1 网络测试环境图本文利用实验室局域网搭建测试环境,对计算机安全漏洞进行威胁评估,如图 2所示。其中,A,B,C是提供数据库服务、FTP (File Transfer Protocol) 服务、管理服务的服务器,装有Windows Serve 2003等操作系统;D、E是装有Windows 7操作系统的PC机 (若干台);F为交换机;G是漏洞威胁评估系统;H为防火墙;I是路由器。
取目前较常见的安全漏洞进行分析[15],令漏洞集C={C1, C2, C3, C4},其中:C1为获取普通用户权限的HTTP远程缓冲区溢出漏洞 (opensslRBOF),C2为获取管理员权限的mysql本地缓冲区溢出漏洞 (mysqlLBOF),C3为chargen服务的远程拒绝服务漏洞 (chargenDoS),C4为获取远程管理员权限的ftp缓冲区溢出漏洞 (ftpRBOF)。漏洞威胁等级D包含三个属性值,分别是{d1(低), d2(中), d3(高)}。采用Iris数据集的150条样本数据来构造漏洞威胁评估数据表 (编号1~20, 31~50, 61~80, 91~110, 121~140为训练数据,共100条;其余为测试数据,共50条) 进行仿真分析,如表 2所示。
利用2.3节所述方法将数据表中的漏洞数据进行离散化处理,每一类漏洞的属性值被划分为三个区间,分别用1、2、3标识,得到漏洞威胁评估决策表,如表 3所示。
接下来,对表 3中的漏洞属性集合C={C1, C2, C3, C4}进行β近似约简,在此之前,首先要选定阈值参数β。β值与分类精度存在正相关的关系:随着β值的减小,分类精度将减小,只有少数对象被分类,对噪声数据的处理能力降低;随着β值的增大,分类精度增大,这意味着大多数对象将被分类,但可能存在误分的情况。属性约简过后,设定α的值,提取概率决策规则。
经过多次计算,选取β=0.3,按照2.4节所述算法,约去属性C1,C2后,属性{C3, C4}对训练数据的分类质量达到1,分类质量的计算公式见式 (1)。接下来,由式 (2) 可得,最后的约简结果为redβ(C, D)={C3, C4}。把C3,C4导入粗糙集分析工具Rosetta,令α=0.2,得到以下概率规则 (方括号内为该规则正确率):
$ {\text{Rule1:}}{C_3}(1)\;{\text{and}}\;{C_4}(1)\xrightarrow{\beta }D({d_1})\left[ {100\% } \right] $ |
$ {\text{Rule2}}:{C_3}(2)\;{\text{and}}\;{C_4}(2)\xrightarrow{\beta }D({d_2})\left[ {97.78\% } \right] $ |
$ {\text{Rule}}3:{C_3}(3)\;{\text{and}}\;{C_4}(3)\xrightarrow{\beta }D({d_3})\left[ {95.56\% } \right] $ |
最后,将测试数据与上述概率规则进行规则匹配。经验证,漏洞威胁评估正确率达到了94%。多次实验表明,阈值参数β和α的取值与系统评估正确率的关系如图 3所示。
与文献[12]中提出的基于VPRS方法相比,虽然本文方法的复杂度稍有提高, 但本文方法的评估正确率提高了19.66个百分点,同时适用性有所增强, β=0.3时的对比结果如表 4所示。为了体现本文方法的容错能力, 引入10条噪声数据 (已离散化处理), 如表 5所示,并将本文方法与文献[6]所述方法进行对比,对比结果如表 6所示。
在添加噪声数据过后,文献[6]中方法无法进行属性约简,进而不能生成有效的决策规则,由于本文方法设定了阈值参数,克服了对噪声数据过敏的缺点。同时,相比较而言,本文方法的计算难度较低,适用性也更强。
根据本次实验的具体环境和训练数据,设定参数β=0.3, α=0.2,对系统漏洞威胁进行了有效而准确的评估。实验结果表明,两个阈值参数的取值与评估的正确率存在一定的关系,且α值的变化对结果的影响较大。在本次实验中,当α取0.2时,评估效果最好,正确率为94%。而在实际评估中,可以根据被评估系统的具体情况来调节参数的值,以达到更精确和客观的评估效果。
4 结语本文在经典变精度粗糙集模型的基础上,引入了规则提取阈值参数α,提出了一种改进的漏洞威胁评估模型。新模型的核心是通过改变参数β和α的值,来适应不同环境下的评估对象,其移植性有所提高。仿真实验表明,改进的模型能达到较好的评估效果。不过,参数值的设定对训练数据的依赖性较大,下一步的研究方向是要减少这种依赖性,降低阈值设置的难度。
[1] | 李思东. 计算机网络安全探讨与研究分析[J]. 电子技术与软件工程, 2016(14): 213. ( LI S D. Discussion and analysis of computer network security[J]. Electronic Technology & Software Engineering, 2016(14): 213. ) |
[2] | 冯登国, 张阳, 张玉清. 信息安全风险评估综述[J]. 通信学报, 2004, 25(7): 10-18. ( FENG D G, ZHANG Y, ZHANG Y Q. Survey of information security risk assessment[J]. Journal of China Institute of Communications, 2004, 25(7): 10-18. ) |
[3] | 张凤荔, 冯波. 基于关联性的漏洞评估方法[J]. 计算机应用研究, 2014, 31(3): 811-814. ( ZHANG F L, FENG B. Vulnerability assessment based on correlation[J]. Application Research of Computers, 2014, 31(3): 811-814. ) |
[4] | 谢丽霞, 江典盛, 张利, 等. 漏洞威胁的关联评估方法[J]. 计算机应用, 2012, 32(3): 679-682. ( XIE L X, JIANG D S, ZHANG L, et al. Vulnerability threat correlation assessment method[J]. Journal of Computer Applications, 2012, 32(3): 679-682. ) |
[5] | 黎学斌, 范九伦, 刘意先. 基于AHP和CVSS的信息系统漏洞评估[J]. 西安邮电大学学报, 2016, 21(1): 42-46. ( LI X B, FAN J L, LIU Y X. On information system vulnerabilities assess based on analytic hierarchy process and common vulnerability score system[J]. Journal of Xi'an University of Posts and Telecommunications, 2016, 21(1): 42-46. ) |
[6] | 付志耀, 高岭, 孙骞, 等. 基于粗糙集的漏洞属性约简及严重性评估[J]. 计算机研究与发展, 2016, 53(5): 1009-1016. ( FU Z Y, GAO L, SUN Q, et al. Evaluation of vulnerability severity based on rough sets and attributes reduction[J]. Journal of Computer Research and Development, 2016, 53(5): 1009-1016. ) |
[7] | 张小红, 裴道武, 代建华, 等. 模糊数学与Rough集理论[M]. 北京: 清华大学出版社, 2013 : 205 -269. ( ZHANG X H, PEI D W, DAI J H, et al. Fuzzy Mathematics and Rough Set Theory[M]. Beijing: Tsinghua University Press, 2013 : 205 -269. ) |
[8] | 范渊, 刘志乐, 王吉文. 一种基于模糊粗糙集的网络态势评估方法研究[J]. 信息网络安全, 2015(9): 58-61. ( FAN Y, LIU Z L, WANG J W. Research on network situation assessment method based on fuzzy rough set[J]. Netinfo Security, 2015(9): 58-61. ) |
[9] | ZIARKO W. Variable precision rough set model[J]. Journal of Computer & System Sciences, 1993, 46(1): 39-59. |
[10] | 黄卫华, 杨国增, 陆亚哲, 等. 变精度粗糙集模型研究[J]. 河北北方学院学报 (自然科学版), 2015, 31(4): 8-10. ( HUANG W H, YANG G Z, LU Y Z, et al. Model of variable precision rough set[J]. Journal of Hebei North University (Natural Science Edition), 2015, 31(4): 8-10. ) |
[11] | 张国荣, 王治和, 周涛. 变精度粗糙集模型与应用[J]. 太原师范学院学报 (自然科学版), 2010, 9(4): 14-17. ( ZHANG G R, WANG Z H, ZHOU T. Variable precision rough set model and application[J]. Journal of Taiyuan Normal University (Natural Science Edition), 2010, 9(4): 14-17. ) |
[12] | 林春杰, 韩晓琴. 基于VPRS的网络安全威胁评估方法[J]. 信息通信, 2011(4): 27-28. ( LIN C J, HAN X Q. A method based on network security threats assessment[J]. Information & Communication, 2011(4): 27-28. ) |
[13] | 刘静, 何贤芳. 基于Rough集的集成离散化算法[J]. 重庆三峡学院学报, 2010, 26(3): 59-63. ( LIU J, HE X F. A discretization algorithm based on rough set[J]. Journal of Chongqing Three Gorges University, 2010, 26(3): 59-63. ) |
[14] | 张冬雯, 张学杰, 仇计清. 改进的k-means算法在入侵检测中的应用[J]. 微计算机信息, 2010, 26(18): 11-13. ( ZHANG D W, ZHANG X J, QIU J Q. Application of improved k-means algorithm in intrusion detection[J]. Microcomputer Information, 2010, 26(18): 11-13. ) |
[15] | 陈秀真, 郑庆华, 管晓宏, 等. 基于粗糙集理论的主机安全评估方法[J]. 西安交通大学学报, 2004, 38(12): 1228-1231. ( CHEN X Z, ZHENG Q H, GUAN X H, et al. Approach to security evaluation based on rough set theory for host computer[J]. Journal of Xi'an Jiaotong University, 2004, 38(12): 1228-1231. ) |