◆丁曉旭 方 勇 黃 誠
基于地理位置的網(wǎng)絡安全可視化研究與應用
◆丁曉旭 方 勇 黃 誠
(四川大學電子信息學院 四川 610000)
網(wǎng)絡安全技術與數(shù)據(jù)可視化的結合形成了網(wǎng)絡安全可視化這一新的熱點研究方向。本文主要研究了可視化結構中的地理位置結構在網(wǎng)絡網(wǎng)絡安全方面的實現(xiàn)與表現(xiàn),以及針對這種結構如何處理數(shù)據(jù)令其成為合適的視圖輸入。地理位置結構可以展示數(shù)據(jù)所對應的空間地理位置信息,如經緯度、國家和城市等??梢赃M行基于地理坐標的攻擊曲線、攻擊效果、動畫光圈的繪制,在本系統(tǒng)中可以用來實時鎖定攻擊源的地理位置,以及整體攻擊狀況的地理分布情況。
網(wǎng)絡安全;數(shù)據(jù)可視化;地理位置結構
隨著網(wǎng)絡應用,網(wǎng)絡通信技術的高速發(fā)展,互聯(lián)網(wǎng)逐漸為人們生活、工作不可缺少的一部分,其面對的安全威脅越來越大、越來越復雜。網(wǎng)絡安全問題成為人們關注的重要問題。為了應對層出不窮的網(wǎng)絡攻擊,技術人員開發(fā)出各種網(wǎng)絡安全工具、設備,這些設備的運行過程中會產生海量數(shù)據(jù),捕獲的攻擊行為數(shù)據(jù)、日常運行產生的日志信息等。
研究人員需要從海量數(shù)據(jù)中提取有效信息,從而達到及時預警甚至預判攻擊者行為的目的,傳統(tǒng)分析方法面臨認知負擔過重、交互性不強等一系列問題,就需要運用可視化技術[1],對信息進行分門別類,通過圖表的方式直觀、清晰的展示出來,幫助工作人員更好的掌握重點、提高人的分析效率。網(wǎng)絡安全和可視化技術順應需求相結合,形成了網(wǎng)絡安全可視化[2]這一新的研究方向。
特別是自2004年始,每年召開一次的網(wǎng)絡安全可視化國際會議(The International for computer security,Viz SEC)[3],推動著該研究領域的發(fā)展。Tudum在2002年進行了基于三維可視化系統(tǒng)來監(jiān)控和審計系統(tǒng)日志的研究[4]。Chris W 等人[5]在 2007年研發(fā)的可視化工具,通過郵件日志利用二維,三維散點圖,堆疊折線圖尋找垃圾郵件的發(fā)送源和中轉站。就國內而言,2014 年中南大學趙穎等人[6]提出的可視化系統(tǒng)針對已經過特征融合的多源日志,利用堆疊流圖和雷達圖展示出設備遭遇安全事件的整體情況,某一時間點發(fā)生了某一類安全事件的所有設備,并進行端口活動情況的監(jiān)控。
但是目前為止,對網(wǎng)絡安全數(shù)據(jù)可視化的研究,要么是對單一數(shù)據(jù)形式的深入挖掘、分析、可視化,要么雖然是基于多樣化的數(shù)據(jù)源,但使用的雷達圖,力引導圖等,雖然對數(shù)據(jù)進行了可視化展示,但是不直觀明了,當工作人員看到這些視圖時并不能第一時間把握網(wǎng)絡當前威脅情況,需要進行很多其他交互操作或具備相關知識儲備才能很好地獲取信息。針對以上問題,本文設計、實現(xiàn)了能對當前網(wǎng)絡安全情況一目了然、交互操作簡潔的基于地理位置的網(wǎng)絡安全可視化的web頁面應用。
1.1 可視化結構
已知可視化結構是指設計者采用某種組織方法對原始信息進行分類、排序和控制,并采用視覺圖形化的方式將信息呈現(xiàn)給用戶[7]。能夠真實的展示數(shù)據(jù),并使得數(shù)據(jù)被人正確理解,才是可用的數(shù)據(jù)化可視方法。目前,應用在網(wǎng)絡安全方面的數(shù)據(jù)可視化結構主要有以下幾類:列表式結構,坐標式結構,樹圖結構,地理位置結構,散列結構,形狀編碼結構,嵌套結構等。
列表式結構一般由基礎的行/列結構組成,將每條信息的詳細屬性直觀的展示出來,適用于各種場景;坐標式結構由坐標軸和數(shù)據(jù)內容在坐標軸上的映射兩部分組成,一條坐標軸可對應一個屬性維度,如果數(shù)據(jù)集較少,那么使用合適的坐標式類型可以使得在二維平面就能看到每個數(shù)據(jù)的屬性,針對大型數(shù)據(jù),也能夠反映屬性之間的走向情況以及不同字段之間的關系;樹狀結構是表示數(shù)據(jù)體之間關系的結構,可以表示如層級關系、相互影響程度關系等;地理位置結構可以展示數(shù)據(jù)的空間地理信息,如經緯度、所屬國家、城市等。對空間數(shù)據(jù)信息的展示,是地理位置結構最明顯的特征,它可以將地理圖形與數(shù)據(jù)屬性之間建立關系。在網(wǎng)絡安全中,通過地理位置結構,主要可以用來快速鎖定攻擊源地理位置,把握攻擊數(shù)據(jù)地理位置分布情況等。
1.2 可視化工具庫
隨著數(shù)據(jù)可視化的興起,誕生了許多可視化工具庫。主要分為兩類,一是原生的可視化工具,需要使用者上傳數(shù)據(jù),再選擇恰當?shù)膱D表;一種是基于JavaScript的WEB可視化插件庫,通過編程綁定數(shù)據(jù),在瀏覽器上實時顯示。本系統(tǒng)需要實時展示攻擊數(shù)據(jù),因此選擇第二種。
具有成熟的代碼庫以及參考示例的常用可視化插件庫有以下三種:D3.js[8]、Highcharts.js[9]、Echarts.js[10]。其中Echarts.js是基于Canvas的純Javascript圖表庫,底層依賴輕量級的Zrender庫,可以繪制生動、清晰、高交互性的的數(shù)據(jù)可視化圖表;提供豐富的自定義配置選項,能夠從全局、系列、數(shù)據(jù)三個層級去設置數(shù)據(jù)圖形的樣式。由于Echarts支持的圖表廣泛,且簡單易用,維護方便,故在本文實際應用中選擇了Echarts可視化工具。
1.3 信息可視化參考模型
為了利用可視化技術進行數(shù)據(jù)到視圖的映射,更準確的表達數(shù)據(jù)之間的關系,Card等人在1999年提出了信息可視化參考模型(Reference Model for Visualization)[11],如圖1所示。
圖1 信息可視化模型
從左到右,即原始數(shù)據(jù)到可視化表達的整個過程。首先是對數(shù)據(jù)源進行去冗余、去無效的清洗操作,將數(shù)據(jù)解析成可以作為視圖數(shù)據(jù)輸入的形式,統(tǒng)一存入數(shù)據(jù)庫中。然后選取適當?shù)谋磉_數(shù)據(jù)的可視化結構,將第一步中處理的數(shù)據(jù)再根據(jù)相應的可視化算法模型映射到視圖中。
2.1 可視化實現(xiàn)流程
結合信息可視化參考模型與本文研究的基于地理位置的威脅警報可視化的實現(xiàn)過程,具體的可視化實現(xiàn)流程圖如下所示。
圖2 可視化實現(xiàn)流程圖
2.2 關鍵技術
2.2.1 源數(shù)據(jù)的清洗與解析
本文研究數(shù)據(jù)基于蜜罐[10]技術的內網(wǎng)安全檢測預警系統(tǒng),通過部署蜜罐檢測終端,模擬80端口HTTP協(xié)議、22端口SSH協(xié)議、1433端口MSSQL數(shù)據(jù)庫、3306端口MYSQL數(shù)據(jù)庫等服務協(xié)議,誘導攻擊者攻擊蜜罐終端并對攻擊者的攻擊信息進行收集。
將蜜罐傳到服務器的原始數(shù)據(jù)進行清洗與解析,這里清洗是指去掉無效數(shù)據(jù)與冗余數(shù)據(jù),解析是根據(jù)攻擊者IP這一字段匯集相關信息定義一次攻擊為一條數(shù)據(jù)并以JSON格式用webSocket發(fā)送到前端。
表1 重要字段說明
2.2.2 可視化映射過程的算法研究
本文進行的可視化算法研究是以雷達圖的3W(what,where,when)模型[9]為基礎,將其變形、改進WWS(when,where,scale)模型,使其更適合本文的基于地理位置的實時威脅警報視圖的映射。詳細算法如下:
(1)提取一條數(shù)據(jù)的5有效字段分別對應三個維度信息,生成方程(1),選取一次記錄中的攻擊時間,攻擊源IP、目的IP、攻擊使用的協(xié)議、攻擊的端口和攻擊使用的工具,分別對應方程式中的when,where,scale;
(2)將上述公式中三種維度屬性轉換成幾何數(shù)值,才可以作為可視化的數(shù)據(jù)輸入。時間坐標表示將記錄中的攻擊時間對應到實時的動畫發(fā)生的時間,地理坐標表示將記錄中的IP地址轉換成經緯度,半徑表示將記錄中攻擊事件的威脅程度轉換成動畫光圈的半徑大?。?/p>
(3)定義兩個函數(shù),f和g來完成方程(1)到(2)的映射,然后完成基于地理位置的威脅警報視圖的繪制。不同的攻擊行為路線的繪制時間表示在此刻有受到攻擊,攻擊路線的起點即攻擊者的地理位置,動畫光圈半徑的大小即本次攻擊的威脅程度;
方程(3)中RA表示動畫光圈的半徑;P1即hostPort,受到攻擊的端口;P2即AttackerProto,攻擊者使用的協(xié)議;C攻擊的頻次;攻擊頻次C之前設置一個系數(shù),這個系數(shù)存在的意義是為了避免漏掉單次或低頻次但高危的攻擊行為,設置一個最低威脅閾值Xmin,若單詞攻擊的P1P2的值很大,那么盡管C值只有1或者少數(shù)次依然會得到一個較大的威脅值。這些變量的取值是動態(tài)的,根據(jù)網(wǎng)絡的不同需求取值。例如,若當前網(wǎng)絡上PC機或服務器主要用來存儲重要數(shù)據(jù),那么當P2是數(shù)據(jù)庫相關協(xié)議如:mssqld或mysqld時顯然威脅程度更高,需取值相應設置較高;若希望動畫光圈整體都大一些、明顯一些,那么φ的取值就要大一點,Xmin的設置則需要相應減小。
3.1 可視化映射過程的實現(xiàn)
本文研究、實現(xiàn)的是基于地理位置的威脅情報可視化,關鍵點在于實時、明確的展示攻擊行為。這就需要時間的同步,在攻擊者進行攻擊、蜜罐捕獲到行為數(shù)據(jù)的第一時間,就將數(shù)據(jù)傳到前端進行可視化的展示。本文選擇使用webSocket協(xié)議建立長連接,進行實時的數(shù)據(jù)傳輸。當蜜罐捕獲到攻擊行為,會記錄攻擊時間、源IP地址、攻擊的端口、使用的協(xié)議、使用的工具等;然后按照上文中的字段格式處理數(shù)據(jù);再利用webSocket建立的長連接,將數(shù)據(jù)及時的發(fā)送到前端。
本文的可視化實現(xiàn)主要是使用Canvas、HTML、CSS和Echarts可視化庫,直接創(chuàng)建和操作基于蜜罐數(shù)據(jù)的交互式網(wǎng)頁,將可視化效果展示在瀏覽器網(wǎng)頁上,供安全技術人員進行進一步的分析利用。
可視化的實現(xiàn)主要是調用了Echarts庫中能夠將數(shù)據(jù)轉換成地圖的函數(shù)BMapExt.getMap();并用timestamp字段對應本地時間作為攻擊直線繪制的時間;根據(jù)f函數(shù)將源IP字段變換成經緯度坐標,調用markLine對象根據(jù)坐標繪制攻擊直線;根據(jù)g函數(shù)將hostPort、AttackerProto和AttackerTool字段變換成半徑值,調用markPoint對象繪制攻擊目的地顯示的動畫光圈的大小.偽代碼如下:
3.2 可視化效果展示
整體視圖如圖3所示,不同的攻擊事件由不同的直線表示,直線的起點坐標表示攻擊源所在地,終止坐標表示受到攻擊設備所在地。
圖3 攻擊行為的地圖展示
時間則對應直線出現(xiàn)的時間,并按照需求設定持續(xù)一段時間,為了防止安全人員錯過這條信息,在視圖下面一部分有列表式結構的數(shù)據(jù),滾動顯示當日的每條攻擊數(shù)據(jù)。而動畫光圈則代表了受到攻擊的威脅程度,光圈越大越值得引起注意。
通過此圖可以實時掌握設備的安全態(tài)勢。受到攻擊的密度,威脅程度,攻擊源的位置等信息。通過觀察還可以得出一天中哪一段時間受到攻擊的頻率最高,哪個地方發(fā)出的攻擊行為最多,以便安全人員據(jù)此及時采取應對措施。
網(wǎng)絡安全可視化技術能夠利用人類的視覺對結構和模型的獲取能力,將抽象的系統(tǒng)和網(wǎng)絡數(shù)據(jù)信息以簡單直觀的圖形圖像方式展現(xiàn)出來,幫助安全分析人員分析網(wǎng)絡狀況。為了驗證可視化設計的有效性,本文對蜜罐數(shù)據(jù)進行了可視化設計與展示,實現(xiàn)了研究人員從海量數(shù)據(jù)中提取有效信息、直觀明了的知道網(wǎng)絡“現(xiàn)在”正在發(fā)生什么、快速把握某個時間段受威脅的情況、掌握攻擊者的相關信息并進行針對性的防御,做到有威脅及時發(fā)現(xiàn),達到主動防御的目的。
目前為止,網(wǎng)絡安全可視化的研究越來越豐富,但依舊存在很多問題,實時展示性永遠都是網(wǎng)絡安全可視化中的重要需求,本文雖然實現(xiàn)了攻擊行為的實時展示,但是展示的數(shù)據(jù)源不夠豐富,今后的研究重點將主要放在對更高維、更多元的海量數(shù)據(jù)進行實時可視化展示上。
[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]趙穎,樊曉,平周芳等.大規(guī)模網(wǎng)絡安全數(shù)據(jù)協(xié)同可視分析方法研究[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]張瑜.多源安全數(shù)據(jù)可視化關鍵技術研究與實現(xiàn)[D].重慶大學,2015.
[13]GitHub page[EB/OL].http://threatstream.github.io/mh n/.