一種大數據驅動的網絡安全態勢監測及可視化方法
【技術領域】
[0001]本發明屬于網絡技術、信息安全技術領域,具體涉及一種大數據驅動的網絡安全態勢監測及可視化方法。
【背景技術】
[0002]當代信息技術的發展推動了數據的產生、收集、傳輸、共享與分析,使得科學與工程研究日益成為數據密集型的工作。伴隨著網絡流量的日益增加,攻擊的類型和復雜度也逐漸提升,部署在網絡上的各種安全系統、設備和平臺所提供的安全數據具有廣泛分布、跨組織、格式差異大、海量、非數值型等特點,數據維度從單一維度提升至多維,無論從存儲還是計算方面,都不能利用傳統的存儲整合技術完成網絡安全態勢的實時精確判斷。
[0003]另一方面,高維海量的數據增加了安全人員的工作難度:(I)認知負擔過重,通過傳統的日志分析方式分析人員在一天有限的時間內很難對上億條報警做出詳盡的分析和判斷;(2)交互性不夠,當發現可疑事件時,現有的分析方式不能夠提供相關數據過濾、事件細節顯示等功能以幫助分析人員作出進一步有效的判斷;(3)缺乏對網絡全局的認識,分析人員往往看到的都是單一的數據記錄,很難識別出一些復雜的、協作式的和周期漫長的網絡異常事件。(4)基于傳統數據庫的日志分析難以發現一些新的攻擊模式,不能提前對攻擊的趨勢做出預測或提前防范。
【發明內容】
[0004]基于以上的問題,本發明提出了一種實時大數據驅動的網絡安全態勢監測及可視化方法,能夠有效地監測網絡安全態勢,并全方位展現網絡安全態勢的可視化結果。
[0005]本發明采用的技術方案如下:
[0006]—種大數據驅動的網絡安全態勢監測及可視化方法,包括如下步驟:
[0007]I)提取不同維度的網絡安全基礎數據,包括實時數據和歷史數據;
[0008]2)采用實時計算系統Storm與分布式計算系統Hadoop對網絡安全基礎數據進行存儲和處理,其中Hadoop用于處理歷史數據,Strom用于處理實時數據;
[0009]3)分布式計算系統Hadoop利用大數據處理方法從歷史數據中抽取出關鍵的安全特征項,并建立數據庫表結構,形成網絡安全特征知識庫;
[0010]4)實時計算系統Strom從實時數據中提取出相關的安全特征項,將其與所述網絡安全特征知識庫進行特征匹配,并根據匹配結果判定網絡安全態勢;
[0011 ] 5)對實時計算系統Strom判定的網絡安全態勢進行動態可視化展示。
[0012]進一步地,步驟I)所述不同維度的網絡安全基礎數據包括網站、主機、經瑋度、IP地址、漏洞、安全等;所述歷史數據包括每季度網站掃描評估報告和每季度主機掃描評估報生口 ο
[0013]進一步地,步驟2)對于實時數據的處理過程是:首先將實時數據將發送至海量日志聚合系統Flume,同時在HDFS系統上進行數據備份;Flume將收集到的實時數據發送至分布式消息系統Kafka以做進一步處理;經過Kafka處理后的數據流逐條送入實時計算系統Storm,在Strom中完成所有的實時業務邏輯;最后將處理結果以類似桟的形式壓入Redi s存儲系統,同時Web前端從Redis中提取結果并進行顯示。
[0014]進一步地,步驟2)對于歷史數據的處理過程是:將歷史數據送至預處理整合模塊進行簡單的格式處理后,送到分布式計算系統Hadoop進行大數據分析處理,然后將統計的簡單數據存至Mysql數據庫,將非結構化的數據存儲至Hbase數據庫,Web前端無需再進行邏輯處理,直接讀取數據庫中的數據進行展示。
[0015]進一步地,步驟3)所述大數據處理方法包括下列中的一種或多種:聚類與融合、關聯分析、熵分析、態勢預測;所述安全特征項包括:1P源地址、IP目標地址、事件名稱、事件類另U、安全等級、漏洞代號。
[0016]進一步地,步驟5)所述可視化展示包括基于網絡實時流量的網絡安全可視化和基于歷史報告的網絡安全可視化,具體的可視化展示的內容包括全球動態攻擊圖、國內動態攻擊圖、國內安全態勢圖、全國安全漏洞分布圖、公告欄及其他功能等。
[0017]本發明的有益效果如下:
[0018]本發明為了實現強大的底層分析能力,采用了Hhadoop+Storm分布式架構;為了全面完整反映網絡安全態勢,提取了網站、主機、經瑋度、IP地址、漏洞、安全事件等不同維度的網絡安全基礎數據;為了得到實時有效的安全態勢評判結果,建立了自學習的安全異常特征庫;為了全方位展現網絡安全態勢結果,采用了動態可視化技術。
[0019]本發明借助強大的底層分布式存儲與并行計算能力,智能化處理各個網絡流量和來自各種安全設備的安全日志,得出當前最有效的網絡安全態勢評判標準,并在實時數據的驅動下進行實時評判篩選,將結果快速可視化,使安全分析人員能夠在第一時間監測當前全網的全局安全態勢、關注重點風險輿情。
【附圖說明】
[0020]圖1是本發明整體方案的技術架構圖。
[0021]圖2是Storm實現的實時數據網絡安全態勢分析的整體處理邏輯圖。
[0022]圖3是ReadBolt模塊的處理流程圖。
[0023]圖4是IPBolt模塊的處理流程圖。
[0024]圖5是RolICountBolt模塊的處理流程圖。
[0025]圖6是FieldRankBolt模塊的處理流程圖。
[0026]圖7是GlobalRankBolt模塊的處理流程圖。
[0027]圖8是海量數據可視化方案示意圖。
[0028]圖9是國內動態攻擊圖示意圖。
【具體實施方式】
[0029]下面通過具體實施例和附圖,對本發明做進一步說明。
[0030]本發明的實時大數據驅動的網絡安全態勢監測及可視化方法,其整體技術架構如圖1所示,其總體上采用hadoop+storm分布式架構,以實現強大的底層分析能力。本發明的基礎數據源主要包括:安全設備實時數據,每季度網站掃描評估報告(HTML),每季度主機掃描評估報告(HTML)。其中安全設備實時數據可以采用網絡中心的IDS( Intrus1nDetect1n Systems入侵檢測系統)數據等。
[0031]如圖1所示,從硬件層面的數據收發服務器收集上述三種數據,其中,實時數據(如SYSLOG,即系統日志)將發送至Flume,同時,在HDFS上進行數據備份。Flume根據定制方案收集到數據后,將其發送至Kafka,進行進一步處理。Flume是一種海量日志聚合系統,支持在系統中定制各類數據發送方,用于收集數據,同時,提供對數據進行簡單處理,并寫到各種數據接收方(可定制)的能力。Kafka是一種分布式消息系統,可以處理消費者規模的網站中的所有動作流數據,根據吞吐量的要求而通過處理日志和日志聚合來解決。經過Kafka處理后的數據流將逐條送入實時計算系統Storm,在Strom中,完成所有的實時業務邏輯,比如IP地址-機構信息匹配、地理定位、安全事件類型分類統計、高危研究所信息提取等。最后,將這些處理結果以類似棧的形式壓入Redis存儲系統,同時,Web前端從Redis中提取結果顯不O
[0032]而每季度網站掃描評估報告(HTML)和每季度主機掃描評估報告(HTML),即圖1中的Net.log和Server, log,將送至預處理整合模塊進行簡單的格式處理后,送到分布式計算系統Hadoop進行大數據分析處理,處理的過程包括聚類、關聯、統計等,為了提高分析結果的存儲效率,將統計的簡單數據存至Mysql數據庫,而將非結構化的數據(即圖1中的非關系型數據)將存至Hbase數據庫,Web前端無需再進行邏輯處理,直接讀取數據庫中的數據展示即可。
[0033]下面說明本發明技術方案的詳細設計。
[0034]1.多維網絡安全態勢數據的提取、整合與存儲方案
[0035]目前中國科學院已在各所部署大量探針用于提取互連網絡設備的安全日志和網絡流量,將其格式化統一存儲于傳統數據庫或存儲設備。這種強制格式化將丟失一些關鍵信息,并且,為了迎合傳統的關系型存儲模式,必然給數據查詢與分析機制帶來很大程度的局限性。
[0036]因此,本發明通過分析各類數據的特點,以保留最完整原始數據為目標,建立多維模型完成維和度量的映射,得到能夠反映網絡安全態勢的全方位數據。而這些數據的存儲,則使用HDFS+Mysql+Hbase的多層次存儲。
[0037]實時數據與流量接入后,經過簡單處理并完成歸類,分發到各個接收方消息隊列中,等待下一步的存儲處理。每個消息隊列以topic(會話)為標志進行管理,發布到每個topi C的消息會被均勾的分布到多個parti t 1n (區域),在接收到訂閱消息時,將數據流發布到實時計算系統Storm中,為了系統的可靠性,同時進行HDFS存儲。
[0038]靜態數據/歷史數據接入后,進行關鍵詞提取與預處理,根據內容/數據格式分類存儲,形成一