張景文 上海交通大學(xué)網(wǎng)絡(luò)空間安全學(xué)院
本文研究的背景基于中小企業(yè)的背景特點(diǎn),即自身因素受到制約,服務(wù)器數(shù)量較多,并由于歷史原因,種類復(fù)雜,環(huán)境安全特征各異,并且維護(hù)和安全成本投入受限。在這種情況下,通常的安全防御軟硬件和安全策略往往捉襟見肘,對于能夠突破通常安全軟件或防護(hù)的攻擊行為,無力應(yīng)對。為了更好的應(yīng)對這些問題,從技術(shù)開發(fā)的角度提出了這個(gè)課題。
本系統(tǒng)的研究過程,主要通過對Web服務(wù)器上的Web日志、文件系統(tǒng)文件變更、系統(tǒng)安全日志、服務(wù)器流量數(shù)據(jù)包信息等數(shù)據(jù)進(jìn)行收集分析,并通過機(jī)器學(xué)習(xí)解決自動(dòng)化判斷問題。
為了應(yīng)對復(fù)雜環(huán)境,并建立統(tǒng)一分析和預(yù)警的基礎(chǔ)。系統(tǒng)本身分為服務(wù)器端和數(shù)據(jù)統(tǒng)計(jì)端。服務(wù)器端根據(jù)操作系統(tǒng)和版本的不同,可定制開發(fā),參數(shù)也可各不相同,但是收集規(guī)則以及整理清洗后的數(shù)據(jù)格式需要統(tǒng)一。對于統(tǒng)一分析端,則要借助機(jī)器學(xué)習(xí)的使用,來進(jìn)行可疑行為的定義和預(yù)警。
主要的工作流程是通過服務(wù)器端,收集信息,進(jìn)行數(shù)據(jù)清洗形成信息快照,將信息快照傳遞到統(tǒng)計(jì)分析端,通過分析后最終給出報(bào)警信息。主要研究進(jìn)展如下:
對于部署在服務(wù)器上的服務(wù)器端,檢測了流量數(shù)據(jù)包的信息,通過IP和端口的白名單過濾規(guī)則從中篩選出異常IP,通過web日志篩選注入漏洞等包含攻擊企圖的關(guān)鍵字,通過系統(tǒng)安全日志,結(jié)合工作時(shí)間范圍,定義異常的帳號(hào)訪問情況,通過監(jiān)測關(guān)鍵目錄的系統(tǒng)文件的變化,結(jié)合目錄名和文件名的白名單設(shè)置,來篩選非正常的文件創(chuàng)建或更新。這部分的關(guān)鍵問題在于數(shù)據(jù)維度選擇和準(zhǔn)確性。
信息快照的構(gòu)造問題。主要考慮保留數(shù)據(jù)特征的情況下,降低數(shù)據(jù)波動(dòng)對快照大小的影響,及減少資源消耗。所以對于數(shù)據(jù)流量包的信息和系統(tǒng)安全日志信息要進(jìn)行歸納統(tǒng)計(jì),對于其余兩個(gè)數(shù)據(jù)來源取關(guān)鍵字段。
為了滿足報(bào)警分析及機(jī)器學(xué)習(xí)的需要,主要考慮兩點(diǎn),一是流量數(shù)據(jù)包的信息,二是系統(tǒng)文件變化的信息。對于數(shù)據(jù)流量包的信息,先依據(jù)端口和IP白名單進(jìn)行過濾。對于過濾后的異常IP,結(jié)合捕獲的時(shí)間形成二維數(shù)據(jù)。為了機(jī)器學(xué)習(xí)的需要,將IP轉(zhuǎn)換為不帶分隔符的數(shù)字。方法可以采用轉(zhuǎn)換為32為二進(jìn)制代碼后,再轉(zhuǎn)換為10進(jìn)制數(shù)字,轉(zhuǎn)換后的IP地址參數(shù)和截獲的時(shí)間間隔中的起始時(shí)間,作為一組二維數(shù)據(jù)作為流量數(shù)據(jù)包的分析用數(shù)據(jù)。
對于系統(tǒng)文件變化的信息,同樣先依據(jù)目錄白名單獲取目錄中的文件變化,將文件名和所在目錄作為關(guān)鍵字段。按照首字母a-z,以每3個(gè)字母為分割,排序?yàn)?-9。然后將盤符,命名為順序整數(shù),例如C盤為1,D盤為2。轉(zhuǎn)換內(nèi)容包括盤符、目錄、后綴名。以此方法,任何目錄和文件都可轉(zhuǎn)換為整數(shù)帶小數(shù)部分,分布也將較有規(guī)律的分布在數(shù)個(gè)整數(shù)為單位,結(jié)合時(shí)間維度的二維空間中。例如:C:/windows/system32/perfc009.dat可以轉(zhuǎn)換為:1.8762。
當(dāng)數(shù)據(jù)來到統(tǒng)計(jì)分析端,首先利用機(jī)器學(xué)習(xí)的聚類算法(本文使用K-Means聚類算法),對信息快照中收集到的數(shù)據(jù)進(jìn)行聚類,在K-Means聚類數(shù)目參數(shù)的選擇上。以實(shí)際試驗(yàn)環(huán)境為主,需要積累數(shù)周的數(shù)據(jù),以天為單位,疊加后進(jìn)行分析。通過聚類形成的樣本集,通過人工辨識(shí)進(jìn)行標(biāo)注,之后可用于行為分類的訓(xùn)練集。通過機(jī)器學(xué)習(xí)的分類算法(本次研究使用NaiveBayes分類算法),可自動(dòng)將之后發(fā)生的行為數(shù)據(jù)自行分類判定,并給出相應(yīng)警示。
可疑行為的定義問題上。行為判斷框架分為兩層結(jié)構(gòu),基礎(chǔ)層提供二級警報(bào),來源是觸發(fā)單個(gè)信息源警報(bào)閥值的情況,記錄但不進(jìn)行實(shí)際提醒。一級警報(bào)將通過二級警報(bào)的數(shù)據(jù)進(jìn)行分析匯總。舉例如下:(數(shù)據(jù)來源的閥值參數(shù)X單項(xiàng)權(quán)重)累計(jì)總和=用于綜合閥值比較的參數(shù)。
目前,這個(gè)研究課題正在進(jìn)行中,從中期進(jìn)展來看,機(jī)器學(xué)習(xí)上的算法選擇和樣本集定義,主要依賴于之前相關(guān)課程研究中積累的經(jīng)驗(yàn)和實(shí)際工作中總結(jié)的經(jīng)驗(yàn)。機(jī)器學(xué)習(xí)的最終效果依賴于通過測試數(shù)據(jù)對參數(shù)和算法進(jìn)一步的調(diào)優(yōu)。數(shù)據(jù)收集和信息快照的構(gòu)成及傳輸則達(dá)到預(yù)期目標(biāo)。