基于地理位置的网络安全可视化研究与应用

2017-03-14 02:24丁晓旭
网络安全技术与应用 2017年2期
关键词:蜜罐攻击行为视图

◆丁晓旭 方 勇 黄 诚

基于地理位置的网络安全可视化研究与应用

◆丁晓旭 方 勇 黄 诚

(四川大学电子信息学院 四川 610000)

网络安全技术与数据可视化的结合形成了网络安全可视化这一新的热点研究方向。本文主要研究了可视化结构中的地理位置结构在网络网络安全方面的实现与表现,以及针对这种结构如何处理数据令其成为合适的视图输入。地理位置结构可以展示数据所对应的空间地理位置信息,如经纬度、国家和城市等。可以进行基于地理坐标的攻击曲线、攻击效果、动画光圈的绘制,在本系统中可以用来实时锁定攻击源的地理位置,以及整体攻击状况的地理分布情况。

网络安全;数据可视化;地理位置结构

0 前言

随着网络应用,网络通信技术的高速发展,互联网逐渐为人们生活、工作不可缺少的一部分,其面对的安全威胁越来越大、越来越复杂。网络安全问题成为人们关注的重要问题。为了应对层出不穷的网络攻击,技术人员开发出各种网络安全工具、设备,这些设备的运行过程中会产生海量数据,捕获的攻击行为数据、日常运行产生的日志信息等。

研究人员需要从海量数据中提取有效信息,从而达到及时预警甚至预判攻击者行为的目的,传统分析方法面临认知负担过重、交互性不强等一系列问题,就需要运用可视化技术[1],对信息进行分门别类,通过图表的方式直观、清晰的展示出来,帮助工作人员更好的掌握重点、提高人的分析效率。网络安全和可视化技术顺应需求相结合,形成了网络安全可视化[2]这一新的研究方向。

特别是自2004年始,每年召开一次的网络安全可视化国际会议(The International for computer security,Viz SEC)[3],推动着该研究领域的发展。Tudum在2002年进行了基于三维可视化系统来监控和审计系统日志的研究[4]。Chris W 等人[5]在 2007年研发的可视化工具,通过邮件日志利用二维,三维散点图,堆叠折线图寻找垃圾邮件的发送源和中转站。就国内而言,2014 年中南大学赵颖等人[6]提出的可视化系统针对已经过特征融合的多源日志,利用堆叠流图和雷达图展示出设备遭遇安全事件的整体情况,某一时间点发生了某一类安全事件的所有设备,并进行端口活动情况的监控。

但是目前为止,对网络安全数据可视化的研究,要么是对单一数据形式的深入挖掘、分析、可视化,要么虽然是基于多样化的数据源,但使用的雷达图,力引导图等,虽然对数据进行了可视化展示,但是不直观明了,当工作人员看到这些视图时并不能第一时间把握网络当前威胁情况,需要进行很多其他交互操作或具备相关知识储备才能很好地获取信息。针对以上问题,本文设计、实现了能对当前网络安全情况一目了然、交互操作简洁的基于地理位置的网络安全可视化的web页面应用。

1 相关知识

1.1 可视化结构

已知可视化结构是指设计者采用某种组织方法对原始信息进行分类、排序和控制,并采用视觉图形化的方式将信息呈现给用户[7]。能够真实的展示数据,并使得数据被人正确理解,才是可用的数据化可视方法。目前,应用在网络安全方面的数据可视化结构主要有以下几类:列表式结构,坐标式结构,树图结构,地理位置结构,散列结构,形状编码结构,嵌套结构等。

列表式结构一般由基础的行/列结构组成,将每条信息的详细属性直观的展示出来,适用于各种场景;坐标式结构由坐标轴和数据内容在坐标轴上的映射两部分组成,一条坐标轴可对应一个属性维度,如果数据集较少,那么使用合适的坐标式类型可以使得在二维平面就能看到每个数据的属性,针对大型数据,也能够反映属性之间的走向情况以及不同字段之间的关系;树状结构是表示数据体之间关系的结构,可以表示如层级关系、相互影响程度关系等;地理位置结构可以展示数据的空间地理信息,如经纬度、所属国家、城市等。对空间数据信息的展示,是地理位置结构最明显的特征,它可以将地理图形与数据属性之间建立关系。在网络安全中,通过地理位置结构,主要可以用来快速锁定攻击源地理位置,把握攻击数据地理位置分布情况等。

1.2 可视化工具库

随着数据可视化的兴起,诞生了许多可视化工具库。主要分为两类,一是原生的可视化工具,需要使用者上传数据,再选择恰当的图表;一种是基于JavaScript的WEB可视化插件库,通过编程绑定数据,在浏览器上实时显示。本系统需要实时展示攻击数据,因此选择第二种。

具有成熟的代码库以及参考示例的常用可视化插件库有以下三种:D3.js[8]、Highcharts.js[9]、Echarts.js[10]。其中Echarts.js是基于Canvas的纯Javascript图表库,底层依赖轻量级的Zrender库,可以绘制生动、清晰、高交互性的的数据可视化图表;提供丰富的自定义配置选项,能够从全局、系列、数据三个层级去设置数据图形的样式。由于Echarts支持的图表广泛,且简单易用,维护方便,故在本文实际应用中选择了Echarts可视化工具。

1.3 信息可视化参考模型

为了利用可视化技术进行数据到视图的映射,更准确的表达数据之间的关系,Card等人在1999年提出了信息可视化参考模型(Reference Model for Visualization)[11],如图1所示。

图1 信息可视化模型

从左到右,即原始数据到可视化表达的整个过程。首先是对数据源进行去冗余、去无效的清洗操作,将数据解析成可以作为视图数据输入的形式,统一存入数据库中。然后选取适当的表达数据的可视化结构,将第一步中处理的数据再根据相应的可视化算法模型映射到视图中。

2 基于地理位置的威胁警报可视化的实现

2.1 可视化实现流程

结合信息可视化参考模型与本文研究的基于地理位置的威胁警报可视化的实现过程,具体的可视化实现流程图如下所示。

图2 可视化实现流程图

2.2 关键技术

2.2.1 源数据的清洗与解析

本文研究数据基于蜜罐[10]技术的内网安全检测预警系统,通过部署蜜罐检测终端,模拟80端口HTTP协议、22端口SSH协议、1433端口MSSQL数据库、3306端口MYSQL数据库等服务协议,诱导攻击者攻击蜜罐终端并对攻击者的攻击信息进行收集。

将蜜罐传到服务器的原始数据进行清洗与解析,这里清洗是指去掉无效数据与冗余数据,解析是根据攻击者IP这一字段汇集相关信息定义一次攻击为一条数据并以JSON格式用webSocket发送到前端。

表1 重要字段说明

2.2.2 可视化映射过程的算法研究

本文进行的可视化算法研究是以雷达图的3W(what,where,when)模型[9]为基础,将其变形、改进WWS(when,where,scale)模型,使其更适合本文的基于地理位置的实时威胁警报视图的映射。详细算法如下:

(1)提取一条数据的5有效字段分别对应三个维度信息,生成方程(1),选取一次记录中的攻击时间,攻击源IP、目的IP、攻击使用的协议、攻击的端口和攻击使用的工具,分别对应方程式中的when,where,scale;

(2)将上述公式中三种维度属性转换成几何数值,才可以作为可视化的数据输入。时间坐标表示将记录中的攻击时间对应到实时的动画发生的时间,地理坐标表示将记录中的IP地址转换成经纬度,半径表示将记录中攻击事件的威胁程度转换成动画光圈的半径大小;

(3)定义两个函数,f和g来完成方程(1)到(2)的映射,然后完成基于地理位置的威胁警报视图的绘制。不同的攻击行为路线的绘制时间表示在此刻有受到攻击,攻击路线的起点即攻击者的地理位置,动画光圈半径的大小即本次攻击的威胁程度;

方程(3)中RA表示动画光圈的半径;P1即hostPort,受到攻击的端口;P2即AttackerProto,攻击者使用的协议;C攻击的频次;攻击频次C之前设置一个系数,这个系数存在的意义是为了避免漏掉单次或低频次但高危的攻击行为,设置一个最低威胁阈值Xmin,若单词攻击的P1P2的值很大,那么尽管C值只有1或者少数次依然会得到一个较大的威胁值。这些变量的取值是动态的,根据网络的不同需求取值。例如,若当前网络上PC机或服务器主要用来存储重要数据,那么当P2是数据库相关协议如:mssqld或mysqld时显然威胁程度更高,需取值相应设置较高;若希望动画光圈整体都大一些、明显一些,那么φ的取值就要大一点,Xmin的设置则需要相应减小。

3 具体实现与结果展示

3.1 可视化映射过程的实现

本文研究、实现的是基于地理位置的威胁情报可视化,关键点在于实时、明确的展示攻击行为。这就需要时间的同步,在攻击者进行攻击、蜜罐捕获到行为数据的第一时间,就将数据传到前端进行可视化的展示。本文选择使用webSocket协议建立长连接,进行实时的数据传输。当蜜罐捕获到攻击行为,会记录攻击时间、源IP地址、攻击的端口、使用的协议、使用的工具等;然后按照上文中的字段格式处理数据;再利用webSocket建立的长连接,将数据及时的发送到前端。

本文的可视化实现主要是使用Canvas、HTML、CSS和Echarts可视化库,直接创建和操作基于蜜罐数据的交互式网页,将可视化效果展示在浏览器网页上,供安全技术人员进行进一步的分析利用。

可视化的实现主要是调用了Echarts库中能够将数据转换成地图的函数BMapExt.getMap();并用timestamp字段对应本地时间作为攻击直线绘制的时间;根据f函数将源IP字段变换成经纬度坐标,调用markLine对象根据坐标绘制攻击直线;根据g函数将hostPort、AttackerProto和AttackerTool字段变换成半径值,调用markPoint对象绘制攻击目的地显示的动画光圈的大小.伪代码如下:

3.2 可视化效果展示

整体视图如图3所示,不同的攻击事件由不同的直线表示,直线的起点坐标表示攻击源所在地,终止坐标表示受到攻击设备所在地。

图3 攻击行为的地图展示

时间则对应直线出现的时间,并按照需求设定持续一段时间,为了防止安全人员错过这条信息,在视图下面一部分有列表式结构的数据,滚动显示当日的每条攻击数据。而动画光圈则代表了受到攻击的威胁程度,光圈越大越值得引起注意。

通过此图可以实时掌握设备的安全态势。受到攻击的密度,威胁程度,攻击源的位置等信息。通过观察还可以得出一天中哪一段时间受到攻击的频率最高,哪个地方发出的攻击行为最多,以便安全人员据此及时采取应对措施。

4 结束语

网络安全可视化技术能够利用人类的视觉对结构和模型的获取能力,将抽象的系统和网络数据信息以简单直观的图形图像方式展现出来,帮助安全分析人员分析网络状况。为了验证可视化设计的有效性,本文对蜜罐数据进行了可视化设计与展示,实现了研究人员从海量数据中提取有效信息、直观明了的知道网络“现在”正在发生什么、快速把握某个时间段受威胁的情况、掌握攻击者的相关信息并进行针对性的防御,做到有威胁及时发现,达到主动防御的目的。

目前为止,网络安全可视化的研究越来越丰富,但依旧存在很多问题,实时展示性永远都是网络安全可视化中的重要需求,本文虽然实现了攻击行为的实时展示,但是展示的数据源不够丰富,今后的研究重点将主要放在对更高维、更多元的海量数据进行实时可视化展示上。

[1]Visualization.[EB/OL].[2015-03-30].http://en.wikipedia. org/wiki/Visualization_(computer_graphics).

[2]Goodall J R.Introduction to visualization for computer se-curity[C],2008.

[3]Viz Sec Homepage.[EB/OL]. http://www.vizsec.org/,2 014.

[4]T.Takada and H.Koike.Tudumi:Information visuali -zation system for monitoring and auditing computer logs. IE EE,2002.

[5]Muelder C,Ma K L.Visualization of sanitized email lo gs for spam analysis[C]. IEEE,2007.

[6]赵颖,樊晓,平周芳等.大规模网络安全数据协同可视分析方法研究[J].计算机学与探索,2014.

[7]李晶,薛澄岐,史铭豪等.基于信息多维属性的信息可视化结构[J].东南大学学报:自然科学版,2012.

[8]https://d3js.org/.

[9]http://www.highcharts.com/.

[10]http://echarts.baidu.com/.

[11]Stuart Card,Jock Mackinlay,Ben Shneiderman. Rea dings in Information Visualization:Using Vision to Think .Mor gan Kaufmann,1999.

[12]张瑜.多源安全数据可视化关键技术研究与实现[D].重庆大学,2015.

[13]GitHub page[EB/OL].http://threatstream.github.io/mh n/.

猜你喜欢
蜜罐攻击行为视图
住院精神病人暴力攻击行为原因分析及护理干预
基于人工蜂群算法的无线网络攻击行为的辨识研究
中小学生人际宽恕与攻击行为倾向的发展研究
——以六年级至初三为例
蜜罐蚁
被自己撑死的蜜罐蚁
基于博弈的蜜罐和入侵检测系统最优配置策略
5.3 视图与投影
视图
哈密瓜:乡间蜜罐
Y—20重型运输机多视图