劉海霞 許鑫磊 冉宇瑤 趙小娟
摘? 要:針對目前層出不窮的各類網(wǎng)絡攻擊事件,基于最新的大數(shù)據(jù)技術組件,構(gòu)建集數(shù)據(jù)收集、數(shù)據(jù)處理、數(shù)據(jù)存儲、數(shù)據(jù)分析、數(shù)據(jù)呈現(xiàn)于一體的安全態(tài)勢感知系統(tǒng)框架。通過Flume和Kafka獲取日志或網(wǎng)絡攻擊信息,使用MapReduce和Storm技術進行批量或?qū)崟r分析,以達到對網(wǎng)絡安全的感知;采用層次分析法確定指標權重,提取網(wǎng)絡態(tài)勢特征,通過分析構(gòu)建判定矩陣完成對網(wǎng)絡安全態(tài)勢的評估,并利用神經(jīng)網(wǎng)絡、關聯(lián)分析、時間序列畫出三種預測技術;通過ECharts進行可視化圖表部署,采用R語言、ECharts技術對威脅類型、攻擊數(shù)據(jù)進行展示和分析,將攻擊源進行可視化,從而完成安全態(tài)勢的預測。系統(tǒng)具有高可用、可擴展、易部署等特點,能較好地支撐各類網(wǎng)絡安全威脅的感知與預測。
關鍵詞:網(wǎng)絡安全;態(tài)勢感知;大數(shù)據(jù);分布式
中圖分類號:TP309? ? ?文獻標識碼:A
Research on Security Situation Awareness System based on Big Data
LIU Haixia1, XU Xinlei2, RAN Yuyao1, ZHAO Xiaojuan3
(1.Keyi College, Zhejiang Sci-Tech University, Shaoxing 312369, China;
2.Hangzhou Anheng Information Technology Co., Ltd., Hangzhou 310018, China;
3.Luoyang Radio & Television University, Luoyang 471000, China)
304361324@qq.com; 25195913@qq.com; ranyuyao@126.com; 58724833@qq.com
Abstract: In view of various attack events that are emerging one after another, this paper proposes to build a security situational awareness system framework that integrates data collection, data processing, data storage, data analysis, and data presentation based on the latest big data technology components. Logs or network attack information are obtained through Flume and Kafka, and MapReduce and Storm technology are used to perform batch or real-time analysis, so to achieve network security perception. AHP (Analytic Hierarchy Process) is used to determine the index weights, extract the characteristics of the network situation, and complete the assessment of the network security situation by analyzing and constructing a judgment matrix. Neural network, correlation analysis, and time series are used to draw three forecasting techniques. Visualized chart is deployed through ECharts and R language is used. ECharts is used to display and analyze threat types and attack data, and visualize attack sources, thereby completing security situation prediction. The system has the characteristics of high availability, scalability, and easy deployment, and can better support the perception and prediction of various network security threats.
Keywords: network security; situational awareness; big data; distribution
1? ?引言(Introduction)
隨著網(wǎng)絡更深入地走進人們的生活,各種對網(wǎng)絡安全的入侵和攻擊也越來越嚴重,給網(wǎng)絡的入侵行為檢測和預防帶來很多新問題。當前,很多學者開始關注網(wǎng)絡安全和網(wǎng)絡預防,并對其展開研究。如LEE等[1]基于Hadoop開源軟件開展了DDoS攻擊檢測技術實驗,對存儲記錄的流量數(shù)據(jù)進行分析,獲取較高的吞吐量;劉冬蘭等[2]對電力信息系統(tǒng)網(wǎng)絡安全態(tài)勢感知及主動防御問題進行了研究,實現(xiàn)了攻擊事件及安全態(tài)勢的實時監(jiān)控預警;王以伍等[3]利用大數(shù)據(jù)相關技術對網(wǎng)絡運行相關海量數(shù)據(jù)進行分析、過濾、融合,識別已知和未知的安全威脅,并建立了安全體系;龔儉和FRANKE等[4-5]認為,整個態(tài)勢感知過程包括態(tài)勢要素獲取、態(tài)勢理解和態(tài)勢預測。丁華東等[6]基于貝葉斯方法提出了一種網(wǎng)絡安全態(tài)勢感知混合模型,并對既定網(wǎng)絡環(huán)境中收集到的態(tài)勢指標數(shù)據(jù)進行離散化預處理,利用不同的評價方法建立相應的態(tài)勢感知模型;琚安康等[7]基于開源工具集提出了一種大數(shù)據(jù)網(wǎng)絡安全態(tài)勢感知及預警架構(gòu)。
綜合來說,目前的研究利用大數(shù)據(jù)技術處理數(shù)據(jù)快的優(yōu)勢,克服了傳統(tǒng)方法的瓶頸問題,實現(xiàn)了較高的數(shù)據(jù)分析效率,但對基于大數(shù)據(jù)的系統(tǒng)分析較少。本文將應用現(xiàn)有大數(shù)據(jù)技術,結(jié)合攻擊檢測預警技術模塊,設計一種覆蓋從數(shù)據(jù)獲取到視圖呈現(xiàn)各個階段的網(wǎng)絡安全態(tài)勢感知系統(tǒng),并利用大數(shù)據(jù)開源代碼及Java編寫工具,實現(xiàn)該預警系統(tǒng)的各個功能模塊。
2? 網(wǎng)絡安全態(tài)勢感知系統(tǒng)研究架構(gòu)(Research architecture of network security situation awareness system)
結(jié)合大數(shù)據(jù)技術,對網(wǎng)絡安全的態(tài)勢需求進行分析,設計系統(tǒng)框架,從數(shù)據(jù)源獲取到攻擊可視化呈現(xiàn),覆蓋整個流程。系統(tǒng)架構(gòu)采用分層設計與模塊化相結(jié)合的方式進行,主要包括數(shù)據(jù)源、數(shù)據(jù)收集與預處理、數(shù)據(jù)分布式存儲、數(shù)據(jù)挖掘與分析、網(wǎng)絡安全態(tài)勢評估預測、網(wǎng)絡安全態(tài)勢可視化呈現(xiàn)等功能模塊,子模塊之間通過數(shù)據(jù)邏輯通路連接,相互合作實現(xiàn)對網(wǎng)絡安全態(tài)勢的數(shù)據(jù)分析、攻擊風險預警并呈現(xiàn),如圖1所示。
2.1? ?數(shù)據(jù)源
數(shù)據(jù)源包括網(wǎng)絡中的硬件設備如路由器、交換機、流量采集器等;網(wǎng)絡安全設備如防火墻、網(wǎng)絡安全防護軟件等,以及系統(tǒng)日志、應用日志、CPU利用率等。另外,還包括運行和維護數(shù)據(jù)(處理記錄、風險評估等)、外部攻擊數(shù)據(jù)(攻擊方式、特點、攻擊漏洞等)等。
2.2? ?數(shù)據(jù)收集與預處理
該模塊主要收集各種網(wǎng)絡設備產(chǎn)生的數(shù)據(jù),然后經(jīng)過初步整理分類,將其傳入大數(shù)據(jù)平臺。對需要實時分析的數(shù)據(jù),將其直接傳送給Storm。數(shù)據(jù)收集主要包括傳感器(采集和發(fā)送如路由器、交換機等網(wǎng)絡設備的數(shù)據(jù))、網(wǎng)絡爬蟲(按照一定規(guī)則自動抓取萬維網(wǎng)信息的程序或者腳本)、Flume日志(采用分布式收集各種設備、系統(tǒng)和應用中產(chǎn)生的日志數(shù)據(jù),它們往往隱藏了許多有用信息)、Kafka消息(在消息傳輸過程中保存消息的容器或中間件,主要目的是提供消息路由、數(shù)據(jù)分發(fā)并保障消息可靠傳遞),并對上報數(shù)據(jù)進行統(tǒng)一的范式化預處理,對采集的數(shù)據(jù)進行數(shù)據(jù)歸并、數(shù)據(jù)清洗等操作,然后根據(jù)不同業(yè)務把數(shù)據(jù)存儲到不同的存儲系統(tǒng)上。
2.3? ?數(shù)據(jù)分布式存儲
數(shù)據(jù)分布式存儲HDFS[8]是整體系統(tǒng)框架的存儲基礎,主要負責將采集的數(shù)據(jù)統(tǒng)一存儲,為后面的數(shù)據(jù)處理分析、檢索查詢提供支持。數(shù)據(jù)分布式存儲不僅支持由數(shù)據(jù)收集與預處理模塊采集的各種安全數(shù)據(jù)、網(wǎng)絡數(shù)據(jù)、攻擊數(shù)據(jù),也要為中間處理結(jié)果提供存儲保障。
2.4? ?數(shù)據(jù)挖掘與分析
數(shù)據(jù)挖掘是指從大量的數(shù)據(jù)中挖掘出有用的信息,即從大量的不完全、不確定的實際應用數(shù)據(jù)中發(fā)現(xiàn)隱含的、事先未知的,但又有潛在用處的信息和知識的非平凡過程。通過聚類分析法及統(tǒng)計學方法,將獲取的數(shù)據(jù)進行深度分析和處理,得到數(shù)據(jù)的深層價值,挖掘出隱藏度較高的攻擊方式。此模塊主要包括批量數(shù)據(jù)(離線)分析、實時數(shù)據(jù)流分析,其中批量數(shù)據(jù)分析采用MapReduce編程模式,實時數(shù)據(jù)流分析采用Storm架構(gòu)[9]。
網(wǎng)絡安全事件關聯(lián)分析能將不同來源的報警信息進行去偽存真,從而挖掘出真正的網(wǎng)絡攻擊事件。在此系統(tǒng)設計中選用Storm作為流數(shù)據(jù)處理工具,對接收到的實時數(shù)據(jù)進行關聯(lián)分析,分析完成后將分析結(jié)果和告警信息送入存儲子系統(tǒng),以供日后查詢分析,或提交態(tài)勢呈現(xiàn)子系統(tǒng)直接顯示到可視化界面中,展示實時網(wǎng)絡安全態(tài)勢。
2.5? ?網(wǎng)絡安全態(tài)勢評估預測
根據(jù)網(wǎng)絡運行狀況發(fā)展變化的實際數(shù)據(jù)和歷史資料,運用科學的理論、方法和各種經(jīng)驗、判斷、知識去推測、估計、分析其在未來一定時期內(nèi)可能的變化情況,是網(wǎng)絡安全態(tài)勢感知的一個重要組成部分。本系統(tǒng)采用層次分析法確定指標權重,提取出網(wǎng)絡態(tài)勢特征,通過分析構(gòu)建判定矩陣完成對網(wǎng)絡安全態(tài)勢的評估。然后根據(jù)評估數(shù)據(jù),采用神經(jīng)網(wǎng)絡、關聯(lián)分析、時間序列畫出三種預測技術,針對不同網(wǎng)絡所處的環(huán)境,選擇對應的網(wǎng)絡安全態(tài)勢預測技術,從而可以有預見性地進行安全策略的配置,實現(xiàn)動態(tài)的網(wǎng)絡安全管理,預防大規(guī)模威脅網(wǎng)絡安全事件的發(fā)生。
2.6? ?網(wǎng)絡安全態(tài)勢可視化呈現(xiàn)
對前面幾個模塊采集的數(shù)據(jù)進行分析、評估、預測之后,利用計算機圖形學和圖像處理技術,將實時數(shù)據(jù)以動態(tài)方式進行展示,將歷史數(shù)據(jù)以靜態(tài)或動態(tài)方式展示給用戶,讓用戶一目了然地觀看到實時的網(wǎng)絡安全態(tài)勢走向。異構(gòu)的數(shù)據(jù)源和持續(xù)增長的數(shù)據(jù)量給分析人員帶來了繁重的負擔,這里采用R語言、Kibana等可視化技術將安全分析的結(jié)果和實時安全狀態(tài)進行可視化呈現(xiàn),可幫助系統(tǒng)管理員實現(xiàn)對網(wǎng)絡整體安全態(tài)勢的掌握,以應對日趨復雜的網(wǎng)絡安全形勢。
3 網(wǎng)絡安全態(tài)勢感知系統(tǒng)研究模塊及技術(Research modules and technologies of network security situation awareness system)
3.1? ?系統(tǒng)技術分析
系統(tǒng)開發(fā)主要以Spring Boot、Mybatis、Hadoop、Flume、Kafka、Spark、Storm、Kibana等技術為開發(fā)框架,采用Linux centos版本作為服務器系統(tǒng),通過Nginx反向代理服務器來搭建服務器,并且可以利用Nginx的特性和爬蟲技術、lua腳本對請求數(shù)據(jù)進行抓取來做數(shù)據(jù)源,發(fā)送到Kafka消息隊列中進行排列,通過Spark對每一條請求數(shù)據(jù)包都進行安全分析后利用MySQL數(shù)據(jù)庫來存儲相關數(shù)據(jù),從而對系統(tǒng)的數(shù)據(jù)存儲進行支撐;利用Hadoop大數(shù)據(jù)框架作為文件存儲系統(tǒng),通過Flume框架對日志目錄進行實時監(jiān)控,并傳輸?shù)絊park中進行數(shù)據(jù)的處理分析和存儲;最后將數(shù)據(jù)通過Spring Boot和Mybatis來開發(fā)后端建立與數(shù)據(jù)庫的連接,將數(shù)據(jù)通過Kibana進行可視化呈現(xiàn)在前端界面,用戶使用本系統(tǒng)完全可以通過瀏覽器實現(xiàn)管理、監(jiān)測等操作。
3.2? ?系統(tǒng)功能模塊
系統(tǒng)主要分為兩大模塊:管理端和可視化顯示端。其中,管理端包括管理員、安全信息員兩個部分。管理員主要具有用戶管理、公告管理、郵件模塊管理、系統(tǒng)參數(shù)配置管理等權限;安全信息員具有日志目錄管理、漏洞庫管理、規(guī)則特征庫管理、腳本庫管理、攻擊信息管理及黑白名單信息管理等權限,另外還可以對各類事件進行分析,是整個系統(tǒng)的核心模塊。前端顯示模塊,主要是對攻擊信息進行及時顯示與處理。詳細信息如圖2所示。
事件分析模塊主要處于SparkStreaming數(shù)據(jù)流式處理階段,首先觸發(fā)流程為客戶端向服務器發(fā)送請求通過Nginx反向代理服務器,Nginx會調(diào)用Lua腳本對請求的數(shù)據(jù)包進行流量捕獲,然后直接將捕獲的完整請求數(shù)據(jù)包和響應數(shù)據(jù)包格式化后發(fā)送到Kafka消息隊列中等待消費者消費;隨后通過消費者消費將數(shù)據(jù)消費到Spark中,通過SparkStreaming對topic進行篩選獲取對應的請求數(shù)據(jù)包;接著在Spark中對數(shù)據(jù)包進行獲取后拆分,逐個進行特征匹配,當匹配到特征字段就會將這段的數(shù)據(jù)包進行記錄和標記,然后及時觸發(fā)郵件系統(tǒng),在惡意數(shù)據(jù)包存入數(shù)據(jù)庫中的同時向綁定用戶發(fā)送郵件告警。
3.3? ?基本攻擊流程及分析
首先確定攻擊目標:http://219.***.***.228:4**。
存在漏洞的url:
http://219.***.***.228:4**/new_list.php?id=1。
尋找網(wǎng)站存在的弱點,假設new_list.php的id參數(shù)存在SQL注入漏洞,構(gòu)造攻擊向量id={payload}(payload為攻擊載荷)。發(fā)送帶有攻擊載荷的請求數(shù)據(jù)包,攻擊成功后獲取數(shù)據(jù)庫名稱,如圖3所示。
4? 網(wǎng)絡安全態(tài)勢感知系統(tǒng)實現(xiàn)(Realization of network security situation awareness system)
管理員登錄后進入后臺管理頁面:顯示當日產(chǎn)生的告警信息條數(shù)和攔截條數(shù);展現(xiàn)系統(tǒng)所受威脅的類型占比;展現(xiàn)近七日的威脅告警和攔截條數(shù)的折線圖,更好地體現(xiàn)出近期系統(tǒng)所受的威脅程度,據(jù)此可以立即采取防御措施;網(wǎng)口吞吐量檢測實時顯示服務器的網(wǎng)口吞吐量信息,可以直觀地看出服務器的流量狀態(tài),快速辨別服務器是否存在惡意流量,如圖4所示。
另外,打開事件分析模塊,可以對主機威脅、緊急事件、情報事件、攻擊者視角、流量等進行安全方面的分析,查找攻擊來源,并對攻擊過程進出進行分解,將攻擊源進行可視化,如圖5所示。
5? ?結(jié)論(Conclusion)
本文針對目前網(wǎng)絡安全應用問題,利用大數(shù)據(jù)技術及開源工具集設計并實現(xiàn)了網(wǎng)絡安全態(tài)勢感知及預警系統(tǒng),并在工作單位對網(wǎng)絡安全態(tài)勢感知系統(tǒng)進行了部署和測試,對已有安全數(shù)據(jù)進行了合理分析,能夠?qū)崿F(xiàn)對網(wǎng)絡安全威脅事件產(chǎn)生預警,實時檢測獲取網(wǎng)絡攻擊行為,并采用可視化的方法將結(jié)果呈現(xiàn)出來。隨后對網(wǎng)絡安全態(tài)勢感知系統(tǒng)進行了觀測與試用,整體運行穩(wěn)定,可以對大多數(shù)的安全威脅事件進行預警,效果良好。
參考文獻(References)
[1] LEE Y, LEE Y. Toward scalable internet traffic measurement and analysis with hadoop[J]. ACM SIGCOMM Computer Communication Review, 2012, 43(1):5-13.
[2] 劉冬蘭,劉新,張昊,等.基于大數(shù)據(jù)的網(wǎng)絡安全態(tài)勢感知及主動防御技術研究與應用[J].計算機測量與控制,2019,27(10):229-233.
[3] 王以伍,張牧.基于大數(shù)據(jù)的網(wǎng)絡安全態(tài)勢感知關鍵技術研究[J].電腦知識與技術,2020,16(15):43-46.
[4] 龔儉,藏小東,蘇琪,等.網(wǎng)絡安全態(tài)勢感知綜述[J].軟件學報,2017,28(4):1010-1026.
[5]? FRANKE U,? BRYNIELSSON J. Cyber situational awareness a systematic review of the literature[J]. Computers & Security, 2014, 46:18-31.
[6] 丁華東,許華虎,段然,等.基于貝葉斯方法的網(wǎng)絡安全態(tài)勢感知模型[J].計算機工程,2020,46(6):130-135.
[7] 琚安康,郭淵博,朱泰銘.基于開源工具集的大數(shù)據(jù)網(wǎng)絡安全態(tài)勢感知及預警架構(gòu)[J].計算機科學,2017,44(5):125-131.
[8] LUST-RING.深入理解HDFS:Hadoop分布式文件系統(tǒng)[EB/OL].(2016-07-15) [2020-03-05].https://blog.csdn.net/bingduanlbd/article/details/51914550#t24.
[9] 一路前行1.Storm架構(gòu)與運行原理[EB/OL].(2017-08-13)[2020-03-20].https://blog.csdn.net/weiyongle1996/article/details/77142245.
作者簡介:
劉海霞(1981-),女,碩士,講師.研究領域:計算機應用,網(wǎng)絡安全.
許鑫磊(1997-),男,本科,工程師.研究領域:網(wǎng)絡安全與檢測.
冉宇瑤(1969-),女,碩士,副教授.研究領域:計算機應用,算法分析.
趙小娟(1982-),女,碩士,講師.研究領域:網(wǎng)絡安全技術,信息化技術.