基於大數據技術的安管平台架構與設計

在傳統的安全管理中,由於設備多廠家、採集日誌單一、留存時間短等原由,安全監管人員往往無法得知各聯網信息系統的安全水平。採用基於大數據的安全管理平臺將有效解決該類問題,便於安全管理員及時掌握安全運行情況、安全事件及風險預警,從而使安全決策者能及時調整安全防護策略,制定針對性的安全預案,恰當地進行安全優化,及時地部署安全措施,消除網絡和系統中的問題和安全隱患。

基於大數據技術的安管平臺架構與設計

大數據總體架構設計是基於信息安全驅動下的大數據分析和挖掘,涉及數據採集、集成、存儲、處理、分析、評估、預測等大數據全生命週期管理過程。而大數據相關技術應用需解決兩大基本問題,第一是數據的存儲問題,如何存儲龐大的數據量的問題;第二是數據的計算問題,如何處理分析海量的數據。因此,從生命週期和技術應用角度出發,把大數據安全分析平臺整體架構分為五大層級,分別為數據源層、數據採集層、數據存儲層、數據計算引擎、數據分析層和應用層。

基於大數據技術的安管平臺架構與設計

數據源層:數據源層為整個系統提供數據,需要儘可能多地蒐集與安全相關的數據。從數據類型角度來看可分為結構化數據、半結構化數據和非結構化數據,從採集源角度來看又可分為設備類、流量類和情報類。其中設備類涉及網絡安全產品、主機、中間件和系統的日誌的採集,流量類主要涉及對網絡流量報文的採集,情報類主要涉及外部數據,主要包括各種攻防動態、攻擊樣本、黑客組織等情報數據,通過關聯分析和數據挖掘等技術手段,將原本碎片化的日誌和數據整合,找出安全事件的聯繫,從而達到為大數據平臺提供底層數據支撐的目的。

數據採集層:面對數據源種類繁多、格式不一的數據,需採用一套完整的數據收集框架及歸一化過程對其進行清洗,去除冗餘,從而統一格式,實現轉化。針對來自不同數據源的安全數據可採用2種數據採集技術進行收集。一是通過Sqoop或Kettle等批量採集工具負責安全事件信息或網絡中的行為信息從關係型數據庫到Hive的雙向數據傳輸,用以發現攻擊行為,並進行後續挖掘分析,發覺攻擊行為起源、變化與評估對目標系統產生的威脅。二是通過Flume(分佈式日誌收集系統)+Kafka(分佈式發佈訂閱消息系統)的分佈式採集方式負責原始安全時間信息到HDFS的數據傳輸,實現每秒數百兆的日誌數據採集與傳輸,發現潛伏的異常流量和潛在威脅。

基於大數據技術的安管平臺架構與設計

數據存儲層:為了實現不同分析需求的數據存儲,提高分析與查詢效率,採用不同存儲技術混搭的存儲方式。高價值結構化的數據採用MPP數據庫進行存儲,低價值結構化、半結構化、非結構化的數據採用HDFS+HBase/Hive的方式存儲,取長補短從而發揮更大效能。MPP(Massive Parallel Processor)數據庫採用的是分佈式結構化存儲技術,每個節點都有獨立的磁盤存儲系統和內存系統,業務數據根據數據庫模型和應用特點劃分到各個節點上,每臺數據節點通過專用網絡或者商業通用網絡互相連接,彼此協同計算,作為整體提供數據庫服務。相對於傳統數據庫技術,MPP在分析PB級別的結構化數據方面高效、穩定。HDFS、HBase和Hive作為Hadoop框架的子項目,用以支撐非結構化數據的存儲。HDFS分佈式文件系統實現日誌文件的分佈式存儲。HBase是一個分佈式列存儲數據庫系統,底層物理存儲利用了HDFS分佈式文件系統,其設計目標是為了滿足有海量行數、大量列數及數據結構不固定這類特殊數據的存儲需求,並可以運行於大量低成本構建的硬件平臺上,針對的應用環境是對事務一致性沒有特別嚴格要求的領域。當查詢檢索流量、日誌等信息時,可採用HBase列式存儲方式,發揮HBase基於主鍵查詢效率高的特點,添加索引表,把基於索引字段的查詢轉換為基於HBase主鍵的查詢,實現毫秒級的數據查詢響應。Hive 是基於Hadoop的數據倉庫工具,可提供快速統計分析技術,並進行挖掘分析,從而支撐安全態勢分析能力。

數據計算引擎:為了對安全分析平臺提供全套計算引擎支撐服務,計算引擎採用MapReduce和Storm相結合的方式。離線日誌分析由MapReduce分佈式並行計算框架提供計算能力,並具備抽象調度單元、集群資源管配、負載均衡機制、作業執行時間預測、優先級調度策略、各角色各時段的失敗重試機制功能。MapReduce實現將打碎的碎片任務發送(Map)到多個節點上,之後再以單個數據集的形式加載(Reduce)到數據倉庫裡。實時流式日誌分析由Storm集群實現。實時日誌流通過Kafka消息隊列的緩存後被髮送到Storm集群進行實時計算分析,並將結果存儲到數據倉庫Hive中。

數據分析層:數據分析層實際上是各類數據挖掘、機器學習的算法支撐,實現包括關聯規則(Apriori等)、分類(Deci⁃sion Tree等)、聚類(k-means等)等數據挖掘算法,實現數據的深度挖掘與分析,發現安全規律與趨勢。關聯規則用於發現各安全事件之間的關係網。分類是把一些新的數據項(如新的安全事件)映射到給定類別中的某一個類別。聚類是將相似的事物(如已知的安全事件)聚集在一起,而將不相似的事物劃分到不同的類別的過程。根據不同的分析挖掘目的,結合運用不同的數據分析挖掘算法,為上層不同類型的應用提供強大的分析能力。

應用層:從實時性的角度出發,將安全大數據分析平臺劃分為2類,分別是在線分析和離線分析。其中,在線分析模塊為平臺提供安全事件實時監控告警服務、在線統計服務(統計實時數據等)等;離線分析根據算法庫,進行統一調度和分佈式計算,為平臺提供行為分析、趨勢預測、安全指數、安全風險態勢感知等能力。

安全事件實時監控能力,每次安全事件發生會伴隨著大量日誌產生,實時監控系統可快速對安全事件做出告警動作並進行分級、分類統計,輔助安全管理人員初步瞭解當前安全狀態,如識別出是DDoS攻擊告警、網絡攻擊告警、病毒流量告警、異常流量告警、非法登錄告警、網站防護告警、非法下載告警、違規操作告警等。其原理是通過Flume+Kafka實時數據採集工具,將實時採集的各方面的安全數據匯聚到Storm實時計算引擎,利用Storm強大的流計算能力,實現流式數據實時或準實時處理,為平臺提供在線分析處理能力,並通過生成的多維度詳細報告。不僅如此,在線分析結果和安全事件處理結果還會被收集存儲到離線分析模塊的HDFS,結合多維度採集數據,利用MapReduce批量處理引擎和算法分析層的計算能力,實現各方數據綜合離線分析,從而更精準地定位問題。

安全風險態勢感知能力,網絡安全態勢感知是從宏觀角度對網絡系統安全狀態的認知過程,通過在一定時間及空間範圍內感知所發生的網絡安全事件,針對安全數據進行綜合處理,分析系統受到的攻擊行為,提供網絡安全的“全局視圖”。其流程是經過收集、清洗、轉換安全系統中各個方面的數據,採用一定的算法和技術手段識別系統中的各類網絡活動,並得出各類網絡活動的活動特徵,這一過程可稱之為理解。從理解到狀態評估再到理解的閉環應該是動態的,只有具備這種動態自學習能力才能保證感知的準確性。網絡態勢的全面感知離不開對安全事件快速、高效、準確的發現和處理。具備態勢感知分析能力的離線分析流程,離線分析模塊收集全部歷史數據和各類事件數據(包括在線分析處理轉交的疑難事件數據和安全事件數據),並結合事件數據庫中的事件信息,利用挖掘引擎對數據倉庫中的數據進行深度分析,將深度分析後的事件結果流轉至安全事件處理模塊中進一步處理,並把事件保留至事件倉庫中。同時,離線分析模塊依據新的安全事件更新在線分析處理的規則庫。通過對大量的各種安全事件融合分析和挖掘,可識別出網絡系統中的各種類型的安全攻擊行為,結合其發生時間、空間分佈和對網絡系統的危害程度等情報信息,從而達到準確地形成網絡整體安全態勢的目的。


分享到:


相關文章: