摘 要: 介紹了數據挖掘的定義,分析了日志數據面臨的挑戰及對其進行挖掘的原因。討論了日志數據挖掘的需求,歸納了對日志數據挖掘的具體內容,總結了日志數據挖掘的具體應用。該研究對加強企事業單位計算機信息系統安全具有較強的指導意義。
關鍵詞: 日志;數據挖掘;機理;分析;研究
0 引言
所謂數據挖掘(也叫知識發現[1]),是指發現大量數據中有趣及有用模式和關系的過程,該領域結合了統計、人工智能和數據庫管理等知識,以方便對大數據進行分析。該定義可從如下4個方面進行理解:(1)數據挖掘處理的數據量非常大;(2)這些數據在計算機系統上以機器可讀的格式存在,是結構化的數據;(3)利用數據可能會得出一些有用的結論,也可能無法得出結論;(4)要想獲得一些有用的結論,需對數據進行搜索或者分析。
對日志數據進行數據挖掘的目的[2]有兩個:(1)改進日志分析的質量,提供更好的結論和預測能力;(2)提出不需要少有且昂貴的專業知識的高級和有效方法。通過對日志數據進行數據挖掘和其他高級自動化分析方法,可將大部分分析的負擔轉移到軟件和自動化系統上,遠離具備超常技能的分析人員。這樣的分析在過程的早期階段是重要的。在這種情況下,可定義數據挖掘過程的細節,然后讓技能水平較低的操作人員運行算法,并對結果采取行動,而不會降低效率。
1 日志數據面臨的挑戰
在理想的狀況下,大都希望減少人為工作量,提升自動化系統在日志分析中的重要性。而對日志進行數據挖掘[3]就是一種有效的方法,但日志分析會面臨如下挑戰。(1)數據過多:日志數據的體積很大,超出了分析系統和分析人員的能力,從而摧毀了獲得結論的可能性。確實,日志可能達到數GB,并擴大到數TB,因而就需要選擇專門工具來應對這種“洪泛”。(2)數據不足:因為各種不同的原因,數據的關鍵部分易缺失,從而使日志分析超出了應有的難度。(3)記錄各種各樣:需要分析太多不同和不相似的日志來源,才能得出真相。這個問題是因為缺乏統一的審計標準,大部分應用程序的日志都采用創建者開發的格式,從而導致大量分析上的挑戰。(4)數據重復:不同的日志引用相同事件,沒有任何指示。這種情況往往因為不同日志源缺乏時間同步而變得更加復雜。
2 對日志進行數據挖掘的原因
雖然現已有很多技術可應對日志數據的挑戰,但仍需對日志進行數據挖掘,其原因如下:(1)通過啟用更多類似人類的模式識別,只需要在分析的早期階段具備較高的專業知識,從而減少對高技能分析人員的依賴。(2)處理其他較為常規的方法,但對稀疏數據無法進行有效分析。(3)檢測其他無法發現的事實,日志數據挖掘能夠提高檢測入侵痕跡的效率。(4)將結論生成的負擔轉移到機器上,這樣,目前僅能由人類完成的任務也可實現自動化。可根據結論采取的行動,從而避免為了解所發生的情況而絞盡腦汁。(5)嘗試預測問題,而不是尋找處理已發生情況的方法。雖然數據挖掘不提供對這類預測的保證,但確實比其他方法更接近目標。
3 日志數據挖掘的需求分析
日志數據挖掘的許多需求與重要的日志分析一樣,但有些附加因素可能會使日志數據更適合于挖掘,或將可選需求轉變為強制性需求。
3.1 數據集中化
對于過濾和總結等常規日志分析來說,只關注一個位置是很好的,而對于日志挖掘這一點變得很關鍵,因為挖掘算法比任何分析人員處理的數據都要多得多。
3.2 規范化
如上所述,查看集中化的不同數據源需要統一的信息格式,這種格式并不是真正的標準,只是表現日志數據的統一方式。
3.3 關系存儲
關系數據存儲是不可缺少的。但是如果只進行監督的分析和過濾,那這樣做就沒有什么價值。這種規范化可通過搜索日志中的公共字段實現。常見的字段包括:時間、來源、目標、協議、端口、用戶名、事件/攻擊類型、交換字節數等。因此,規范化和集中化數據可能受制于日志數據挖掘算法。現在,應做好準備研究應用數據挖掘所要尋找的內容。
4 對日志數據挖掘什么
數據挖掘方法在不確定所需搜索內容時最有用。如何找到有趣的信息?系統管理員和安全分析人員覺得有趣和有幫助的信息有如下6種。
4.1 受感染的系統傳播惡意軟件
在許多情況下很明顯,每個安全管理員對受感染后在企業范圍甚至互聯網范圍內傳播的系統都有著很大的興趣。盡管有防病毒軟件和其他專用解決方案,日志挖掘在跟蹤這種危害性極大的系統方面已經被證明很有價值。
4.2 遭到入侵的系統
每個獲得認證的安全專家都應該對了解攻擊者或惡意軟件已經接管網絡中的一個或者多個系統感興趣。
4.3 成功的攻擊
如果攻擊者剛剛成功地在你的系統上打開缺口,婉轉地說,知道這一點可能“有趣”;雖然這與前一條相關,但是它通常指的是攻擊的早期階段,這時,攻擊從嘗試發展為成熟的入侵和對系統的利用。
4.4 內部人員違規使用和知識產權竊取
懷有惡意的黑客和蠕蟲出盡了風頭,而內部網絡違規使用相比之下似乎顯得簡單。但是,內部人員擁有這一王國的所有鑰匙,可能造成更加嚴重的破壞。更糟糕的是,檢測他們的攻擊比檢測普通的惡意軟件困難得多。
4.5 隱蔽通道/隱藏后門通信
除非“精于此道”,否則網絡中可能不會常用到隱蔽通道;因此,網絡安全管理人員很可能對了解這一情況很感興趣。
4.6 探查增加
雖然大部分敏感的政府網絡現在只將互聯網探查活動視為噪聲,但如果在日志中反映出這類活動增加,可看作是攻擊的前兆,因而也是有趣的。
雖然“拒絕服務檢測”總是遭到嘲笑,從某種意義上來說,這種檢測是通過注意到恰好沒有任何服務來進行的,但是系統管理員可能并沒有監控所有系統的正常運行,這就是系統崩潰的主要原因。
以上列舉了一些希望通過挖掘日志發現的有趣事實。對計算機而言,“有趣”的準則很難定義,但用日志數據挖掘可做到,其典型應用如下。
(1)探查:網絡探查和掃描總是在發生,用戶越來越能預料到它們。用戶應該了解探查,但是不可能花費資源去尋找它們。與此同時,這類探查數量上的變化更可能成為有趣的信息。
(2)如果安全架構很穩固,就能夠預期到失敗的攻擊;這些攻擊的發生有各種原因。與探查類似,用戶應該了解它們,但是不會花費資源去尋找它們。
(3)正常消息:日志充滿了表明某些例行過程完成和其他完全正常的事件的消息,這些記錄是用于審計和其他目的的,它們明顯不出人意料,信息安全管理者也不會去挖掘它們。但是,變化仍然很重要。常規的消息停止出現,或者開始表現出較高或者較低的頻率,這可能令人感興趣。
(4)被阻止的攻擊:這與失敗的攻擊類似,如果用戶的安全措施阻止了攻擊,即使這種攻擊是沒有想到的有趣攻擊,也不需要立刻采取行動。
(5)系統狀態更新:類似于正常事件,這些事件無法訴諸行動。同時,系統狀態更新在某些不尋常的時候發生可能很令人感興趣。
5 日志數據挖掘的具體應用
日志數據挖掘主要有如下9個方面的應用[4]。
(1)罕見的事物:由于某種原因,這并不常發生。如果發現以前沒有發生過的事件,它很可能是惡意的。因此,罕見事件是挖掘的主要候選。罕見的攻擊、罕見的系統消息以及幾乎從不登錄的用戶,都是值得檢測的。
(2)不同的事物:雖然不提倡“日志恐懼癥”,但是應該注意和以往不同的事物。這是數據挖掘的基本方法起作用的地方。
(3)不相稱的事物:雖然與上一類緊密相關,但表現得“不相稱”的日志記錄必須加以挖掘,因為它們可能包含有趣的信息。
(4)古怪的事物:如果某些事物顯得古怪,可能是出現麻煩的象征。這與上面兩個類別有微妙的差別。要了解古怪的事情,如DNS系統連接到packetstorm.com,自動下載攻擊工具,不需要任何基線和預先的數據收集工作。
(5)向不尋常的方法發展的事物:分析人員和管理員可能發現,有些日志記錄完全改變了正常的通信方向。正如上例中所看到的,到服務器的連接完全合法,即使使用的是無害的端口,如TCP端口80,服務器向外連接也應該引起重視。
(6)最常見的事物:雖然屬于總結和報告的范疇,嚴格說不屬于數據挖掘,但是“x大事件”對于尋找有趣的日志記錄及其模式仍然有用。畢竟,如果排名有所上升,例如傳輸帶寬最主要用途,它仍然是有趣的。
(7)最不常見的事物:類似于罕見事務,簡單地說,“發生次數最少的事情”,這是“x大事件”的“邪惡姐妹”,甚至比前者更有用。最不吸引人的系統往往成為未來攻擊和破壞的跳板。
(8)無趣事物的奇怪組合:這粗略地遵循下面的公式:“善”+“善”=“邪惡”。是的,一組完全正常的日志記錄也可能組成危險的事件。最簡單的實例是端口掃描,它看上去只是一組往往數量很大但無害的連接請求。
(9)其他無趣事物的統計:某些無趣事物的計數可能令人感興趣。而且,這種計數的變化往往更加重要。ICMP“ping”數據包的突然增多可能意味著拒絕服務,尤其是這種ICMP洪泛在沒有預警的情況下突然發生時。
以下列舉一個典型應用來說明。假設發現了一個黑客事故,該事故涉及漏洞掃描器的授權使用。大部分公司都部署網絡IDS,但是許多公司并不理解采購這些設備的價值。這種情況發生的原因包括日志中的大量假陽性,它們削弱了人們對這些系統的信任。基于特征的系統為了實現NIDS的價值,可以使用日志挖掘方法,旨在從常規的噪聲和假警告中標記出真正的攻擊。注意,在這種情況下可能并不知道攻擊是否成功,只要了解攻擊者的存在和重點,并將攻擊與錯誤觸發IDS的無害事件區分開來即可。
當網絡基礎設施組件[5]或者被誤用的檢測系統記錄合法連接時,它們通常會在日志中生成少數特殊的事件類型。例如,通過防火墻的連接生成一個連接消息。即使掃描防火墻也可能為每個連接會話生成一個事件,以及一個用于整個掃描的事件類型。類似地,“假陽性”通常不與同一批主機之間的其他可疑活動相關,例如偵察性掃描或者其他攻擊。相反,假警告更可能會發生或者以大量互不相關的同類日志記錄類型的形式出現。這里,所指的“會話”是如下要素的獨特組合:源、目標、協議、源端口和目標端口。
因此,如果按照會話組織數據庫中收集的事件,并記錄每個會話中特殊事件的數量,往往與攻擊類型的數據相同,就有辦法區分真正的攻擊和合法流量及假警報。這種日志挖掘方法使用一種通用模式,以獲得潛在破壞性攻擊的證據及結果,但不能找出攻擊成功的標志,只是對其真假進行鑒定。
6 結論
數據挖掘對日志分析非常實用,日志數據挖掘[6]是審核日志數據的一種新穎方法,在實際工作中非常有效。許多日志類型可從某種挖掘中獲得更有用的結果。雖然數據挖掘是一個復雜的領域,但針對日志進行的數據挖掘并不十分困難,可在許多環境中實現。尤其在需要高技能分析人員和很長時間的常見分析無效時,日志數據挖掘能夠提供更多幫助。其對企事業單位加強其網站的信息安全[7]會具有很大的幫助。
參考文獻
[1] 池云.Android平臺安全機制探析[J].微型機與應用,2015,33(4):1-3.
[2] 石杰.云計算環境下的數據挖掘應用[J].微型機與應用,2015,33(5):13-15.
[3] 李玲.Web日志數據挖掘的個性化推薦系統的探析[J].科技風,2014(18):45.
[4] 柳勝國.網絡輿情中的具有影響力個體信息發現與WEB日志數據挖掘預處理技術[J].價值工程,2012(16):186-187.
[5] 張玲.淺析WEB日志數據挖掘技術[J].今日科苑,2009(17):106.
[6] 朱紅祥.基于Web日志數據挖掘的電子商務推薦系統[J].商場現代化,2008(28):39-40.
[7] 李萬新.Web日志數據挖掘在服務器安全方面的應用[J].中山大學學報,2007(5):116-118.