文/張思拓 洪丹軻 林旭斌 吳柳 謝堯
當(dāng)前,現(xiàn)代的電力系統(tǒng)的日??煽窟\(yùn)行,都完全依賴于高度信息化的網(wǎng)絡(luò)通信與安全防護(hù)。如果電力網(wǎng)絡(luò)或者相關(guān)管理信息系統(tǒng)遭到破壞,就會導(dǎo)致電力系統(tǒng)不能正常運(yùn)行,甚至導(dǎo)致癱瘓。
近年來,入侵檢測系統(tǒng)、防火墻、防病毒軟件、網(wǎng)絡(luò)隔離、加解密軟硬件、訪問控制和VPN等網(wǎng)絡(luò)安全技術(shù)或產(chǎn)品在電力行業(yè)得到了廣泛應(yīng)用,大大增強(qiáng)了電力企業(yè)抵御外部攻擊的能力。
傳統(tǒng)的電力系統(tǒng)依靠不同的安全設(shè)備進(jìn)行防御,這些設(shè)備根據(jù)網(wǎng)絡(luò)攻擊檢測情況,每天會產(chǎn)生大量的攻擊日志和流量信息。如文獻(xiàn)[4]中指出某電力系統(tǒng)面臨的實(shí)際安全問題:信息外網(wǎng)日均產(chǎn)生互聯(lián)網(wǎng)流量高達(dá)5.51T,日均攔截非法訪問3萬余次,查殺病毒100萬余個,阻斷網(wǎng)站攻擊18萬余次。
利用網(wǎng)絡(luò)安全流量與日志信息進(jìn)行系統(tǒng)安全分析在國內(nèi)外研究中越來越普遍和受到重視。如:文獻(xiàn)[5]設(shè)計(jì)并開發(fā)了一套基于日志分析的電力信通網(wǎng)絡(luò)安全預(yù)警系統(tǒng),該預(yù)警系統(tǒng)可對信息通信系統(tǒng)中不同設(shè)備的日志進(jìn)行采集和統(tǒng)一管理,實(shí)現(xiàn)對信息通信系統(tǒng)的威脅檢測和安全預(yù)警。文獻(xiàn)[6]指出在網(wǎng)絡(luò)安全建議使用大數(shù)據(jù)的新安全日志系統(tǒng),通過分析主要IT基礎(chǔ)設(shè)施的網(wǎng)絡(luò)、系統(tǒng)、應(yīng)用服務(wù)所產(chǎn)生的安全與數(shù)據(jù)事件之間的關(guān)系,增強(qiáng)安全智能。文獻(xiàn)[7]已經(jīng)通過對多源、異構(gòu)網(wǎng)絡(luò)安全檢測日志信息進(jìn)行采集、利用多種方式進(jìn)行分析,從而尋找合理可信的網(wǎng)絡(luò)安全風(fēng)險整體態(tài)勢感知。
當(dāng)前,我國現(xiàn)有的電力系統(tǒng)安全防御普遍沒有做到立體防御,更多的是線式堆砌模型,就是針對不同的安全風(fēng)險,購買了大量不同的安全檢測設(shè)備或軟件,每個設(shè)備互不相同,且都產(chǎn)生各次的檢測日志和數(shù)據(jù)流信息,設(shè)備間或軟件間無法直接溝通與協(xié)同控制。
日志消息,是指在特定的操作系統(tǒng)下引發(fā)系統(tǒng),設(shè)備、軟件生成的記錄。由于電力系統(tǒng)包含多種不同安全設(shè)備,不用的數(shù)據(jù)傳輸網(wǎng)絡(luò),根據(jù)流量日志信息來源,可以將電力系統(tǒng)日志大致分為:網(wǎng)絡(luò)設(shè)備日志、安全檢測設(shè)備日志、主機(jī)(服務(wù)器)日志、應(yīng)用系統(tǒng)(數(shù)據(jù)庫)和業(yè)務(wù)系統(tǒng)日志等。根據(jù)日志信息格式大致可以分為:Traffic log,WELF和Syslog和二進(jìn)制。其中,Traffic log是設(shè)備保存的基于流量的日志,該日志彌補(bǔ)了Syslog中沒有流量信息的確定。WELF(WebTrends Enhanced Log Format)是WebTrends專有的格式,很多的防火墻都支持的日志格式。Syslog是在Unix平臺下提出的,其格式比較簡單,主要由時間戳、日志來源和日志描述三部分構(gòu)成。
日志信息預(yù)處理重在消除“數(shù)據(jù)孤島”,建立電力系統(tǒng)安全日志整體協(xié)同融合能力,并形成安全監(jiān)管、控制的全量數(shù)據(jù)資產(chǎn)。
1.2.1 數(shù)據(jù)清洗
數(shù)據(jù)清洗是指對數(shù)據(jù)進(jìn)行重新審查和校驗(yàn)的過程,目的在于刪除重復(fù)信息、糾正存在的錯誤,并提供數(shù)據(jù)一致性。當(dāng)前,電力系統(tǒng)的原始日志數(shù)據(jù)存在噪聲多、缺失數(shù)據(jù)嚴(yán)重、數(shù)據(jù)重復(fù)率高等缺點(diǎn),且數(shù)據(jù)格式不統(tǒng)一,故需要根據(jù)需要進(jìn)行原始數(shù)據(jù)清洗工作。
1.2.2 數(shù)據(jù)標(biāo)準(zhǔn)化
電力系統(tǒng)安全日志數(shù)據(jù)格式眾多,不能簡單的采用一種數(shù)據(jù)格式進(jìn)行標(biāo)準(zhǔn)化,因?yàn)閱我坏臄?shù)據(jù)格式要么包含的屬性過多,導(dǎo)致數(shù)據(jù)可讀性差,難以處理;要么屬性過少,難以準(zhǔn)確呈現(xiàn)網(wǎng)絡(luò)攻擊安全特征,降低檢測能力。因此,為了便于將多源、異構(gòu)的安全設(shè)備日志標(biāo)準(zhǔn)化,首先建立安全日志的“元數(shù)據(jù)”信息,并且將元數(shù)據(jù)格式標(biāo)準(zhǔn)統(tǒng)一。
參照大數(shù)據(jù)在其他多源、異構(gòu)系統(tǒng)的成功應(yīng)用研究和大數(shù)據(jù)本身的技術(shù)優(yōu)勢,本文提出的基于大數(shù)據(jù)的電力系統(tǒng)安全多源流量日志分析平臺分為多源異構(gòu)數(shù)據(jù)層、大數(shù)據(jù)存儲層、大數(shù)據(jù)分析挖掘?qū)?、?shù)據(jù)展示層。
該層主要完成來自原始日志信息的采集。主要包括網(wǎng)絡(luò)流量設(shè)備日志(如交換機(jī)、路由器等)、網(wǎng)絡(luò)安全設(shè)備日志(如防火墻、入侵檢測設(shè)備等)、主機(jī)設(shè)備日志(Linux、Windows等)、漏洞信息(網(wǎng)絡(luò)掃描Nessus、X-Scan等)。
該層主要完成對原始采集的日志信息進(jìn)行大數(shù)據(jù)存儲,主要通過Flume、Sqoop、Kafka和Storm結(jié)合使用方法完成。其中,數(shù)據(jù)流的實(shí)時處理,通過Sqoop組件導(dǎo)入到HBase中存儲,利用Kafka的生產(chǎn)、消費(fèi)者和代理模式,使用Flume作為日志收集系統(tǒng),將收集到的數(shù)據(jù)輸送到Kafka中間件,以供Storm去實(shí)時消費(fèi)計(jì)算。離線數(shù)據(jù)基于HDFS的海量分布式存儲體系,本平臺選用默認(rèn)的64M數(shù)據(jù)塊的存儲單位,對采集的小文件進(jìn)行歸并處理,滿足每個文件64M的規(guī)模大小。HBase是當(dāng)前非常流行的海量分布式開源數(shù)據(jù)庫系統(tǒng)。HBase采用列式存儲。部分經(jīng)過計(jì)算分析整理后的日志或數(shù)據(jù)流數(shù)據(jù)存儲到HBase中。對于結(jié)構(gòu)化的元數(shù)據(jù)信息,本平臺選用MySQL數(shù)據(jù)庫進(jìn)行存儲。關(guān)系型數(shù)據(jù)和非關(guān)系型數(shù)據(jù)之間的關(guān)聯(lián)導(dǎo)入導(dǎo)出操作,我們采用Sqoop進(jìn)行數(shù)據(jù)轉(zhuǎn)換。
表1:H3C交換機(jī)Syslog流量日志
表2:Hive與MySQL查詢統(tǒng)計(jì)對比實(shí)驗(yàn)
為了能夠?qū)﹄娏ο到y(tǒng)安全日志數(shù)據(jù)進(jìn)行基于大數(shù)據(jù)的分析和處理,選取Spark+Hadoop結(jié)合的方法實(shí)現(xiàn)。Spark的核心組件包括RDD(Resilient Distributed Datasets)、Scheduler、Storage、Shuffle四部分:RDD是Spark最核心最精髓的部分,Spark將所有數(shù)據(jù)都抽象成RDD。Scheduler是Spark的調(diào)度機(jī)制,分為DAGScheduler和TaskScheduler。Storage模塊主要管理緩存后的RDD、shuffle和broadcast數(shù)據(jù)。為了實(shí)現(xiàn)電力系統(tǒng)安全日志的關(guān)聯(lián)、聚類和異常等分析,本平臺選取Mahout機(jī)器學(xué)習(xí)相關(guān)算法進(jìn)行日志信息分類、聚類、關(guān)聯(lián)分析等操作。
為了能夠直觀、快捷的將電力系統(tǒng)面臨的安全威脅展示出來,本平臺通過Web形式展示。展示內(nèi)容主要包括:安全態(tài)勢感知內(nèi)容、威脅情報與資源共享、攻擊擴(kuò)散關(guān)聯(lián)路徑分析、智能檢索等。展示平臺主要采 用HTML5,JavaScript,CSS,J2EE或 者Nodejs,AngularJS,Highcharts等技術(shù)實(shí)現(xiàn)。
圖1:使用Hadoop分析Syslog日志
為了驗(yàn)證基于大數(shù)據(jù)的電力系統(tǒng)安全流量與日志處理框架的有效性,本文收集了防火墻、交換機(jī)、堡壘機(jī)等設(shè)備產(chǎn)生的流量日志,如交換機(jī)Syslog流量日志原始數(shù)據(jù)如表1所示,接著基于大數(shù)據(jù)平臺,完成日志分析處理,流程圖如圖1所示。
實(shí)驗(yàn)選取Cloudera來搭建實(shí)驗(yàn)環(huán)境,Cloudera包 括HDFS、MapReduce、Hive、Pig、Hbase、Zookeeper、Sqoop等,簡化了大數(shù)據(jù)平臺的安裝、使用難度。實(shí)驗(yàn)環(huán)境包括:Vmware虛擬機(jī)、操作系統(tǒng)CentOS 6.5 x64、Clouder Manager5.14.0、CDH5.14.0。實(shí) 驗(yàn) 采取完全分布式配置,包括1個master節(jié)點(diǎn)和2個slave節(jié)點(diǎn)。
實(shí)驗(yàn)選取不同大小的Syslog日志,比較SQL查詢與Hadoop平臺的處理效率。檢測結(jié)果如表2所示。在2.68M時,MySQL查詢效率高于Hive的查詢效率。隨著數(shù)據(jù)量增大,Hive的查詢效率要好于MySQL,數(shù)據(jù)規(guī)模越大,Hive查詢統(tǒng)計(jì)效率越明顯。這是因?yàn)?,?dāng)數(shù)據(jù)量小時,MySQL的延時低,而Hive查詢是利用Map Reduce算法,相對延時比較高;而當(dāng)數(shù)據(jù)規(guī)模增大到10萬條以上,MySQL需要逐條計(jì)算,耗時長,且容易出錯;Hive采用并行計(jì)算,將大規(guī)模數(shù)據(jù)計(jì)算切分為多個小規(guī)模的分塊數(shù)據(jù),每個分塊單獨(dú)計(jì)算,整體時間少。該實(shí)驗(yàn)充分驗(yàn)證了采用Hadoop大數(shù)據(jù)平臺并行處理相比傳統(tǒng)串行處理有非常明顯的效率和存儲優(yōu)勢。
隨著電力行業(yè)信息化的大力發(fā)展,電力行業(yè)已經(jīng)布設(shè)的安全檢測設(shè)備每天都會產(chǎn)生海量、異構(gòu)和多源的流量與日志信息,傳統(tǒng)的安全處理分析相對孤立、處理效率差,無法形成多種安全檢測設(shè)備日志聯(lián)動協(xié)同分析的能力。
本文針對電力系統(tǒng)安全流量日志,基于Hadoop平臺設(shè)計(jì)了一種海量電力系統(tǒng)安全流量日志采集、存儲、分析和展示的框架系統(tǒng),且通過實(shí)驗(yàn)驗(yàn)證了所提框架系統(tǒng)相對傳統(tǒng)單機(jī)系統(tǒng)的優(yōu)越性,下一步將繼續(xù)開展在該平臺進(jìn)行大數(shù)據(jù)安全態(tài)勢分析、安全風(fēng)險的聯(lián)動控制研究。