论文:Temporal MDS Plots for Analysis of Multivariate Data
作者:Dominik Jäckle, Fabian Fischer, Tobias Schreck, Daniel A. Keim
发表会议:TVCG 2015
在网络信息安全领域,潜在的威胁多种多样。描述这类行为的网络流数据具有多元和时序特征,而传统的监督学习方法中需要人们输入一组已知类别的样本,这对于网络流数据是不合适的。本文采用可视化的技术手段,利用多元尺度法(Multi-dimensional Scaling)对网络流数据进行1维投影映射到屏幕纵坐标,同时将时间维度映射到屏幕横坐标,进而得到2维时序MDS图。MDS方法尽可能地保留了投影点在原来高维空间的相似性,利用人眼在模式识别上的优势,用户可以很快地识别出一个个“异常”模式。进一步,用户可以对“异常”模式背后的原始网络流数据进行分析,得出相应结论。
下图是本文提到的TMDS系统操作界面:
主界面:主界面是TMDS投影结果呈现界面,为上图中黑色区域,每一个点代表一个投影结果,在同一水平线上的点代表着一个“异常”模式,不同的异常模式被不同的颜色编码并表示出来;
副界面:副界面既主界面下方的热力图区域,副界面左端有颜色图例,从浅到深代表着相应数值从小到大。热力图每一行代表原始网络流数据的一个维度,每一列对应主界面的横坐标时间轴;
设置界面:图中白色区域都属于系统参数设置界面,主界面的上方有两个参数设置框,分别设置移动窗格的大小和重叠区域,主界面右端包含若干个系统运行所需参数的设置以及最终被颜色标记的异常模式是否可见的设置(眼睛按钮)。
文中所运用的方法可以概括为下列的“三步走”策略:
文中呈现了两个案例,第一个使用前文提到的真实数据,识别出四个“异常”模式,并根据分析人员的进一步推断,将四个异常模式进行了具体解读。第二个案例使用VAST Challenge 2013提供的模拟数据,并将实验结果与真实结果进行了比对,发现符合率高达84%
网络流数据:本文使用的原始数据是一条条网络流记录,每一条记录对应于某一具体时刻,每一条记录包含共计16个维度的信息,比如:来源端口、目的端口、IP地址、协议类别等。文中真实数据由Apache Spark抓取,模拟数据由VAST Challenge 2013提供。
移动窗格法:直接将MDS方法运用于全部数据存在两个问题:一是信息损失过多导致模式不明显,二是海量数据计算致使时间开销太大。因此,本文采用移动窗格法,人为控制窗格大小,每次只对窗格范围类的数据进行MDS降维,相邻窗格间存在交叠。
MDS降维:对于每一个移动窗格内的数据,文中采用MDS方法进行降维,每一个数据都得到一个1维MDS值,这个值依赖于原来高维空间中距离函数的选取,文中选取的距离函数使得1维MDS投影值落在了区间[-0.5, 0.5]上。同一个窗格内的数据投影点在同一竖直线上表示出来,此时,时间轴表示移动窗格的先后次序,蕴含时间升序关系,不具有真实时间意义。
窗格翻转:这是本文的亮点思想,相邻两个移动窗格内的数据分别进行MDS投影后,交叠部分的数据两次投影结果([-0.5, 0.5])可能不一致,甚至出现正负号倒置情况。作者观察,当交叠部分数据全部投影结果正负号倒置情况过半时,后一个窗格内所有MDS值全部乘以-1,几何直观上表现为窗格翻转。经过此步骤处理,系统界面最终呈现的投影点可以显示出非常明显的肉眼可识别的模式特征。
最后谈几点个人看法,网络攻击具有持续性的特点,使用MDS方法在损失信息有限的情况下可以将高维空间的持续性特征映射为1维坐标轴的水平相似性特征,从而使得肉眼能够快速识别某些“异常”模式。文中还提到了模式的自动搜寻算法,当用户识别出某一模式时,系统能够自动将属于这一模式的投影点用颜色标识出来。这使得TMDS方法对于模式识别具有很高的效率。但是模式识别后的具体分析仍然需要分析人员花费大量精力,这部分工作并没有采用更有效率的可视化手段,而只是纯粹地将被识别后的“异常”模式对应的原始数据导出,这部分工作也是本文所提方法的未来探索方向。
✉️ zjuvis@cad.zju.edu.cn