鐘穎,王松,吳浩,程澤鵬,李學(xué)俊
(西南科技大學(xué)計算機科學(xué)與技術(shù)學(xué)院,四川 綿陽 621000)
隨著網(wǎng)絡(luò)應(yīng)用的不斷增加,大規(guī)模的網(wǎng)絡(luò)管理愈加困難。網(wǎng)絡(luò)管理員和安全分析師的一項重要任務(wù)是從大量日志數(shù)據(jù)中檢測潛在的由惡意用戶、應(yīng)用程序或設(shè)備故障引起的異?;顒踊蛐袨槟J剑?]。入侵檢測技術(shù)主要用于檢測網(wǎng)絡(luò)或系統(tǒng)中是否存在違反安全策略的行為和被攻擊的跡象,雖然日志中含有大量安全警報,但分析日志數(shù)據(jù)存在很大困難:(1)異構(gòu)的數(shù)據(jù)源和迅速擴大的數(shù)據(jù)規(guī)模極大地增加了分析人員的認(rèn)知負(fù)擔(dān)[2];(2)隨著新攻擊類型的出現(xiàn)及攻擊復(fù)雜度的增強,很多傳統(tǒng)的數(shù)據(jù)分析方法不再有效;(3)日志數(shù)據(jù)中充斥著大量誤報、漏報、重復(fù)報,判斷日志警報是假陽性還是真威脅仍是一項巨大挑戰(zhàn)[3];(4)實現(xiàn)多種安全設(shè)備、多個數(shù)據(jù)源、多個日志之間的協(xié)同分析很困難。
網(wǎng)絡(luò)安全可視化有助于用戶準(zhǔn)確判斷安全事件發(fā)生的時間、地點、內(nèi)容及關(guān)聯(lián)性,快速追蹤用戶行為。GOODALL 等[4]提出的Situ 可用于發(fā)現(xiàn)和解釋計算機網(wǎng)絡(luò)流量日志數(shù)據(jù)中的可疑行為,識別和調(diào)查異常事件和IP 地址,幫助理解異常原因。LIKUN等[5]提出的NetflowVis,結(jié)合了鏈接節(jié)點樹圖的輻射布局和改進(jìn)后的主題河流圖,能呈現(xiàn)不同協(xié)議的上/下行流量的統(tǒng)計數(shù)據(jù)并分析Netflow 日志的通信模式和網(wǎng)絡(luò)異常原因。但以上大部分工作主要圍繞特定類型的日志數(shù)據(jù)或特定的攻擊事件展開,缺乏對異常分析整體過程的指導(dǎo)。本文的主要工作包括:
(1)在網(wǎng)絡(luò)安全分析流程引入數(shù)據(jù)挖掘中經(jīng)典的SEMMA 分析范式,抽象并總結(jié)提取異常事件、規(guī)范攻擊事件的分析思路。
(2)提出了基于協(xié)議的節(jié)點鏈路圖(protocolbased node link diagram,PBNLD)可視化表征方法,以幫助構(gòu)建網(wǎng)絡(luò)通信模型,相較傳統(tǒng)的網(wǎng)絡(luò)安全關(guān)系圖,PBNLD 以協(xié)議為劃分標(biāo)準(zhǔn)對通信節(jié)點進(jìn)行分類,對單一協(xié)議的通信情況進(jìn)行深度探索,用基于模糊C 均值的主機行為聚類視圖解決網(wǎng)絡(luò)資產(chǎn)結(jié)構(gòu)的分類問題。
(3)搭建了基于示例-探索-修改-模型-評估(sample-explore-modify-model-assess,SEMMA)的網(wǎng)絡(luò)安全事件可視分析系統(tǒng),在流量日志、數(shù)據(jù)庫日志等基礎(chǔ)上分析網(wǎng)絡(luò)通信特征及存在的關(guān)聯(lián)關(guān)系。
網(wǎng)絡(luò)日志是對系統(tǒng)進(jìn)行實時監(jiān)測和安全事件分析的重要信息來源。在網(wǎng)絡(luò)日志的記錄存儲和模型構(gòu)建方面,SGX-Log[6]是一種新型的日志系統(tǒng),對最新的硬件進(jìn)行擴展,重新設(shè)計日志記錄。該系統(tǒng)提供了具有密封和啟封原語的安全區(qū)域,保存內(nèi)存和磁盤中的程序代碼和數(shù)據(jù),以免未經(jīng)授權(quán)被修改。針對系統(tǒng)和安全產(chǎn)品產(chǎn)生的大量網(wǎng)絡(luò)日志,TATSUAKI等[7]設(shè)計了一種日志分析系統(tǒng),可從海量的非結(jié)構(gòu)化日志中自動快速提取日志模板,構(gòu)建日志特征向量,并用機器學(xué)習(xí)的方法將故障與日志數(shù)據(jù)相關(guān)聯(lián)。針對大量日志的維護(hù)、概覽、導(dǎo)航和快速識別,JANERIK 等[8]提出了一種交互式的可視化過濾系統(tǒng)。該系統(tǒng)與重點查詢結(jié)合,搜索已知的可疑術(shù)語,并在可視圖和日志文件中凸顯這些可疑術(shù)語。在網(wǎng)絡(luò)流量日志內(nèi)容分析方面,CoNTA[9]是一種面向警報的可視分析系統(tǒng),支持用戶通過交互探索和發(fā)現(xiàn)在大型流量警報集合中的威脅,并將錯誤警報報回入侵檢測系統(tǒng)。MMSLAS[10]將業(yè)務(wù)規(guī)則分析和行為分析集成,用機器學(xué)習(xí)分析行為軌跡,快速定位日志中的不當(dāng)行為,提前發(fā)現(xiàn)異常請求。在網(wǎng)絡(luò)安全可視化圖的設(shè)計方面,YANG 等[11]提出了IDSPlanet,將行星作為設(shè)計隱喻,其由空間環(huán)、警報球和交互核心三部分組成,具有可視化大量網(wǎng)絡(luò)警報和監(jiān)控大量主機的能力,但隨著警報類型的增加,在有限的空間內(nèi)進(jìn)行渲染易出現(xiàn)重疊問題,導(dǎo)致交互困難。
網(wǎng)絡(luò)安全分析的目標(biāo)是檢測網(wǎng)絡(luò)內(nèi)部的安全事件并建立有效的網(wǎng)絡(luò)態(tài)勢分析模型,以幫助分析人員快速建立分析思路。HOANG 等[12]將不確定性納入網(wǎng)絡(luò)安全分析,將每個邊緣概率描述為隨機變量的布爾表達(dá)式,以概率的方式回答相關(guān)重要問題。LIU 等[13]提出了一種基于粗糙集的網(wǎng)絡(luò)安全事件關(guān)聯(lián)方案,建立了網(wǎng)絡(luò)安全事件數(shù)據(jù)庫和知識庫,給出了規(guī)則生成方法和規(guī)則匹配器,通過將數(shù)據(jù)離散化、屬性約簡、值約簡和規(guī)則生成相結(jié)合,解決了大規(guī)模安全事件的簡化和關(guān)聯(lián)問題。ZHAO 等[14]綜合網(wǎng)絡(luò)安全分析人員用網(wǎng)絡(luò)流量時序數(shù)據(jù)檢測網(wǎng)絡(luò)異常的過程,提出一種自頂向下的網(wǎng)絡(luò)流量時序流程模型。XU 等[15]提出了一種基于未純化網(wǎng)絡(luò)跟蹤的安全協(xié)議格式分析方法,將未純化網(wǎng)絡(luò)跟蹤集作為輸入,自動生成協(xié)議格式,為有效處理未凈化網(wǎng)絡(luò)痕跡提供了一定的分析思路。
網(wǎng)絡(luò)數(shù)據(jù)的分析與可視化在網(wǎng)絡(luò)安全研究中取得了階段性成果,但要實現(xiàn)同時支持多類安全事件的檢測過程仍面臨巨大挑戰(zhàn)。本文在融合多類安全事件類型的基礎(chǔ)上,提出了一種通用的網(wǎng)絡(luò)安全事件分析模型,以規(guī)范異常事件的整體分析思路。
SEMMA 是由SAS 研究所提出的一種通用的數(shù)據(jù)挖掘方法,支持挖掘大量數(shù)據(jù),解決復(fù)雜問題并做可靠決策,在環(huán)境檢測[16]、貸款違約預(yù)測[17]等領(lǐng)域有一定應(yīng)用。本文將SEMMA 分析范式應(yīng)用于網(wǎng)絡(luò)安全領(lǐng)域,以網(wǎng)絡(luò)安全流量數(shù)據(jù)為中心,融合提取網(wǎng)絡(luò)異常的幾種常見方法,實現(xiàn)對多源日志數(shù)據(jù)的聯(lián)合分析,支持完整的異常檢測過程。在數(shù)據(jù)處理(示例)階段,分析日志數(shù)據(jù)之間的時間、空間關(guān)系,構(gòu)建關(guān)系網(wǎng)絡(luò)。特征探索(探索)主要用于尋找數(shù)據(jù)變化規(guī)律或異常子集,從點到面,通過可疑主機和端口的周期性流量變化特征,尋找相似趨勢的其他主機及端口。初步提取特征后,通過整體流量的變化特征,從整體到個體,定位異常網(wǎng)絡(luò)的主機和端口,對原來模糊的問題進(jìn)一步明確和量化(修改),并建立正確的分析方向,完善不同類型的分析模型(模型),挖掘隱藏的信息。最后,從上述分析過程中得到目標(biāo)問題從結(jié)果到起因的多方面描述,關(guān)聯(lián)各項可疑數(shù)據(jù)指標(biāo),確定安全事件的起因與結(jié)果(評估),還原網(wǎng)絡(luò)攻擊場景。流程見圖1。
圖1 基于SEMMA 范式的網(wǎng)絡(luò)安全事件分析模型Fig.1 SEMMA-based analysis model of cyber-security event
網(wǎng)絡(luò)安全分析人員需要處理的網(wǎng)絡(luò)安全數(shù)據(jù)種類非常多,其中大部分來自各類網(wǎng)絡(luò)監(jiān)控設(shè)備,根據(jù)數(shù)據(jù)特點,可大致分為流量數(shù)據(jù)、狀態(tài)數(shù)據(jù)與警報數(shù)據(jù)。流量數(shù)據(jù)主要來自TCP/IP 的數(shù)據(jù)包信息和流量監(jiān)控中的會話記錄。狀態(tài)數(shù)據(jù)包括網(wǎng)絡(luò)狀態(tài)、系統(tǒng)負(fù)載、異常進(jìn)程等;警報數(shù)據(jù)主要為各類防御設(shè)備產(chǎn)生的警報事件。網(wǎng)絡(luò)安全分析人員需同時面對一些非監(jiān)控型的網(wǎng)絡(luò)安全數(shù)據(jù),如網(wǎng)絡(luò)配置文件、病毒樣本等。本文在面對監(jiān)控型多源日志數(shù)據(jù)時,隨機抽樣每種數(shù)據(jù)中的10%,判斷日志數(shù)據(jù)屬性可能存在的演化關(guān)系,構(gòu)建IP 屬性關(guān)系網(wǎng),實現(xiàn)日志記錄之間一對多或多對多的映射關(guān)系。用全部日志數(shù)據(jù)構(gòu)建可視分析系統(tǒng),提取網(wǎng)絡(luò)流量特征,并出現(xiàn)主機、用戶異常行為,以保證分析結(jié)果準(zhǔn)確。
通過PBNLD 構(gòu)建網(wǎng)絡(luò)通信模型,提取企業(yè)內(nèi)部網(wǎng)絡(luò)中的通信協(xié)議分布特征;利用模糊C 均值聚類算法提取主機行為,得到以協(xié)議為單位的主機通信特征。
2.2.1 PBNLD
客戶端常存在與多個服務(wù)器進(jìn)行通信,且單個通信對使用協(xié)議不一致的情況。若簡單用傳統(tǒng)關(guān)系圖對網(wǎng)絡(luò)通信流進(jìn)行可視化,易造成圖元重疊,致使很多有效信息被遮擋。為解決此問題,PBNLD 同傳統(tǒng)的網(wǎng)絡(luò)關(guān)系圖一樣,仍使用節(jié)點/頂點與連線編碼網(wǎng)絡(luò)通信之間的關(guān)系,但在繪制中引入“協(xié)議”和聚類計算結(jié)果,補充節(jié)點簇的協(xié)議分類和信息,提升通信網(wǎng)絡(luò)節(jié)點的呈現(xiàn)速率。
PBNLD 分為三部分,分別為協(xié)議(節(jié)點與其內(nèi)部的節(jié)點)簇、源IP 節(jié)點簇和通信鏈路(圖2)。在通信協(xié)議節(jié)點中,用圓形半徑編碼日志數(shù)據(jù)中協(xié)議的使用情況,用灰度編碼使用協(xié)議不同類型的IP 節(jié)點,用PBNLD 可視化主機通信記錄??焖贅?gòu)建以協(xié)議為劃分標(biāo)準(zhǔn)的網(wǎng)絡(luò)通信結(jié)構(gòu),識別主機的網(wǎng)絡(luò)結(jié)構(gòu)角色。
圖2 PBNLD 模型Fig.2 Protocol-based Node Link Diagram
2.2.2 基于模糊C 均值的主機行為關(guān)系聚類
結(jié)合模糊C 均值量化主機行為,通過計算樣本的隸屬度使被劃分到同簇的主機之間具有最大相似度,簇之間具有最小行為相似度。具體思路如下:
(1)數(shù)據(jù)預(yù)處理。在獲取日志數(shù)據(jù)后,從時間維度將數(shù)據(jù)集劃分為N=(f1,f2,f3,…,fn),令每個子集包含單日數(shù)據(jù)。提取每個子集中的source_ip,destination_ip 屬性為fi=(x1,x2,…,xn)(xi為第i種協(xié)議的使用情況),計算相關(guān)性最高的協(xié)議類型,并將該屬性與IP 地址綁定c=(x1,x2,x3,…,xn),根據(jù)協(xié)議屬性分類,得到pi=(c1,c2,c3,…,cn)。
(2)行為聚類。用歐幾里得范式度量主機之間的相似性(距離),用最小化目標(biāo)函數(shù)計算,得到聚類中心:
其中,t為迭代步數(shù),ε為很小的常數(shù),表示誤差閾值,通常ε=m!-1≈0.008 33。迭代更新uij和cj直至前后兩次隸屬度最大變化不超過誤差閾值,最終收斂于Jm的局部極小值點或者鞍點,此時的劃分精度最高。針對不同類型的服務(wù)器聚類結(jié)果,可在PBNLD中選擇某一協(xié)議類型,并在此協(xié)議下的主機行為關(guān)系聚類圖中將節(jié)點邊緣加粗,以呈現(xiàn)聚類結(jié)果。
參照ZHANG等[18]在TIFS中提出的針對一系列網(wǎng)絡(luò)的全局屬性、平均攻擊力度的多樣性互補指標(biāo),將提取網(wǎng)絡(luò)安全事件的關(guān)鍵因素歸納為4W1H("When""Where""What""Who""How")。
(1)過去哪些時段,內(nèi)部網(wǎng)絡(luò)可能發(fā)生過重要事件?包括系統(tǒng)更新、非工作時段服務(wù)器高負(fù)載、數(shù)據(jù)庫訪問量激增等。
(2)在這些重要事件中,是否存在非周期性活動?這些活動發(fā)生在網(wǎng)絡(luò)結(jié)構(gòu)的哪個部位?
(3)這些可疑活動在網(wǎng)絡(luò)結(jié)構(gòu)中的主要表現(xiàn)是什么?造成的影響有哪些?
(4)可否通過日志數(shù)據(jù)之間的關(guān)系,映射定位攻擊源?包括攻擊IP、攻擊者和攻擊類型。
(5)在初步確定事件發(fā)生的時間、位置和內(nèi)容后,通過分析受害資產(chǎn)與內(nèi)網(wǎng)流量,能否在一定程度上還原攻擊路徑與攻擊手法?
對上述問題進(jìn)行總結(jié)后給出系統(tǒng)需要完成的任務(wù):
(T1)企業(yè)內(nèi)部資產(chǎn)的特征識別和負(fù)載分析。分析安全日志數(shù)據(jù)中存在的異常事件,首先探索公司內(nèi)部的網(wǎng)絡(luò)結(jié)構(gòu)特征,結(jié)合工作時段與非工作時段服務(wù)器訪問量、主機通信頻峰等的變化情況,分析企業(yè)資產(chǎn)負(fù)載。
(T2)支持分析和提取可疑用戶的行為特征。不同類型的用戶在操作記錄中的差別很大,橫向?qū)Ρ饶稠椫笜?biāo)的分布情況,可初步確定異常用戶。
(T3)攻擊事件還原。確定攻擊事件發(fā)生的時間、位置、內(nèi)容、攻擊源,找到各數(shù)據(jù)指標(biāo)之間的潛在關(guān)系、還原網(wǎng)絡(luò)攻擊場景。
為便于從網(wǎng)絡(luò)的整體分析中探索網(wǎng)絡(luò)流、協(xié)議等可能存在的安全事件,確定各可疑操作具體的時間節(jié)點與操作用戶,判斷其在空間、時間、人員往來上的關(guān)系,設(shè)計并實現(xiàn)了以下可視表征方式。
2.4.1 基于故事線的用戶操作可視化表征方式
Timeline 圖給出了用戶操作的時間維度分布概覽。以豎軸為參考線,通過增加圓角矩形的方式,記錄用戶在系統(tǒng)中選中的協(xié)議名稱和IP 地址。用灰度編碼區(qū)分用戶選中的節(jié)點類型,將協(xié)議所在的圓角矩形放置在參考線的左側(cè),將IP 所在的圓角矩形編碼放置在參考線的右側(cè),便于用戶快速準(zhǔn)確定位操作記錄。
2.4.2 用戶行為特征可視化
為實現(xiàn)對用戶行為特征的提取,用密碼氣泡圖呈現(xiàn)數(shù)據(jù)庫用戶的密碼修改頻次。密碼氣泡圖以時間為橫軸、用戶為縱軸,氣泡半徑與密碼修改頻次呈正比。根據(jù)密碼氣泡圖的波動情況,通過橫向?qū)Ρ攘私猱?dāng)日不同時間段用戶的密碼修改狀況,初步確定可疑用戶。
為研究用戶在數(shù)據(jù)庫中的詳細(xì)操作和了解其在流量方面是否存在可疑的行為模式,引入了詞云圖和流量折線圖,輔助對可疑用戶的篩選。詞云圖呈現(xiàn)該可疑用戶在當(dāng)日數(shù)據(jù)庫中的結(jié)構(gòu)化查詢語言(structured query language,SQL)操作,用字體大小編碼該詞在日志記錄中的出現(xiàn)頻次,增強用戶對SQL 高頻詞匯的視覺感知。根據(jù)流量折線圖的波動情況,探查某用戶的流量數(shù)據(jù)隨時間的變化規(guī)律,幫助發(fā)現(xiàn)和定位一些離群的異常時間節(jié)點,如嚴(yán)重偏離均值的時間節(jié)點,再對這些異常時間節(jié)點進(jìn)行特殊分析。
2.4.3 通信流量可視化
除用戶在數(shù)據(jù)庫中的操作外,不同協(xié)議下的網(wǎng)絡(luò)通信流、IP 對之間的通信頻次、上下行流量包等統(tǒng)計信息對于異常行為的研究同樣具有價值。Sankey 圖可呈現(xiàn)數(shù)據(jù)流動的特點,用其表示流量之間的通信關(guān)系。當(dāng)用戶在PBNLD 中選擇某一協(xié)議后,呈現(xiàn)該協(xié)議下高頻通信的前20 個IP 對,Sankey圖中的節(jié)點表示各主機的IP 地址,邊的寬度與主機之間的通信流量呈正比。
與工作時段相比,非工作時段IP 對的通信頻次和流量數(shù)據(jù)包的大小差異很大。為探索流量數(shù)據(jù)與時間的關(guān)系,當(dāng)用戶在PBNLD 中選擇某一協(xié)議后,用帶有縮放滾動條的流量雙折線圖對該協(xié)議在某日24 h 內(nèi)的上、下行流量包進(jìn)行可視呈現(xiàn)。橫軸為時間,時間間隔為5 min。雙側(cè)縱軸Y1,Y2 均表示流量數(shù)值,上側(cè)折線圖為下行流量走勢,下側(cè)折線圖為上行流量走勢。
對網(wǎng)絡(luò)進(jìn)行行為分析時,不僅要挖掘網(wǎng)絡(luò)流量的表面特征和用戶傾向性行為的單次活動,還應(yīng)加強對內(nèi)部特征和多類事件在空間、時間上的關(guān)聯(lián)性的挖掘[19]。為有效呈現(xiàn)網(wǎng)絡(luò)行為的變化特征,輔助攻擊事件的回溯,本文提供了3 種主要的交互手段:
(1)拓?fù)浣Y(jié)構(gòu)定位與查詢。在PBNLD 視圖中,通過點擊目標(biāo)協(xié)議節(jié)點,過濾得到針對該協(xié)議的主機行為關(guān)系聚類圖。在輔助分析的可視圖中,雙擊某節(jié)點即可在主機行為關(guān)系聚類圖中通過標(biāo)紅的方式呈現(xiàn)該節(jié)點的位置結(jié)構(gòu)信息(圖3)。
圖3 基于主機行為關(guān)系聚類圖的交互操作Fig.3 Interactive operation of behavioral relationship diagram based on host clustering
(2)基于Timeline 的操作記錄回溯。系統(tǒng)中用戶所有的點擊操作都將記錄在Timeline 圖中。當(dāng)用戶新選中的IP 地址與上一IP 地址所屬協(xié)議類型不同時,系統(tǒng)首先在豎軸上自動補全當(dāng)前IP 地址所屬的協(xié)議節(jié)點,再添加IP 地址節(jié)點,輔助規(guī)范記錄。同時,當(dāng)用戶選中Timeline 圖中任意一個節(jié)點時,系統(tǒng)高亮該節(jié)點在其他視圖中的分布,實現(xiàn)對用戶操作的回溯。
(3)多視圖協(xié)同關(guān)聯(lián)。多視圖協(xié)同交互可有效幫助完成分析任務(wù)。借助PBNLD 與嵌套餅圖,有效識別企業(yè)內(nèi)部網(wǎng)絡(luò)資產(chǎn);借助密碼氣泡圖、Timeline 圖與詞云圖,聚焦企業(yè)內(nèi)部異常員工,提取用戶行為畫像;借助主機聚類圖、PBNLD、上下行流量圖與Sankey 等共同確定可疑主機,探索網(wǎng)絡(luò)流量中的異常行為。
本文使用的網(wǎng)絡(luò)日志數(shù)據(jù)集來自某高新技術(shù)企業(yè)公司,該公司內(nèi)部重要系統(tǒng)被攻擊,導(dǎo)致重要數(shù)據(jù)泄漏。日志數(shù)據(jù)跨度共14 d,主要包含3 種類型:(1)tcpflow 日志。該日志為傳輸層的數(shù)據(jù)傳輸記錄,包含生成時間、使用協(xié)議、目的端口和上下行數(shù)據(jù)包的字節(jié)數(shù)等。(2)db 日志。MYSQL 數(shù)據(jù)庫日志包含記錄的生成時間、客戶端IP 地址、目標(biāo)地址和用戶的SQL 語句操作。(3)login 日志。記錄FTP、SMTP、POP、SMB 和數(shù)據(jù)庫中用戶登錄情況,包含用戶登錄名、用戶狀態(tài)(主要包括登錄成功、登錄失敗、密碼錯誤、密碼修改成功等)和用戶經(jīng)過加密后的登錄密碼。
基于以上分析,提出了基于SEMMA 的網(wǎng)絡(luò)安全事件可視探索系統(tǒng)(圖4),用多視圖可視化企業(yè)主機通信、行為聚類與行為特征信息,通過不同視圖間的聯(lián)動進(jìn)行異常和變化規(guī)律分析,系統(tǒng)主要提供3 類可視分析功能:
圖4 系統(tǒng)界面概覽Fig.4 System interface
(1)基于網(wǎng)絡(luò)通信和企業(yè)資產(chǎn)分類的可視化(T1),PBNLD 可直觀呈現(xiàn)某日網(wǎng)絡(luò)協(xié)議的使用情況及通信流走向,利用模糊C 均值算法度量主機之間的關(guān)聯(lián)特征,根據(jù)差異分布指導(dǎo)主機的行為聚類,幫助挖掘企業(yè)內(nèi)部網(wǎng)絡(luò)結(jié)構(gòu)特征。
(2)基于login 日志和db 日志的用戶特征提取可視化(T2),其中密碼氣泡圖描述用戶密碼修改頻次,詞云圖描述用戶常用的SQL 操作,折線圖描述該用戶的上/下行流量數(shù)據(jù)的規(guī)模與時間的關(guān)系,三者聯(lián)合可直觀地提取用戶行為,有效描述用戶行為畫像。
(3)基于流量數(shù)據(jù)的異常分析可視化(T2,T3),綜合考慮流量數(shù)據(jù)分析結(jié)果與其他數(shù)據(jù)的關(guān)聯(lián)關(guān)系,引導(dǎo)用戶關(guān)注和追蹤異常的可視化結(jié)果,進(jìn)而實現(xiàn)攻擊事件回溯。
分析多源日志數(shù)據(jù)中可能存在的異常安全事件,首先提取網(wǎng)絡(luò)結(jié)構(gòu)特征,識別并對企業(yè)資產(chǎn)進(jìn)行分類。本文結(jié)合嵌套餅圖和基于模糊C 均值的主機聚類識別網(wǎng)絡(luò)資產(chǎn)(圖5),初步提取以下特征:
圖5 某企業(yè)網(wǎng)絡(luò)資產(chǎn)結(jié)構(gòu)Fig.5 Network asset structure of an enterprise
(1)在PBNLD 中,發(fā)現(xiàn)該企業(yè)通信協(xié)議中包含HTTP、MYSQL、REDIS 與FTP,即該企業(yè)內(nèi)部網(wǎng)絡(luò)資產(chǎn)中除常用的工作組服務(wù)器外,可能還包括FTP 文件服務(wù)器、MYSQL 數(shù)據(jù)庫服務(wù)器、REDIS存儲數(shù)據(jù)服務(wù)器。
(2)在對網(wǎng)絡(luò)資產(chǎn)進(jìn)行分類時,以HTTP 協(xié)議為例,分別從源IP 與目標(biāo)IP 兩方面統(tǒng)計網(wǎng)絡(luò)通信量最大的前5 個網(wǎng)段。
企業(yè)客戶端通信量最大的前5 個網(wǎng)段分別為10.49,10.56,10.60,10.54,10.65,目標(biāo)網(wǎng)段訪問量最大的前5 個網(wǎng)段分別為10.49,10.24,220.181,180.149,10.39。即公司業(yè)務(wù)均在內(nèi)網(wǎng)進(jìn)行,其中10.49 網(wǎng)段最為活躍,初步判斷該網(wǎng)段運行公司關(guān)鍵業(yè)務(wù)。
(3)在目標(biāo)網(wǎng)段中,220.181 與180.149 網(wǎng)段分別為公網(wǎng)C 類地址和公網(wǎng)B 類地址,其余均為內(nèi)部網(wǎng)段,可合理判斷公司內(nèi)部網(wǎng)絡(luò)通過上述2 個網(wǎng)段連接至互聯(lián)網(wǎng),即220.181 與180.149 為該公司路由器IP 地址范圍。
監(jiān)測異?;钴S主機及數(shù)據(jù)庫訪問量的變化情況,可輔助聚焦企業(yè)內(nèi)部異常員工,確定用戶行為模式,描繪用戶行為畫像。按照本文提出的網(wǎng)絡(luò)安全事件分析模型,在點擊PBNLD 中的MYSQL 協(xié)議節(jié)點后,得到針對MYSQL 協(xié)議的各類可視圖,輔助特征探索。按照4W1H 原則,初步提取以下特征:
(1)借助密碼氣泡圖,可發(fā)現(xiàn)在6 月10 日00:00,用戶jxd_gdxj的數(shù)據(jù)庫密碼有反常的高頻修改行為,在1 h 內(nèi),共修改1 627 次;
(2)在Timeline 視圖記錄該用戶并回溯至PBNLD 的高亮關(guān)系中可看出,當(dāng)日該用戶僅與數(shù)據(jù)庫服務(wù)器存在數(shù)據(jù)交流;
(3)借助詞云圖呈現(xiàn)該用戶的SQL 操作,確定該用戶高頻使用“set”“select”“autocommit”等語句對數(shù)據(jù)庫中“cars7295”表單進(jìn)行查詢修改操作;
(4)通過監(jiān)控該用戶的上、下行流量發(fā)現(xiàn),該主機在當(dāng)日凌晨01:25,上、下行流量各出現(xiàn)一次激增。
綜上所述,可初步得到員工jxd_gdxj 的行為畫像。jxd_gdxj 可能是一名具有高權(quán)限的數(shù)據(jù)庫管理員,其在企業(yè)內(nèi)網(wǎng)的IP 地址為10.56.92.187。6 月10日00:00,其數(shù)據(jù)庫登錄密碼遭到攻擊者的暴力破解,并在01:25之前破解成功。攻擊者利用jxd_gdxj的數(shù)據(jù)庫權(quán)限不斷查詢IP 地址為10.24.249.104 的企業(yè)數(shù)據(jù)庫內(nèi)部含敏文件,并在01:25—01:35 成功下載至本地。攻擊者還利用該用戶的寫權(quán)限,成功上傳“后門”文件,以達(dá)到日后繞過系統(tǒng)安全設(shè)置,直接獲取對數(shù)據(jù)庫的訪問權(quán)限的目的。6 月10 日與該數(shù)據(jù)庫通信的IP 地址還有10.49.21.15和10.56.92.125,通信頻數(shù)分別為7 和14,與企業(yè)內(nèi)部的正常訪問頻次相符,排除被攻擊的可能。分析過程見圖6。
圖6 基于用戶的異常行為探索Fig.6 User-based exploration of abnormal behavior
拒絕服務(wù)攻擊和惡意代碼擴散,在流量方面體現(xiàn)出一對一、一對多等特征,造成流量異常。監(jiān)控網(wǎng)絡(luò)流量可幫助管理員快速、準(zhǔn)確地發(fā)現(xiàn)網(wǎng)絡(luò)攻擊,并對攻擊類型進(jìn)行分類。在對比分析PBNLD 中的HTTP 協(xié)議節(jié)點后發(fā)現(xiàn),企業(yè)日常數(shù)據(jù)流量具有相似性。按照分析模型中的4W1H 原則,初步提取了以下特征:
(1)6 月10 日20:50—22:50,通過服務(wù)器負(fù)載監(jiān)控視圖,發(fā)現(xiàn) web 服務(wù)器 10.24.64.118,10.24.172.153,10.49.253.53 與10.49.17.199 負(fù)載激增。此時段上述服務(wù)器均宕機,通信頻次和通信總量均為0。
(2)利用Timeline 視圖記錄與發(fā)生宕機的服務(wù)器地址通信的主機IP 地址并回溯于系統(tǒng)各個視圖中,確定嫌疑主機,包括10.49.137.7,10.56.131.163,10.49.253.35 等。
(3)以10.49.137.7 為例,借助基于流量的雙折線圖和Sankey 圖的協(xié)同交互,在6 月10 日、6 月11日、6 月13 日晚,發(fā)現(xiàn)IP 地址為10.49.137.7 的嫌疑主機上、下行流量走勢呈規(guī)律性變化,持續(xù)向某服務(wù)器發(fā)送相同大小的數(shù)據(jù)包并下載某文件。
根據(jù)上述特征,初步判定攻擊者可能對公司服務(wù)器實施了DDOS 攻擊,使其對外拒絕服務(wù),業(yè)務(wù)無法正常運作,即企業(yè)內(nèi)部IP 地址為10.49.137.7,10.56.131.163,10.49.253.35 的主機因3389 端口開放,感染木馬病毒或存留有后門程序,被攻擊者一對多或多對多遠(yuǎn)程控制,集體制造高流量無用數(shù)據(jù),消耗公司對內(nèi)業(yè)務(wù)的web 服務(wù)器,致使其網(wǎng)絡(luò)癱瘓,服務(wù)器系統(tǒng)崩潰,發(fā)生宕機。分析過程見圖7。
圖7 基于網(wǎng)絡(luò)流量的異常行為探索Fig.7 Traffic-based exploration of abnormal behavior
為進(jìn)一步評估本文工作,招募了20 名相關(guān)領(lǐng)域?qū)<易鳛橹驹刚?,年齡在18~50 歲,13 名男性、7 名女性。其中,有9 位志愿者的研究領(lǐng)域為數(shù)據(jù)可視化,對可視化十分熟悉;有6 名志愿者的研究領(lǐng)域為信息安全,他們均了解并使用過靜態(tài)可視化圖表;另外5 名志愿者的研究領(lǐng)域為網(wǎng)絡(luò)安全可視化,使用過網(wǎng)絡(luò)安全數(shù)據(jù)并在相關(guān)領(lǐng)域有一定成就。20 名志愿者首先通過15 min 的系統(tǒng)操作了解視圖內(nèi)容和視圖間的交互操作,然后根據(jù)任務(wù)要求操作并回答問題。表1 為用戶實驗的3 個任務(wù)。
表1 用戶實驗任務(wù)Table 1 User experiment tasks
第1 和第2 個用戶實驗任務(wù)是測試本系統(tǒng)能否有效挖掘異常流量事件與發(fā)現(xiàn)異常用戶,第3 個用戶實驗任務(wù)是測試本系統(tǒng)可視視圖設(shè)計的合理性。實驗任務(wù)完成率見圖8。
圖8 實驗任務(wù)完成率對比Fig.8 Comparison of experiment task completion rates
從統(tǒng)計結(jié)果看,在任務(wù)1 中,絕大部分用戶都可從異常流量的可視分析界面中得到一致的選擇。所有用戶均認(rèn)為6 月10 日服務(wù)器存在異常變化,62%的用戶成功得到正確的可疑主機10.24.64.118,10.24.172.153 與10.49.253.53,只有2 位選擇了10.49.117.56 和10.56.21.106。在對系統(tǒng)的改進(jìn)建議中,有超過20%的用戶提出PBNLD 中協(xié)議節(jié)點簇存在點重疊問題,建議添加放大功能或使用列表呈現(xiàn)所有的節(jié)點,“雖然系統(tǒng)對每個協(xié)議下通信量最大的前20 個IP 對做了可視呈現(xiàn),規(guī)劃了值得關(guān)注的IP 范圍,但希望能更容易地在PBNLD 中選中IP地址”(5 名數(shù)據(jù)可視化專家)。
在任務(wù)2 中,80%的用戶認(rèn)為值得懷疑的3 名可疑員工為jxd_gdxj、lss6 和uyhrnf,jxd_gdxj 以輕微優(yōu)勢超過另外兩位。部分用戶被誤導(dǎo)主要是其只關(guān)注了當(dāng)前數(shù)值的大小,未考慮異常行為的變化?!坝械闹鳈C或用戶可能平常通信量很少,但是在某日出現(xiàn)激增是值得懷疑的。單純由通信總量確定嫌疑范圍可能會忽略值得注意的部分”(3 名信息安全專家)。證明本系統(tǒng)需要在交互過程中更好地引導(dǎo)用戶關(guān)注行為變化和操作內(nèi)容,有待進(jìn)一步改進(jìn)。
在任務(wù)3 中,90%的用戶對安全事件的回溯正確率達(dá)60% 以上。這些高正確率用戶均認(rèn)為PBNLD 和Timeline 是最先注意到的圖表,對分析任務(wù)很有幫助,認(rèn)為PBNLD 可以幫助識別當(dāng)日網(wǎng)絡(luò)通信中協(xié)議的占比。Timeline 則可當(dāng)作記錄板,幫助回溯之前的操作記錄。4 名網(wǎng)絡(luò)安全可視化專家認(rèn)為,PBNLD 有效構(gòu)建了通信結(jié)構(gòu)網(wǎng),可對通信節(jié)點迅速分類,“PBNLD 的渲染速度很快,在選擇日期后幾乎一瞬間就加載好了。傳統(tǒng)的網(wǎng)絡(luò)關(guān)系圖很久才穩(wěn)定下來,PBNLD 在這方面很有優(yōu)勢”?!爱?dāng)看到Timeline 的操作記錄時,就像有了一個更大的視角,可能會想‘原來我點擊過這些IP 地址’,不用記住每個IP 地址,要知道記住很多無規(guī)律的數(shù)字很麻煩”?!癟imeline 的自動補全協(xié)議和視圖回溯功能很棒,可防止IP 地址協(xié)議的混亂,也有助于看到某個IP 地址在整體網(wǎng)絡(luò)通信中的位置”(2 名信息安全專家)。
引入了數(shù)據(jù)挖掘中經(jīng)典的SEMMA 分析范式,提出了一個通用的安全分析模型和一套規(guī)范監(jiān)測、提取異常事件的分析思路,設(shè)計并實現(xiàn)了基于SEMMA 的網(wǎng)絡(luò)安全事件可視探索系統(tǒng),結(jié)合模糊C 均值算法量化主機行為,識別網(wǎng)絡(luò)資產(chǎn)結(jié)構(gòu),并用PBNLD 構(gòu)建通信模型,實現(xiàn)對較大規(guī)模通信節(jié)點的分析。從結(jié)果看,用多維度衡量安全特征之間的關(guān)系,有效構(gòu)建了企業(yè)內(nèi)部網(wǎng)絡(luò)資產(chǎn)結(jié)構(gòu)。
結(jié)合用戶評估,后續(xù)將在以下兩個方面做進(jìn)一下改善:(1)完善PBNLD 通信模型,考慮將PBNLD中的通信鏈路與通信頻次或通信量綁定,更好地呈現(xiàn)節(jié)點簇中所有的IP 節(jié)點。(2)在研究中加入機器學(xué)習(xí),采用無監(jiān)督學(xué)習(xí)的方式,使得安全特征的提取和異常事件的定位更加智能化,并允許分析人員在特征選擇過程中進(jìn)行實時交互。