安全数据可视化
概述
数据可视化主要旨在借助于图形化手段,清晰有效地传达与沟通信息。随着大数据,机器学习,EDA的发展,数据可视化变得越来越重要。在大量的数据面前,传统方法也无能为力,使用可视化的方法可以快速直观地分析/展示数据。
为什么要可视化数据?
- Discovery:用于探索、观察数据,将数据转换为知识。通过视觉展示,能够给人们一些新的观察视角,以便思考、发现这些数据所包含的知识。
- Understanding:通过可视化,可能会发现一些传统统计学方法/数理知识无法发现的模式/规律/关联,使得研究人员更好地使用这些数据。
- Informed decisions:快速、准确地将数据所包含的信息传递给读者,在损失一些细节的同时,在几秒钟的时间内将信息传递出去。
引用宫一鸣说的:

《Data-Driven Security: Analysis.Visualization and Dashboards》一书描述了通过了解人类视觉信息系统的运作,来帮助我们创造出优秀数据可视化:视觉信息通过眼睛,从光转化成电信号,这些信息经过视觉记忆(visual memory)的若干阶段,每个阶段都有特定的强度、限制以及功能。在我们能够意识到这些信息之前,大脑会快速地扫描视觉区域,这就是前注意处理(preattentive processing)。最后,大脑会让眼睛进行一系列的扫视运动(saccadic movement),我们会聚焦在不同的特征上面,来帮助大脑建立视觉画面。
视觉记忆
- 图像记忆:视觉信息在这里进行十分短暂的停留。这是人们对视觉信息的第一印象,可以通过颜色、形状和其他线条来抓住观众的注意力以及传递一些数据的基本属性信息。
- 工作记忆:在这个阶段,根据任务和对象不同,大脑仅可以容纳三到五个对象,所以在展示数据的时候,应该限制每个视觉效果内部超过五个对象。
- 长期记忆:能够保持几天到几年的记忆,短期记忆是神经连接的暂时性强化,生理上的结构是反响回路(reverberatory circuit),而通过巩固后、可变为长期记忆。
前注意处理
平时我们在记笔记,画脑图的时候就不知不觉的运用了前注意处理的特点了,即画重点,分类标记等等。前注意处理可以很好地智能分组和聚集重要信息,通过强化部分视觉属性,可以轻松做的这一点,如:



**扫视运动**
人们在观察事物的时候,眼球会快速地各处移动,通过一系列的观察来建立整个图像。在我们观察一个可视化图像的时候也会这样,人的眼睛会注视在有明显特征的区域,然后在重要的点之间来回跳动,因此我们应该:
- 不要在仪表盘上过多地展示视觉特征
- 赋予重要信息更明显的视觉特征
- 限制扫视运动耗费的时间
可视化分析
相关知识
- 统计学知识:很多数据都是数值型(numeric)的,因此均值、中值、方差、标准差、正态分布、蒙特·卡罗方法等等这些东西很有用。
- 可视化知识:美学及可视化方法的选择。
- 安全知识:识别误报、安全事件、安全事故等等。
思考目标
目标驱动而不是数据驱动。要清楚可视化这些数据的目标是什么,是分析数据找出规律/异常?还是直观的展示数据?还是其他用途?
数据预处理
- 数据清理:清洗脏数据
- 数据集成:将多文件或者多数据库中的异构数据进行合并,然后存放在一个一致的数据存储中。考虑以下几个问题: 1.模式匹配 2.数据冗余 3.数据值冲突
- 数据变换:1.平滑 2.聚集 3.数据概化 4.规范化:(1)最小-最大规范化 (2)零-均值规范化 (3)小数定标规范化 5.属性构造
- 数据规约:数据过大的情况下,使用数据归约技术获得比原始数据小的多的,但不破坏数据完整性的数据集,该数据集可以得到与原始数据相同的结果
通过可视化手段,我们可以:
- 综合信息,从海量、动态、模糊、矛盾的数据中获取深入的了解。
- 从可视化中得出意想不到的结论、证实猜想。
- 实时地将数据转换为有用的知识。
可视化在数据挖掘中也非常重要,他是连接从数据升华到知识这个过程的桥梁,快速直观地发现数据中存在的规则,特性,走势等等,辅助数据分析及建模过程。前面的机器学习实战之Kaggle_Titanic预测就大量使用了可视化技术来辅助分析。
下图是可视化分析概览:

常见应用
分析 | 数据名称 | 数据源示例 |
---|---|---|
流量监控 | 网络数据包日志 | Tcpdump,Wireshark |
网络数据包日志 | CiscoNetFlow | |
状态监控 | 状态监控日志 | BigBrother,vSphere |
事件监控 | IDS/IPS日志 | Snort,Bro |
防火墙日志 | Cisco,Checkpoint | |
网络应用操作日志 | Apache,Nginx,Exchange,DNS | |
漏洞扫描与监控日志 | Fortify,Nessus,Zabbix | |
其他日志 | 数据库日志,系统日志等等 |
