個完整智能的能夠反映網(wǎng)絡(luò)安全態(tài)勢的基礎(chǔ)源數(shù)據(jù)庫。
[0039]2.實時數(shù)據(jù)驅(qū)動的網(wǎng)絡(luò)安全態(tài)勢決策方案
[0040]來自底層的實時數(shù)據(jù)往往具備多種類型,例如網(wǎng)絡(luò)流量、設(shè)備日志、安全報告等,對這些數(shù)據(jù)的分析處理往往存在秒級甚至分鐘級的延時,以至于安全態(tài)勢分析結(jié)果不能實時展示,從而降低了安全監(jiān)控的有效性。因此,針對實時展示需求,提出了歷史與實時聯(lián)動分析的解決方案,提出利用聯(lián)動的數(shù)據(jù)分析代替靜態(tài)的數(shù)據(jù)處理,利用歷史數(shù)據(jù)的經(jīng)驗協(xié)助現(xiàn)在的實時數(shù)據(jù)的安全決策。
[0041]基于以上的方案,采用實時計算系統(tǒng)Storm與分布式計算系統(tǒng)Hadoop相結(jié)合的技術(shù)路線。其中,分布式計算系統(tǒng)Hadoop主要用于對歷史數(shù)據(jù)(即前文提到的每季度網(wǎng)站掃描評估報告和每季度主機掃描評估報告)的分析,實時計算系統(tǒng)Strom則用于對于實時數(shù)據(jù)的處理與推送。
[0042]分布式計算系統(tǒng)Hadoop整合從底層收集的多維數(shù)據(jù),根據(jù)定期輸入的歷史數(shù)據(jù)(即前文提到的每季度網(wǎng)站掃描評估報告和每季度主機掃描評估報告),進行數(shù)據(jù)預(yù)處理,并利用聚類與融合、關(guān)聯(lián)分析、熵分析、態(tài)勢預(yù)測等大數(shù)據(jù)處理方法,從大量的、動態(tài)的、模糊的信息安全數(shù)據(jù)中尋找數(shù)據(jù)關(guān)聯(lián)性,學(xué)習網(wǎng)絡(luò)異常特征,形成網(wǎng)絡(luò)安全特征知識庫。比如可以從數(shù)據(jù)中抽取出關(guān)鍵的安全特征項,包括IP源地址、IP目標地址、事件名稱、事件類別、安全等級、漏洞代號等;之后,建立數(shù)據(jù)庫表結(jié)構(gòu),將這些安全特征項存儲在多個表項中,形成初始的安全特征庫;該初始的安全特征庫會定期更新。隨著源源不斷的數(shù)據(jù)接入,Hadoop不斷更新迭代分析結(jié)果,并發(fā)現(xiàn)新威脅或進行預(yù)測。
[0043]實時計算系統(tǒng)Strom接收實時數(shù)據(jù),根據(jù)前端業(yè)務(wù)需求提取關(guān)鍵信息項,并進行必要的歸并與丟棄。同時,與網(wǎng)絡(luò)安全特征知識庫進行模糊或精確匹配,如果匹配成功,則將網(wǎng)絡(luò)安全態(tài)勢評判結(jié)果以WebSocket的形式推送給前端進行展示。
[0044]具體地,當實時計算系統(tǒng)Strom處理完一條實時數(shù)據(jù)后,提取出相關(guān)的安全特征項,與上述初始安全特征庫進行特征匹配,匹配的過程如下:
[0045]I)根據(jù)IP目標地址,若IP目標地址與網(wǎng)絡(luò)安全特征知識庫中的危急主機IP匹配,則定義該主機安全態(tài)勢為危機,向上層(前端可視化層)遞交結(jié)果,并將該主機出現(xiàn)的危急次數(shù)加I;
[0046]2)根據(jù)該條數(shù)據(jù)的安全等級,若為低,則直接過濾;若為中,則根據(jù)安全事件規(guī)則編號匹配該條安全事件屬于何種類別;若為分布式拒絕服務(wù)攻擊(DDOS),則定義該主機安全狀態(tài)為危機,向上層遞交結(jié)果;若為探測掃描攻擊,則探測掃描計數(shù)器加I,直到達到閾值才將相應(yīng)的安全事件類型視為高危,向上層遞交結(jié)果;
[0047]3)網(wǎng)絡(luò)安全特征知識庫維護一張安全事件-漏洞對應(yīng)表,一般情況下,存在相關(guān)漏洞的主機遇到對應(yīng)安全事件的攻擊,大概率會產(chǎn)生嚴重的后果,因此,當接收到一條安全事件時,在安全事件-漏洞對應(yīng)表中查找該安全事件的目的主機是否存在相關(guān)漏洞,若存在,則將該主機定義為危機狀態(tài),同時在危急主機IP表中做特別標注。
[0048]3.海量數(shù)據(jù)可視化方案
[0049]該方案主要解決如何將海量高維數(shù)據(jù)以圖形圖像的方式表現(xiàn)出來,通過在人與數(shù)據(jù)之間實現(xiàn)圖像通信,使人們能夠觀察到網(wǎng)絡(luò)安全數(shù)據(jù)中隱含的模式,能夠快速發(fā)現(xiàn)規(guī)律并發(fā)現(xiàn)潛在的威脅。本發(fā)明實現(xiàn)的海量數(shù)據(jù)可視化方案主要分為以下內(nèi)容:
[0050]I)基于網(wǎng)絡(luò)實時流量的網(wǎng)絡(luò)安全可視化
[0051]由于端口掃描、蠕蟲攻擊、拒絕服務(wù)攻擊等安全事件在流量方面具有明顯的一對一、一對多或多對一的特征,因此,此類攻擊事件往往在流量方面出現(xiàn)明顯的異常,顯示網(wǎng)絡(luò)流量可以幫助網(wǎng)絡(luò)安全分析人員快速發(fā)現(xiàn)網(wǎng)絡(luò)攻擊,更好地防范和抵御網(wǎng)絡(luò)入侵事件。因此,采用點對點攻擊線條的可視化顯示方式,顯示包括原IP地址、目的IP地址、源端口、目的端口、協(xié)議、時間、攻擊類型等信息。同時,在使用該技術(shù)的同時輔助其他方法,如采用顏色映射表示不同類型攻擊事件等。
[0052]2)基于歷史報告的網(wǎng)絡(luò)安全可視化
[0053]除了實時流量,海量的歷史報告也需要根據(jù)不同安全需求進行不同維度的可視化展示。包括:全國范圍內(nèi),主機的安全態(tài)勢分布/網(wǎng)站安全態(tài)勢分布;不同安全域下,主機的安全態(tài)勢分布/網(wǎng)站安全態(tài)勢分布;IP地址與安全風險值分布關(guān)系;網(wǎng)站與安全風險值分布關(guān)系等。
[0054]具體的,本發(fā)明的安全數(shù)據(jù)可視化平臺可以實現(xiàn)全球動態(tài)攻擊圖、國內(nèi)動態(tài)攻擊圖、國內(nèi)安全態(tài)勢圖、全國安全漏洞分布圖、公告欄及其他功能等多種可視化內(nèi)容,如圖8所不O
[0055]a)功能頁面一:國內(nèi)動態(tài)攻擊圖
[0056]全國范圍內(nèi)的實時攻擊,展示國內(nèi)各機構(gòu)、中科院、中科院各研究所之間的相互攻擊,在中國地圖上顯示攻擊源1、攻擊路徑2和攻擊目標3,如圖9所示。同時在頁面四個角落(未在圖中示出)分別顯示攻擊源(ToplO,按發(fā)動攻擊次數(shù)計算)排行榜、攻擊目標(ToplO,按發(fā)動攻擊次數(shù)計算)排行榜、實時攻擊信息(包含時間、攻擊源、攻擊源IP、攻擊目標、目標IP、攻擊類型、攻擊端口等)、攻擊類型排行榜(ToplO,按攻擊類型計算)。
[0057]b)功能頁面二:全球動態(tài)攻擊圖
[0058]全球范圍的實時攻擊,展示全球各個國家對中科院13分院及其合作單位的攻擊,在世界地圖上顯示攻擊源、攻擊路徑和攻擊目標,頁面布局同上。
[0059]c)功能頁面三:國內(nèi)安全態(tài)勢圖
[0060]頁面布局分為左中右三個部分,兩側(cè)各三個圖標,中間為中國地圖。左側(cè)上方為中科院風險值最高的八個研究所,中間為網(wǎng)站漏洞情況,下方循環(huán)顯示風險值最高的四個網(wǎng)站;右側(cè)上方循環(huán)顯示各分院的安全態(tài)勢,中間為主機漏洞情況,下方循環(huán)顯示風險值最高的四個主機;中國地圖上按照風險值的不同顯示不同顏色的12分院標記。
[0061 ] d)功能頁面四:全國安全漏洞分布圖
[0062]頁面分為左右兩部分,左側(cè)上方為掃描到的安全漏洞情況,數(shù)字隨機增加到相應(yīng)的漏洞數(shù)量,中間循環(huán)展示全國漏洞數(shù)量排名(TopS)、Sql注入漏洞排名(TopS)、跨站腳本注入漏洞排名(TopS)等圖表,下方循環(huán)顯示中科院一百多個研究所的安全漏洞情況;右側(cè)中國地圖上循環(huán)顯示全國安全漏洞、Sql注入漏洞、跨站腳本注入漏洞等。
[0063]e)功能頁面五:公告欄及其他功能
[0064]頁面分為上方、左下、右下三部分,上方為五個功能圖標,點擊切換到相應(yīng)的功能頁面,左下方循環(huán)展示公告,右下方顯示安全公告和安全漏洞,可使用標簽欄切換,頁面最下方顯示版權(quán)信息。
[0065]4.實時數(shù)據(jù)網(wǎng)絡(luò)安全態(tài)勢分析設(shè)計實現(xiàn)(Storm部分)
[0066]本發(fā)明中分布式計算系統(tǒng)Hadoop可以采用現(xiàn)有技術(shù)實現(xiàn),故不再具體說明。該第4部分主要說明實時計算系統(tǒng)Storm的具體實現(xiàn)。
[0067]在Storm中,先要設(shè)計一個用于實時計算的圖狀結(jié)構(gòu),稱之為拓撲(Topology)。這個拓撲將會被提交給集群,由集群中的主控節(jié)點(Master node)分發(fā)代碼,將任務(wù)分配給工作節(jié)點(Worker node)執(zhí)行。一個拓撲中包括Spout(數(shù)據(jù)容器)和Bolt(處理單元)兩種角色,通過Stream groupings(流分組策略)將拓撲中的Spouts和Bolts連接起來,其中Spout發(fā)送消息,負責將數(shù)據(jù)流以Tuple元組的形式發(fā)送出去;而Bolt則負責轉(zhuǎn)換這些數(shù)據(jù)流,在Bo11中可以完成計算、過濾等操作,Bol t自身也可以隨機將數(shù)據(jù)發(fā)送給其他Bolt ο由Spout發(fā)射出的Tup I e是不可變數(shù)組,對應(yīng)著固定的鍵值對。
[0068]本發(fā)明開發(fā)設(shè)計了 IPTopology (IP解析拓撲),其是由KafkaSpout、ReadBolt、IPBolt、Rol ICountBolt、FieldRankBolt 以及GlobalRankBo It這些模塊通過ShuffleGrouping(隨機分組)、Fields Grouping(按字段分組)以及Global Grouping(全局分組)連接起來形成的拓撲圖。IPTopology主要完成KafkaSpout的配置,向拓撲圖中添加Spouts和Bolts,完成運行模式的配置等任務(wù)。本發(fā)明使用Storm自帶的KafkaSpout作為數(shù)據(jù)源。Kafka是一種分布式的消息處理機制。
[0069]4.1整體處理邏輯
[0070]通過Storm實現(xiàn)的實時數(shù)據(jù)網(wǎng)絡(luò)安全態(tài)勢分析的整體處理邏輯如圖2所示,包括如下步驟,其中 KafkaSpout、ReadBolt、IPBolt、RollCountBolt、Fi eldRankBol t 以及GlobalRankBolt這些模塊的具體實現(xiàn)將在后文說明:
[0071 ] 1.KafkaSpout不斷從外部數(shù)據(jù)源讀取攻擊記錄,并將攻擊記錄發(fā)射給ReadBolt。
[0072]2.ReadBoIt分析出攻擊記錄中的攻擊源和攻擊