刘建华 魏铭冠 刘意先
(1.西安邮电大学信息中心 西安 710121)(2.西安邮电大学计算机学院 西安 710121)(3.西安邮电大学通信与信息工程学院 西安 710121)
互联网给人类带来了极大的便利,但随之而来的各类网络安全问题也日益凸显[1]。对于网络信息泄露、病毒入侵、黑客攻击等网络安全问题,网络安全人员可以利用渗透测试工具随时掌握网络的实际情况[2]。网络安全工具主要是通过检测远程或本地主机安全性弱点的程序。网络安全工具种类有很多,如:网络扫描工具、通用漏洞检测以及应用漏洞检测等[3]。Kali Linux 系统是一个专为渗网络安全打造的系统,在Kali Linux 系统中预安装了嗅探/欺骗、漏洞分析等十三个工具集[4]。有些工具的功能较为相似,这会给网络安全人员在选择工具时带来一定的麻烦。一个问题是,在不同情况下要更好地进行安全维护和识别某些类型的网络危险时,网络安全人员必须花大量时间在其他来源中搜索信息,对比功能相近的工具并找到最合适的一款工具。另一个问题是,类似的工具可能会产生不同的结果,如:漏洞扫描不全面,数据分析出错等。因而在进行网络安全维护时,网络安全人员在选择工具时会有一定的难度。对此,Artem Tetskyi 等[5]使用神经网络创建决策模型以解决在各个应用领域中选择工具的问题。该方案可行但对于模型要求相对较高。
本文拟提出AHP-TOPSIS[6]模型用于解决选择工具困难的问题。该模型相对简单且易于实现,因此将会为使用者在选择工具时提供一定的参考价值。
AHP-TOPSIS 方法中的混合模型已被先前的研究人员广泛使用,其准确性已被接受。例如,将AHP-TOPSIS用于衡量区域创新系统的绩效评估[7];AHP-TOPSIS 曾用于评估船舶操作员的压载水处理系统[8];利用AHP-TOPSIS 研究印度太阳能电池板开发的可行性[9];AHP-TOPSIS 也可以用于分析e-SCM 性能[10];AHP-TOPSIS 也可用于避免城市交叉口的交通拥堵问题[11];AHP-TOPSIS 甚至于可用于预测大学生未来就业问题[12]。
由于,渗透测试工具种类较多,因此本文的渗透模型主要以嗅探器的选择为主。而嗅探器的功能各异,故本文主要将模型缩小到在一定的需求下,选择适合该需求的工具。通过参考“https://sectools.org/tag/ sniffers/”网站,工具选择的体系构建应兼顾该工具的功能、使用平台、评分、声望等多个因素。本文的评价指标包含定性和定量两种指标。如表1所示。
利用层次分析法(Analytic Hierarchy Process,AHP)[13]建立评价方案,该方案主要由目标层、准则层和方案层组成。通过决策者的主观性,利用两两比对法对准则层以及方案层进行赋值构造成对矩阵,输入的数据都是决策者的主观判断值。比较时用1~9 尺度对评价因子进行重要性标度[14],其中1表示影响相同,3表示影响稍强,5表示影响强,7表示影响明显强,9 表示影响绝对强,2,4,6,8 则是介于两个相邻等级之间,且。构成一个成对比较矩阵(即判断矩阵)A=(aij)n×n,其中aij表示第i 个因素与第j 个因素相比较而得到的结果。最终得到的判断矩阵为
表1 测试工具指标评价体系
成对矩阵A 利用Matlab 将其规范化为矩阵Z",其元素为,且有
求出判断矩阵每一行评价因子的几何平均值,对所得向量进行归一化处理,得到各个评价因子的主观权重值。计算公式为
为了检查各矩阵的一致性和正确性,采用特征值原理计算一致性指数CI 。计算公式为
结合式(1)~(4)求得的准则层和方案层各自的权重值,计算方案层中各个方案对目标层的相对重要性的排序,即权重W=[w1,w2,…,wm]。
将方案层各方案相对于准则层的单个准则的影响程度构造成对矩阵Z ,并将Z 根据总排序得到的权重W 进行加权处理,得到加权标准化矩阵P。
利用TOPSIS法[15]求出加权标准化矩阵P 的正理想解和负理想解,具体计算公式如下所示:
正理想解:
负理想解:
再分别以di*和di0表示各方案的正、负理想解的欧式距离,具体计算如下所示:
计算各方案的贴近度指数Ci,按Ci由大到小排序方案的优劣次序:
由式(10)的结果得到各方案贴近目标的最终矩阵C ,再结合准则层的权重ω,得到最终的综合评价矩阵Q=ωC 。利用Matlab 求出最终贴近度T进行优劣排序,从而得出结果。
现有渗透需求为:“嗅探流过网卡的数据并进行分析过滤,筛选出所需的网络信息”。采用AHP-TOPSIS 模型法选择合适的嗅探工具。按表1中的指标体系将该需求分解为以下4 个评判属性指标:功能、评分(Rating)、声望(popularity)和使用平台。所选工具应该具备嗅探网卡和自动分析收到的数据包并了解数据包详细信息等功能。评分和声望是“https://sectools.org/tag/ sniffers/”网站为所有工具提供的必有的、固定的属性。本案例的需求可在Windows、Linux和Apple Mac OS X平台上进行实验。
本文所选取的数据均来源于“SecTools.org:排名前125 名的网络安全工具”,数据具有真实可靠性。自2011 年,该网站提供评级、评论、排序和新工具建议表等功能。根据表1 中的指标体系,现只选取其中4 个包嗅探器工具作为本文实验分析的数据,这些数据的所有属性都是基础语言类型。在对于如何将基础语言转化为数据类型的问题中,周波等[16]提出了一种模糊项的新型定量方法:将安全评估中使用的属性按“高”、“中”、“低”进行排序后再进行量化。本文则先采用人为方法对工具赋予主观权重,再利用AHP 进行比较,构造成对矩阵。最后利用AHP-TOPSIS模型进行综合评价。
在利用AHP 构建成对矩阵之前,首先将各个属性进行适当的赋值,如,比较Wireshark 和Net⁃workMiner。Wireshark 是一个数据包嗅探器,功能是“可检查来自实时网络或磁盘上捕获文件的数据,也可以通过交互的方式浏览已捕获到的数据,最终可深入了解所需数据包的详细信息”,按其对本文需求的影响赋其主观权重9(十分制);使用者给予的评分是4 分,声望为2,可在Linux、Apple Mac OS X、Windows 系统上使用,它还提供GUI 界面、源代码可检查功能。而NetworkMiner的功能是“可被用作是被动网络嗅探器(或数据包)的捕获工具,以便用于检测操作系统,开放端口等”,按其对本文需求的影响赋其主观权重7(十分制);使用者给予的评分是3 分,声望是20,仅限于再Windows系统上使用,提供GUI 界面、源代码可检查等功能。现将它们依次赋予数值,本文中的数据均是数据嗅探器,因此将这一项均赋值为“1”;将“无线工具”赋值为“2”;声望值和评分均为各自的数值;各个操作系统均为“1”;可提供GUI 界面赋值为“2”;源代码可检查赋值为“3”。因此,Wireshark 的值为“23”,NetworkMiner 的值为“36”。同理将其余两个工具都赋值。最终的结果如表2 所示,将各属性(功能、声望、评分以及使用平台)分别用X1~X4表示。
表2 数据量化
本文所选取的各个属性皆是数据源中各个工具所拥有的信息。通过对本文案例的分析,选择出对本文案例影响较大的属性作为工具的属性。为满足每个不同的需求,AHP-TOPSIS 模型的属性选择不是固定唯一的,而是根据需求的不同,需要灵活选择合适的属性。
根据表2的数据结合图1的层次结构模型构建判断矩阵。其中A 为目标层,B为准则层,C为方案层。
图1 层次结构模型
根据图1 可列出各方案对于各准则的判断矩阵,结合表2 中总排序结果中的总排权值构造加权矩阵P。结果如表3所示。
表3 层次总排序结果
(功能)
(评分)
(声望)
(使用平台)
利用TOPSIS 法算出P1~P4各矩阵的正、负理想解以及贴近度。方案层的四个方案Wireshark、Kismet、Dsniff 以 及NetworkMiner 分 别 用S1~S4表示。结果如表4所示。
表4 各矩阵的正、负理想解以及贴近度
在本文中,AHP-TOPSIS 方法被用作工具选择过程的决策支持模型。该模型可用于减少决策中的人为弱点,并获得更准确的结果。AHP具有很强的主观性,在构造成对矩阵时,输入的数据都是决策者的主观判断。但它具有简洁性和实用性,在各个决策分析中占据极其重要的地位。经实验证明:本文提出的AHP—TOPSIS 模型具有成本低、容易实现、灵活性较强、算法简单、容易理解、使用Mat⁃lab 操作代码较少的特点,并且对于选择网络测试工具是比较有效的方法。同时该方法也可适用于其他工具的选择问题。