基于實(shí)時(shí)關(guān)聯(lián)分析算法及CEP的大數(shù)據(jù)安全分析模塊研究與實(shí)現(xiàn)
0 引言
在信息爆炸的互聯(lián)網(wǎng)社會(huì),大數(shù)據(jù)滲透在生活的方方面面。大數(shù)據(jù)時(shí)代的企業(yè)網(wǎng)絡(luò)環(huán)境安全數(shù)據(jù)分析也呈現(xiàn)海量化、多樣化、異構(gòu)化等特點(diǎn)。自“棱鏡門”事件的爆發(fā)[1],層出不窮的安全問題凸顯,從傳統(tǒng)病毒進(jìn)化到蠕蟲、拒絕服務(wù)攻擊(Denial of Service,DoS)等惡意攻擊,乃至復(fù)雜程度更高的網(wǎng)絡(luò)攻擊手段——木馬、間諜軟件、僵尸網(wǎng)絡(luò)、網(wǎng)絡(luò)詐騙、網(wǎng)絡(luò)釣魚等,攻擊者已不僅僅滿足于使用單一的手段進(jìn)行攻擊,而是使用關(guān)聯(lián)的、復(fù)雜的攻擊手段、模型及算法針對(duì)企業(yè)網(wǎng)絡(luò)環(huán)境中的薄弱部分進(jìn)行攻擊[2]。面對(duì)企業(yè)內(nèi)安全告警信息的特點(diǎn)及愈發(fā)復(fù)雜的攻擊手段,安全告警監(jiān)控平臺(tái)的相關(guān)監(jiān)控、分析及使用人員無所適從。因此,對(duì)企業(yè)網(wǎng)絡(luò)環(huán)境中接入的海量數(shù)據(jù)關(guān)聯(lián)分析生成告警的實(shí)時(shí)性、準(zhǔn)確性及個(gè)性化等方面提出更嚴(yán)格的要求。
在傳統(tǒng)的大數(shù)據(jù)安全告警監(jiān)控平臺(tái)中,安全告警是以數(shù)據(jù)為驅(qū)動(dòng)[3-4],從經(jīng)驗(yàn)豐富的安全分析人員獲得。對(duì)海量安全數(shù)據(jù)的分析實(shí)際上是對(duì)安全事件的分析[5],但僅從數(shù)據(jù)入手,靠人工途徑獲得安全數(shù)據(jù)的關(guān)聯(lián)知識(shí)過程繁瑣[6-8],在不同的應(yīng)用環(huán)境可能存在差異,更無法滿足實(shí)時(shí)性,從而無法滿足大數(shù)據(jù)安全分析告警監(jiān)控的整體需要。因此,采用新技術(shù)相結(jié)合的自動(dòng)化數(shù)據(jù)關(guān)聯(lián)分析生成告警顯得尤為
迫切。
在大數(shù)據(jù)環(huán)境下,本文基于上述海量安全事件分析的新要求,設(shè)計(jì)并實(shí)現(xiàn)了基于復(fù)雜事件處理(Complex Event Processing,CEP)的大數(shù)據(jù)安全關(guān)聯(lián)分析模型,使用Storm和Esper結(jié)合的事件處理框架,結(jié)合前置的數(shù)據(jù)采集模塊、后置的告警生成模塊,進(jìn)行海量數(shù)據(jù)關(guān)聯(lián)分析與告警生成。此思路經(jīng)過設(shè)計(jì)、研發(fā)并投入生產(chǎn)環(huán)境應(yīng)用、驗(yàn)證,自動(dòng)化地進(jìn)行海量數(shù)據(jù)分析,提取關(guān)鍵信息,生成告警,為安全分析相關(guān)人員提供了實(shí)時(shí)、準(zhǔn)確、個(gè)性化的安全信息分析服務(wù)。
1 模型設(shè)計(jì)
大數(shù)據(jù)安全關(guān)聯(lián)分析及告警生成的實(shí)現(xiàn)通過完整平臺(tái)實(shí)現(xiàn),設(shè)計(jì)重點(diǎn)是基于CEP的大數(shù)據(jù)安全關(guān)聯(lián)分析模型,故安全數(shù)據(jù)關(guān)聯(lián)分析的前置及后置模塊僅簡單介紹。復(fù)雜事件處理的數(shù)據(jù)關(guān)聯(lián)分析模型架構(gòu)如
圖1 復(fù)雜事件處理的數(shù)據(jù)關(guān)聯(lián)分析模型架構(gòu)Fig.1 Architecture of data association analysis module based on complex event processing
1.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集是海量數(shù)據(jù)關(guān)聯(lián)分析的前置,在實(shí)現(xiàn)安全關(guān)聯(lián)分析之前,需確保系統(tǒng)中有數(shù)據(jù)采集前置。數(shù)據(jù)采集模塊主要包括多源異構(gòu)數(shù)據(jù)的采集、存儲(chǔ)及轉(zhuǎn)發(fā)。企業(yè)網(wǎng)絡(luò)環(huán)境中部署各類設(shè)備,數(shù)據(jù)采集模塊分布式統(tǒng)一采集從不同設(shè)備發(fā)送的日志數(shù)據(jù),對(duì)數(shù)據(jù)進(jìn)行初步抽取與處理,處理后的數(shù)據(jù)本地存儲(chǔ)一份,并推送至消息隊(duì)列中,推送的數(shù)據(jù)稱為安全事件流,是安全設(shè)備、網(wǎng)絡(luò)設(shè)備、應(yīng)用服務(wù)器等采集到的一組數(shù)據(jù)、一個(gè)數(shù)據(jù)包、一類描述文件,這些事件按照設(shè)備報(bào)出來的形式,被視為一個(gè)安全原子事件[9],記為
其中:start_time和end_time分別表示事件的開始時(shí)間與結(jié)束時(shí)間,data表示日志其他的重要
屬性。
在企業(yè)網(wǎng)絡(luò)環(huán)境下,數(shù)據(jù)采集層隨時(shí)從不同設(shè)備、系統(tǒng)中接收并生成安全事件流,安全事件流可以看作是無間斷地主被動(dòng)采集,類型相互關(guān)聯(lián)的數(shù)個(gè)原子事件
1.2 安全數(shù)據(jù)關(guān)聯(lián)分析模塊
數(shù)據(jù)采集完畢后,通過安全數(shù)據(jù)分析模塊對(duì)推送至消息隊(duì)列的安全復(fù)雜事件即安全數(shù)據(jù)進(jìn)行數(shù)據(jù)關(guān)聯(lián)分析,安全數(shù)據(jù)關(guān)聯(lián)分析模塊按照安全數(shù)據(jù)處理事件選擇、事件聚合、事件處理[11]3個(gè)步驟的執(zhí)行順序分為標(biāo)準(zhǔn)化引擎、事件語義分析引擎及復(fù)雜事件處理引擎(見
圖2 安全數(shù)據(jù)關(guān)聯(lián)分析模塊組成Fig.2 Security data association analysis module
1.2.1 標(biāo)準(zhǔn)化引擎
標(biāo)準(zhǔn)化引擎是對(duì)安全數(shù)據(jù)的過濾、分類、加強(qiáng)及范式化等數(shù)據(jù)分析工作,實(shí)現(xiàn)事件流的主題去重去噪分析、加強(qiáng)分析及范式化分析。該引擎是事件流的標(biāo)準(zhǔn)化分析環(huán)節(jié)的引擎,業(yè)務(wù)邏輯是依據(jù)不同數(shù)據(jù)的特性預(yù)置的,不需要人工自定義規(guī)則,不必結(jié)合Esper技術(shù)使用EPL語句進(jìn)行處理,利用Storm框架的高吞吐率,采用Storm的技術(shù)架構(gòu)[12],加快事件流的處理速度。Storm采用實(shí)時(shí)計(jì)算的圖狀結(jié)構(gòu),圖在Storm中成為拓?fù)洹C總€(gè)拓?fù)涮峤唤o集群,由集群中的主控節(jié)點(diǎn)分發(fā)代碼,將任務(wù)分配給工作節(jié)點(diǎn)執(zhí)行。一個(gè)拓?fù)渲邪╯pout和bolt 2種角色,其中spout發(fā)送消息,負(fù)責(zé)將數(shù)據(jù)流以tuple元組的形式發(fā)送出去;bolt則負(fù)責(zé)轉(zhuǎn)換這些數(shù)據(jù)流,在bolt中可以完成計(jì)算、過濾等操作,bolt自身也可以隨機(jī)將數(shù)據(jù)發(fā)送給其他bolt。由spout發(fā)射出的tuple是不可變數(shù)組,對(duì)應(yīng)著固定的鍵值對(duì)。Storm框架如
所示。
圖3 Storm框架Fig.3 Storm framework
1)分類去重去噪分析
分類去重去噪是對(duì)事件流的第一重選擇。
①數(shù)據(jù)主題分類:根據(jù)與數(shù)據(jù)采集層約定的自定義數(shù)據(jù)類型主題關(guān)鍵詞,將數(shù)據(jù)分為網(wǎng)絡(luò)設(shè)備數(shù)據(jù)、安全設(shè)備數(shù)據(jù)、主機(jī)設(shè)備數(shù)據(jù)、終端設(shè)備數(shù)據(jù)、應(yīng)用設(shè)備數(shù)據(jù)、網(wǎng)絡(luò)流數(shù)據(jù)及情報(bào)類數(shù)據(jù)七大類,并解析數(shù)據(jù)的分隔符號(hào),將事件流中的data進(jìn)一步拆分具體屬性特征。
②去重:去重是對(duì)分完類且具有具體屬性特征的安全事件流的去重,依據(jù)每條日志的MD5值進(jìn)行計(jì)算后,MD5值一致的即為重復(fù)數(shù)據(jù),僅保留一條有效的,否則會(huì)造成數(shù)據(jù)的冗余。
③去噪:去噪是對(duì)已經(jīng)過去重后的事件流中的“噪點(diǎn)”數(shù)據(jù)進(jìn)行修飾,由于事件流中數(shù)據(jù)類型各異,且來自不同廠商、設(shè)備和系統(tǒng),故數(shù)據(jù)中包含不符合規(guī)范的數(shù)據(jù)項(xiàng)在所難免,去噪就是對(duì)這類數(shù)據(jù)包括標(biāo)點(diǎn)符號(hào)、特殊符號(hào)等噪聲的“消噪”處理,并最大程度還原有意義屬性,不能還原的“臟數(shù)據(jù)”剔除。
2)加強(qiáng)分析
加強(qiáng)分析是依據(jù)業(yè)務(wù)的要求,將已經(jīng)過去重去噪的事件流關(guān)聯(lián)離線的知識(shí)庫數(shù)據(jù),加強(qiáng)每條事件流的關(guān)聯(lián)信息,包括IP所在地域、經(jīng)緯度、資產(chǎn)名稱、責(zé)任人等屬性信息。
3)范式化分析
范式化將經(jīng)過以上2步分析處理的事件流再標(biāo)準(zhǔn)化,只保留符合預(yù)定義的格式規(guī)范的數(shù)據(jù),用于后續(xù)事件的語義分析及復(fù)雜事件處理。
1.2.2 事件語義分析引擎
事件語義分析引擎即將前一步的標(biāo)準(zhǔn)化后的分析字段進(jìn)行字段映射。這里的語義是指需要分析的行為模式關(guān)聯(lián)語義,即按照規(guī)范化事件流之間的關(guān)聯(lián)模式進(jìn)行分析的語義。事件流語義分析引擎僅進(jìn)行事件字段映射。
事件字段映射用于提取需要分析的事件流中的關(guān)鍵語義,關(guān)鍵語義以<Key,Value>鍵值對(duì)形式存在,為事件流生成告警的重要屬性字段的集合。
1.2.3 復(fù)雜事件處理引擎
復(fù)雜事件處理引擎參考CEP的通用處理框架[13](見
圖4 CEP處理框架Fig.4 CEP processing framework
CEP處理框架反映的是原子事件進(jìn)入事件處理引擎后通過一系列的操作,生成復(fù)雜事件直至最終事件的流程。復(fù)雜事件處理主要負(fù)責(zé)實(shí)時(shí)事件流的處理及不同事件流實(shí)時(shí)關(guān)聯(lián)分析。
事件輸入來源包括前一步事件流語義分析后的結(jié)果,數(shù)據(jù)覆蓋全面、實(shí)時(shí);在事件處理部分,事件建模器中的模型分為預(yù)定義場景分析及可視化交互用戶模型自定義分析。在自定義業(yè)務(wù)規(guī)則上使用熱切換實(shí)現(xiàn)新建規(guī)則。在用戶GUI配置完規(guī)則后,實(shí)現(xiàn)快速重啟Esper引擎,該引擎依據(jù)自定義與否分為預(yù)定義場景分析和可視化交互分析。
1.2.4 實(shí)時(shí)關(guān)聯(lián)分析算法
在傳統(tǒng)技術(shù)架構(gòu)下,關(guān)聯(lián)分析算法往往需要從離線的非結(jié)構(gòu)化數(shù)據(jù)集上執(zhí)行分析,難以對(duì)大量、嘈雜的數(shù)據(jù)進(jìn)行融合關(guān)聯(lián)分析,形成實(shí)時(shí)全局可視化安全態(tài)勢,因此本平臺(tái)在Storm等流式計(jì)算框架基礎(chǔ)上,結(jié)合CEP以及Apriori算法[14],通過數(shù)據(jù)內(nèi)存實(shí)時(shí)分析、海量安全信息實(shí)時(shí)監(jiān)控與關(guān)聯(lián)分析,及時(shí)發(fā)現(xiàn)安全異常行為。
Apriori算法主要分為2個(gè)步驟:第一步對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行迭代,檢索出數(shù)據(jù)中頻繁的項(xiàng)集,其中頻繁的閾值預(yù)先設(shè)定。第二步首先找出頻繁項(xiàng)集-1,記為L1;然后利用L1來生成候選項(xiàng)集C2,對(duì)C2中的項(xiàng)進(jìn)行判斷挖掘出L2,即頻繁項(xiàng)集-2,其中候選頻繁項(xiàng)集不斷如此循環(huán)直到無法發(fā)現(xiàn)更多的頻繁項(xiàng)集-
在基礎(chǔ)的Apriori算法中,每一步產(chǎn)生候選項(xiàng)集時(shí)循環(huán)產(chǎn)生的組合較多,沒有排除冗余元素,其次在數(shù)據(jù)增多的情況下,對(duì)計(jì)算機(jī)的I/O開銷成幾何倍數(shù)增加,因此做出一些改進(jìn),將每個(gè)項(xiàng)集生成hash值,通過和最小支持計(jì)數(shù)相比,先淘汰一部分項(xiàng)集。
1.3 告警生成模塊
在事件流經(jīng)過基于復(fù)雜事件處理的數(shù)據(jù)關(guān)聯(lián)分析后,將生成的告警存儲(chǔ)在告警生成模塊的關(guān)系型MySQL數(shù)據(jù)庫中[15],并通過數(shù)據(jù)總線為應(yīng)用層的使用人員提供統(tǒng)一服務(wù),供不同角色人員進(jìn)行監(jiān)控、處置等操作。
1.4 應(yīng)用場景算例分析與設(shè)計(jì)
依照基于復(fù)雜事件處理的大數(shù)據(jù)安全關(guān)聯(lián)分析模型的設(shè)計(jì),選取“郵件賬號(hào)異常登錄場景”進(jìn)行算例分析。該場景為:依據(jù)采集的海量日志,對(duì)企業(yè)內(nèi)部郵件賬號(hào)異常登錄的行為進(jìn)行識(shí)別,滿

責(zé)任編輯:售電衡衡
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計(jì) -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng)
-
新基建助推 數(shù)據(jù)中心建設(shè)將迎爆發(fā)期
2020-06-16數(shù)據(jù)中心,能源互聯(lián)網(wǎng),電力新基建 -
泛在電力物聯(lián)網(wǎng)建設(shè)下看電網(wǎng)企業(yè)數(shù)據(jù)變現(xiàn)之路
2019-11-12泛在電力物聯(lián)網(wǎng) -
泛在電力物聯(lián)網(wǎng)建設(shè)典型實(shí)踐案例
2019-10-15泛在電力物聯(lián)網(wǎng)案例
-
新基建之充電樁“火”了 想進(jìn)這個(gè)行業(yè)要“心里有底”
2020-06-16充電樁,充電基礎(chǔ)設(shè)施,電力新基建 -
燃料電池汽車駛?cè)雽こ0傩占疫€要多久?
-
備戰(zhàn)全面電動(dòng)化 多部委及央企“定調(diào)”充電樁配套節(jié)奏
-
權(quán)威發(fā)布 | 新能源汽車產(chǎn)業(yè)頂層設(shè)計(jì)落地:鼓勵(lì)“光儲(chǔ)充放”,有序推進(jìn)氫燃料供給體系建設(shè)
2020-11-03新能源,汽車,產(chǎn)業(yè),設(shè)計(jì) -
中國自主研制的“人造太陽”重力支撐設(shè)備正式啟運(yùn)
2020-09-14核聚變,ITER,核電 -
能源革命和電改政策紅利將長期助力儲(chǔ)能行業(yè)發(fā)展
-
探索 | 既耗能又可供能的數(shù)據(jù)中心 打造融合型綜合能源系統(tǒng)
2020-06-16綜合能源服務(wù),新能源消納,能源互聯(lián)網(wǎng) -
5G新基建助力智能電網(wǎng)發(fā)展
2020-06-125G,智能電網(wǎng),配電網(wǎng) -
從智能電網(wǎng)到智能城市
-
山西省首座電力與通信共享電力鐵塔試點(diǎn)成功
-
中國電建公司公共資源交易服務(wù)平臺(tái)摘得電力創(chuàng)新大獎(jiǎng)
-
電力系統(tǒng)對(duì)UPS的技術(shù)要求