Home > 其他 > Vulnus: Visual Vulnerability Analysis for Network Security

Vulnus: Visual Vulnerability Analysis for Network Security

作者:Marco Angelini ; Graziano Blasilli ; Tiziana Catarci ; Simone Lenti ; Giuseppe Santucci
发表:TVCG 2018

研究背景

1. 软件漏洞

根据NIST(美国国家标准与技术研究所)给出的定义,软件漏洞是指在软件和硬件组件中发现的计算逻辑(如代码)的弱点,当被利用时,会对信息系统的机密性、完整性或可用性产生负面影响。

而安全管理员这一职业通常需要处理大规模的漏洞,并且决定处理措施,具有很大的挑战性。

 

 

 

 

 

 

2. CVE & CVSS

2.1 CVE(Common Vulnerabilities & Exposures) 公共漏洞与暴露

CVE是一个漏洞库,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。

 

 

 

 

 

 

 

 

 

 

 

 

 

2.2 CVSS(Common Vulnerability Score System) 通用漏洞评分系统

CVSS的主要目的是帮助人们建立衡量漏洞严重程度的标准,使得人们可以比较漏洞的严重程度,从而确定处理它们的优先级。 分数为0到10,一般7-10的漏洞被认为比较严重。包括以下几个组成部分:

a. Base score:由Exploitability(可执行性)与Impact (影响程度)度量
b. Temporal score:反应漏洞随时间推移的影响,不受环境影响
c. Environmental score:特定环境下执行漏洞的分数

并由以上三个层面组成一个Overall score,其中Base score由专业的分析人员给出,Temporal score和Environmental score可根据具体的商业环境来选择。

相关工作

多数的网络安全工具提供的漏洞可视化信息都是有限的,如常见的CheckPoint NGSE, Imperva SecureSphere, IBM QRadar, RSA enVision等,它们都用表格的形式来处理漏洞,或者是用非常简单的基础图表(如柱状图、饼图),不支持适合操作大规模网络的抽象可视化形式。如下图的IBM QRadar:

或者是如VisiTrend,虽然用了丰富的可视化手段来呈现网络拓扑结构,但是忽略了一些重要的参数信息,比如CVSS里的可利用性分数(Exploitability score)等:

 本文工作

提出了VULNUS — 一个探索系统漏洞的可视化环境,用类似于treemap+barchart的可视化形式来展现了子网络、网络节点、节点漏洞等信息。

1. 主要贡献

a. 一种改进的Treemap+barchart可视化形式,集成了多个面板和过滤机制,帮助理解跨多个子网络的大规模漏洞。
b. 一个自动计算的分数机制(Target Environmental Score),弥补了CVSS的不足。
c. 假设分析机制允许用户进行交互式地探索和修改漏洞修复的优先级。
d. 一项通过实验测试评估出本文所提出解决方案的有效性和效率的User Study。

2. 设计需求

a. 监管:对环境的全局状态的掌控、快速地发现存在风险的区域
b. 分析:基于节点、漏洞或度量准则
c. 假设分析:支持对系统提供的修复计划进行模拟

3. 界面设计

A. Network focus view
B. Node based view
C. Vulnerability based view
D. Fixing plan view

3.1 可视化编码

每个水平放置的Bar代表一个子网络,宽度与该网络的漏洞数成正比;多个子网络的组合可看作一个水平的Barchart;一个子网络可看作一个Treemap,每个叶节点代表一个网络节点。

对于叶节点,其大小编码了漏洞数量,A的高度编码Base score的平均值,B的深浅编码了Environmental score的最大值,C反映了Exploitability score的分布,左上角的三角形用不同的颜色表示其为Source node或Target node,E的箭头表示在上一次扫描后Environmental score的变化。

3.2 视图切换

本系统除上文介绍到的子网络视图外,还支持另外三种视图

a. Sub-network View 子网络视图
b. Score View 分数视图
c. Network View 网络视图
d. Vulnerabilities View 漏洞视图

其中,分数视图的网络节点按照Base score的分数段分组:

Network View的整个网络用一个Treemap表示,每个叶节点表示一个子网络:

Vulnerabilities View中的每个元素代表一个漏洞,元素的大小代表有这个漏洞的IP地址的数量:

 4. 假设分析

4.1 概念介绍

Attack path:一组可通过已知漏洞加以利用的节点序列  

Attack graph:所有计算出的攻击路径的并集

 4.2 Target Environmental Score

Vulnus没有使用CVSS中的environmental score,而是基于attack path的environmental score(Target Environmental Score)

计算方式:该漏洞被的ap数量占所有ap数量的比例

4.3 漏洞修复优先级计算

要找到最优解决方案是一个Set cover(集合覆盖)问题,最小化子集的数量,也就是最小化需要修复的漏洞数,这是一个NPC问题,可以用贪婪算法找到近似最优解,也就是在一步都选择包含最多还未被包含的Attack paths。

User study

1. 被试

20个计算机安全专家,均有2年以上经验,其中包括5 PhD, 7 Master, 5 Bachelor degree, 3 High school degree(4 female and 16 male)。

2. 真实网络数据

122个节点、22个子网络、846个漏洞

3. 实验流程

a. 在实验开始前,通过一个ppt介绍背景以及系统操作(30-40 mins)
b. 被试进行training,熟悉界面及操作(20 mins)
c. 被试进入正式实验,通过交互完成6组task(17个question)

总结与未来工作

1. 总结

a. 本文将CVSS与attack graph model结合起来,帮助网络安全分析人员更好地分析漏洞
b. 自动计算近似最优解决方案
c. 假设分析使得用户在不把解决方案应用到实际环境的情况下就可以探索其效果

2. 未来工作

a. 继续改进可视化编码形式
b. 增加其通用性,尝试应用在来自不同领域的多元数据上(如医疗或金融数据)

分享到:

发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>