熟悉金字塔原理的人都了解一个事实,人脑的短期记忆最大能够保持7个左右的元素,这意味着在分析工作中只能跟踪非常有限的数据。

而可视化作为探索、展示和表达数据含义的一种方法,充分利用人的视觉系统特点(视觉是向大脑输入信息最直接、数据带宽最大的方式,每秒可以接收相 当于100万字符的信息),可以让人在更高层面上去观察和理解数据,可以比其它方式让人们更好的利用大量的信息去思考更复杂的问题。可视化在分析复杂数据 时必不可少,自然在大数据安全分析中同样发挥了至关重要的作用。

笔者不是可视化方面的专家,也因深知其重要意义,因此以一孔之见希望能引发真正领域专家的珠玉之言,共同促进可视化技术在安全领域的应用。

一、网络安全与可视化

在网络安全领域,可视化做的不只是安全分析,市场营销中就广泛使用了可视化技术。在数据驱动安全的概念流行的今天,每个安全厂商都希望展现自己在 数据方面的实力,无论数据的丰富程度或者及时性都可以通过可视化很好的展现出来,并且通过极具视觉冲击力的形式,形成强悍的冲击力。各个厂商自然纷纷效 法,因此我们看到了TK做描述的一幕:“基本就是一张地图,然后激光炮、气功弹打来打去”。不能否定这是可视化的价值之一,在传播上具备较大的优势,否则 你说你积累了多少数据、部署了多少采集器,这些数字往往只对极少数业内认识有意义,在大众传播上是不能和可视化带来的直观、丰富的体验相比的。

但我们同时需要看到业内对可视化的最大期待是在安全分析上,希望通过可视化方式,让大数据更好的被使用,为用户产生价值,尤其是在急需APT或者 定向攻击检测方案的今天。可视化可以应用的场景,其中包括了安全分析的各个阶段:异常发现、误报分析、调查取证、关联分析等等。相对业界的期待,国际上有 了一批做出一定成绩的厂商,而国内这方面还没有看到有所突破的产品,就其原因,大家都还在起步阶段,而可视化技术和数据挖掘一样,属于跨领域的专业,但却 没有向数据挖掘一样被正确认识,我们可以看到安全领域的专家和数据挖掘算法、数理统计方面的团队协同工作,但可视化在很多时候往往被认为是设计师和前端开 发的工作,这种认识无疑是国内安全行业的可视化发展进展缓慢。

二、跨领域的知识结构

需要怎样的知识,能够在安全产品中更好的使用可视化方法,这里根据个人之前的工作中的摸索(主要在产品需求及设计方面),认为以下四方面的知识对设计工作有比较大的影响:

1. 需要掌握可视化的一些基本理论和方法:个人推荐一本Stephen Few的《Now You See It: Simple Visualization Techniques for Quantitative Analysis》虽然不是很新,但很多内容有针对性,值得一读;另外邱南特的《数据之美:一本书学会可视化设计》作为可视化理念入门也非常不错;

2. 深入了解安全分析人员的工作流程、方法:他们最经常的工作是什么,之前如何完成,他们认为怎样的工具可以帮助他们更好的完成。或者还有一种选择,让自己成为一个安全分析师,设身处地的想一下,自己需要怎样的工具来帮助自己更好的完成工作。

3. 对已有安全分析类产品的剖析:我就曾经从对Splunk和Palantir的分析中得到很多启发,而今年以来这方面的国际厂商更是越发多了,有机会思考一 下他们的设计逻辑对提升产品感觉非常有帮助;需要注意的是要剖析同类的产品,可视化的在某些领域的经验和安全分析领域是有很大不同的,如果不区分具体场 景,而参考一些其它领域的可视化成功经验,也许会走入误区。

4. 从相关行业获取灵感:安全分析和情报、刑侦机构的情报分析有极高的相似性,网络安全领域的安全分析是可以借鉴他们所使用的工具和理念。例如几年前被广泛使 用在警务、情报、安全组织的可视化分析调查软件i2,即使现在软件架构上已经过时了,但分析的场景及业务逻辑等都有很好的借鉴。同时如果能够对情报分析中 的结构化分析方法有一定了解,相信对思路拓展就有更高的价值。

这是一个相对全面的内容了,对应很多人来讲难以快速掌握,那么最小程度上,应该对第2、3两点有充分的了解。

三、两个成功要素

学习和实践的过程总是相互交织在一起,谈完了需要学习的领域知识,紧接着就应该是实践问题。总结个人参与的项目,发现有两个关键点,如果能够牢牢把握住,相对就可以事倍功半。而这两点分别是以业务为中心和提供良好的交互操作。

一:以业务为中心

这里的业务无疑指的是我们在安全分析过程中,希望用可视化解决怎样的问题,以及需要怎样的可视化方式。可视化不只是采用漂亮的图形讲数据展示出来,它更需要解决实际问题。要做到这点可以采用以下过程方法:

1. 首先明确业务角度需要了解什么

业务需求方面的内容,在之前的文章《大数据安全分析—分析篇》中已经有了讨论,可以参考那篇文章,这里不再重复。

2. 其次要研究确定相关的数据及数据间的关系

这是可视化设计中的难点,近乎于灵感、经验和跨领域知识(可视化、安全知识、结构分析等)的综合能力,在掌握了基本技能后,主要的差异就是从这里表现出来的。这里举一个Splunk中的简单图表设计为例,给予说明。先看下图:

大数据安全可视化分析-开水网络

这张表是设计用来快速识别误报及需要优先处理的报警的,采用的是典型的TOPN 方式。不难发现这个TOP攻击的表要比我们常见的多了攻击源和目的的计数,因为产生报警数量特别巨大的签名可能是误报,也可能是需要优先处理的,单纯从报 警数量上难以做判断,这里加入源和目的的计数,就可以进行初步的判断:

o 数量较少的主机产生了大量报警,这些主机更有必要进行调查;
o 正常流量相关活动通常分布在许多主机间,也就是说生成事件的源主机数如果很高,有很大可能,这种事件属于正常网络使用;
这样的设计,不是对分析人员的工作痛点有足够了解,在安全知识上有足够积累,并进行了深入思考和开拓创新,难以做到。

3. 最后根据数据的关系确定使用的可视化方式

这个方面的知识比较成熟,各种资料和研究各种可视化方法的用途有充分的研究,就如下面从IBM的《Choosing a successful structure for your visualization》一文截取的图表:

大数据安全可视化分析-开水网络

需要说明的是这个表格的图表类型并不完整,并且可视化方法中除了图类型的选择外,还需要考虑颜色、线型、大小、形状等,在需要的时候还可以综合在一个设计中使用多个类型的图表。感兴趣的人可以去深入学习,我前面推荐的《Now You See It》就有更详细的论述。

以业务为中心,并不能保障设计出杰出的可视化产品,但可以保证走在正确的道路上,避免走弯路,如:单纯的考虑数据呈现而忽略其价值和内在关系,一味追求设计包含的更大的数据量、只愿意使用独特、复杂的图形方式等等,这些都可能造成产品价值、可用性方面的问题。

二:交互操作

在可视化相关的文章中,树图的发明者,本-施奈德曼教授在其论文《眼见为实》(The Eyes Have It)中这句话最经常被引用“先总览,再缩放并筛选,然后按需寻找细节”,这句话在说明可视化中典型交互模式的同时也表明了分析需要良好的交互操作的。 Raffael Marty (国际权威的安全数据分析和应用安全可视化专家之一,安天组织的ISF2014中做过首发演讲)对这个模型做了形象化的展示:

大数据安全可视化分析-开水网络

我们需要考虑到界面对这样的操作模型有良好的支持,可以让分析人员很自如的观察、缩放、筛选并查看细节,而不因为界面操作的问题打乱其分析思路。

同时也需要考虑使用中的涉及到的相关任务,如:

·确定是误报后,是否可以提供快速处理机制
·狩猎中发现的线索,如何快速升级到事件
·调查期间的线索如何汇集和管理
·… …

总的来说,只有提供了高度可交互操作的安全分析平台,才是一个具备高度可用性的产品,才可以数十倍的提高分析人员的效率。

小结

可视化在安全分析产品中的重要性毋庸置疑,个人甚至认为是高于数据挖掘的,是一个非常重要但没有被很好重视的领域。由于个人工作经历和所学限制, 这篇文章内容更偏产品管理和设计方面,但也希望不止这两方面的人看到它,也许是开发工程师,也许是管理者,更有可能是安全响应分析人员,希望能了解从你们 角度如何看这个问题,等待大家的意见。

参考资料

· 邱南特:《数据之美:一本书学会可视化设计》

· IBM:《Choosing a successful structure for your visualization》

· http://www.splunk.com

· http://pixlcloud.com

*本文作者:ZenMind