王棟 張云龍 唐琨



摘要:本文通過介紹服務器日志的內涵、特點、用途以及當前日志分析方式的現狀和存在的問題,分析了常用系統日志分析方法的優缺點和存在問題,提出了一種基于KNN算法改進型文本挖掘方法,并以此為基礎設計了服務器日志安全預警系統架構,為服務器系統的安全監管提供了一種可行的解決方案。
Abstract: This paper introduces the connotation, characteristics, use of server logs, and the current status and problems of current log analysis methods. It analyzes the advantages and disadvantages and existing problems of common system log analysis methods, and proposes an improved text mining method based on KNN, and designs a server log security early warning system architecture is designed based on this, which provides a feasible solution for the security supervision of the server system.
關鍵詞:服務器日志;數據挖掘;KNN算法
Key words: server log;data mining;KNN algorithm
中圖分類號:TP274? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文獻標識碼:A? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文章編號:1006-4311(2020)02-0222-02
0? 引言
伴隨著計算機技術和互聯網的飛速發展,人們已經進入了一個信息量極為豐富、數據量極為海量的大數據時代。然而人們在享受大數據帶來的各種便利的同時,信息安全事件也越來越多,如何預防和阻止安全事件的發生變得尤其重要。日志用于記錄系統日常運行的狀態,檢查發生錯誤、入侵時的線索,可以有效實時的防止安全事件的發生,因此,利用日志來進行系統安全分析是目前計算機科學的一個重要研究方向。
1? 日志分析現狀
系統日志信息安全審計想法是由Anderson在1980年提出的,他指出在入侵發生時,向安全管理員提供已經冗余過濾的信息以達到查找漏洞及相關責任人的目的[1]。目前在國際上已經有通過基于機器學習能力的數據挖掘技術來進行日志分析研究的方式。國內在該方面的研究以國家自然科學基金會首次支持日志安全審計的研究為標志于上世紀90年代初期開始,其主要通過高校課題研究而展開。
1.1 日志分析存在的問題? 由于服務器將所有的系統事件都記錄在日志中,這些事件包括系統異常、登陸注銷、用戶審計、硬件變動、應用改變、網絡狀況、系統更新等,致使日志的數據量巨大。系統對日志的存儲時間依賴于系統存儲劃分空間的大小,且由于日志的權限歸屬問題導致日志文件內容易被修改、保存時間不確定、誤刪除概率大。系統無法對日志進行安全有效的保護。目前的分析方法只對日志進行收集和關建字或類別的篩選,然后將選出結果進行字面意思的分析。這只是對表面所描述的問題進行分析,并且分析方法單一化,缺少整合式的分析,致使日志間隱藏關系難以發現,出現信息匱乏現象。
1.2 日志數據挖掘存在的難點? 服務器日志將服務器操作系統中的所有事件都進行記錄,如何對這些記錄進行合理的利用,得到其內在的聯系和規律,并為系統的安全、應用程序、系統硬件等方面應用這些信息是大數據時代數據處理技術的一個重要研究方向。數據挖掘就是從大量的數據中發現隱含的規律性的內容,解決數據的應用質量問題[2]。對服務器日志數據而言,形式上為描述性質的文本格式,類別為已知有限的類別,主要的價值信息存在于文本內容當中。傳統的數據庫多為關系型類別,其中數據結構性規范,易于計算機識別處理。因服務器操作系統版本各異導致系統日志結構不同的文本數據為非結構化數據,難以進行直接分析。如何處理異構的非結構化日志數據是日志數據挖掘的重點和難點[3]。
2? 數據挖掘技術簡介
數據挖掘可以看做信息技術自然進化的結果。數據庫和數據管理產業在一些關建功能的開發上不斷推進,以數據收集和數據庫創建為基礎傳統的數據管理技術被不斷地研究和應用,數據存儲、檢索以及查詢和事務處理的商業應用遍地開花。隨著大數據時代的到來推進數據處理技術發展到新的高級階段。該階段的數據處理技術不僅可以進行傳統意義上對數據的查詢檢索,并且能夠從海量雜而無章的數據中提取出具有價值的知識和信息。今天,在互聯網、電子商務、傳媒界、公共事務管理、醫學界等領域,數據挖掘技術已經開始扮演重要角色。以數據挖掘為基礎的決策支持、趨勢預測、網絡安全預警、內容推薦等技術正在深刻的影響著人類社會。數據挖掘[4](Data Mining)可以定義為從大量的、不完全的、有噪聲的、模糊的、隨機的實際應用數據中,提取隱含在其中的、人們事先不知道的、但又是潛在有用的信息和知識的過程。
2.1 數據挖掘的步驟? 不同于普通的數據分析如檢索、篩查和倉儲應用,數據挖掘是新知識發現的一個過程,即在未知目標前提條件下去挖掘未出現過的信息和知識。因此,數據挖掘得到的知識應該是從前未有的、能反映出問題的、可直接使用的有價值信息。數據挖掘的過程類似于在數據庫中發現知識,其步驟如圖1所示。
由圖1中可以看到數據挖掘的過程為:首先,對雜亂的無規律的源數據進行規范化處理,將處理后形成的規格化的數據存入數據倉庫中;然后,將數據倉庫中存留的規格化的數據通過一定的算法進行挖掘處理,形成所預定的模式;最后,對挖掘后的結果根據一定的標準進行取值篩選,選出符合要求的結果進而表達成為最終的知識。其中數據清理的工作就是將非結構化的數據如文本、音視頻、圖像進行提取,形成可以被計算機理解和處理的結構化的數據,而數據挖掘工作就是將這些結構化之后的數據通過特定的挖掘算法計算形成特定的模式,評估表示工作既對挖掘結果進行優劣的排序選擇出滿足用戶需要的知識。
2.2 KNN算法介紹及改進? KNN算法基于類比學習,它廣泛用于模式識別領域。該算法的原理是:在特征空間中,如果待分類元組周圍有K個最相近(近似)的元組,那么待分類元組的類別就是這些最近似元組中數量最多的類別,待分類元組和其近鄰元組的遠近常用歐幾里得距離來計算。在特征空間中用兩個點來表示兩個元組P1=(x1,x2,…,xn)和P2=(y1,y2,…,yn)他們之間的歐幾里得距離為:
而相似度為其倒數:
在實際應用中,除了計算K近鄰訓練元組個數最大類別以外還常用一種最相似類方法,該方法將待分類文本的K個近鄰訓練文本相似度計算出,然后將其劃分到這些最相似訓練文本的類別中所用計算公式為:
在式(3)中sim(d,ti)是待分類元組d和其近鄰元組ti的相似度,f(ti,cj)是一個二值函數,當訓練元組ti屬于類別cj時其值為1,否則其值為0。
2.3 KNN算法的改進? KNN算法具有穩定性好、分類精度高、實現建議、調整速度快等優點,但其分類受到K值選取影響和訓練樣本分布密度較大。在樣本分布不均情況下易出現誤分類狀況。為了減少訓練樣本密度對待分類日志文本所造成的誤差可對KNN算法進行改造。
算法改進思路為:在求出待分類樣本臨近的K個訓練日志文本后,按類別計算它們之間的相似度,然后除以K得到平均值M,在計算這個待分類日志文本和不同類別樣本日志中心的相似度(訓練樣本類別中心距離)L,然后求兩者的比例:M/L,值最大的類別即為所求的結果。
設Cj為樣本日志類別,d為待分類樣本,tj為待分類樣本周圍的訓練日志,sim(d,Sj)為待分類樣本到類別中心的相似度,則L/M可表示為:
改進的KNN算法的實現步驟為:
首先,對日志訓練集合中的文本進行包括分詞,正規化在內的數據清理。其中訓練集合中的類別已經處理完畢。其次,利用處理完成后的訓練集合中的樣本詞匯組成一個多維度的空間,每個樣本用該緯度空間的向量表示。第三,讓待分類日志經過數據清理后,同樣表示為樣本集多維空間中的向量。計算訓練樣本中每個類別的中心向量。第四,計算待分類向量和各類別中心向量的距離,計算待分類樣本和周圍不同類別K個向量的平均值。第五,將第四步計算的相同類別的結果進行相除。并將不同類別的計算結果進行排序,值最大的類別即為待分類樣本的類別。
在服務器系統日志得到相應的類別之后進行歸類,并利用專家系統進行對比就可以分析出系統的狀態并進行預警。
3? 服務器日志挖掘預警系統的設計
利用我們提出的數據挖掘方法對日志挖掘預警系統進行設計。需要一個專用的存儲和處理日志文本的服務器來對源數據進行收集和清理并將結果進行存儲,需要一臺處理能力較強的服務器對規格化的數據進行多維空間的建立和向量化的表示,然后利用計算平臺對向量化后的數據進行計算和排序,將結果提交給一臺管理計算機,管理計算機根據收到的數據對比專家知識系統進行預警。系統架構如圖2所示。
經過實驗部署測試,服務器日志挖掘預警系統可以有效的對服務器群所產生的日志進行分析挖掘,根據具體的日志內容進行分類對比并對系統出現的故障等狀況進行預警。極大的幫助管理員實時掌握服務器的動態狀況。
4? 結束語
總之,服務器日志分析是一種有效的服務器系統檢測手段,日志分析方法眾多,利用數據挖掘技術對海量的日志進行基于內容的分析對比可以查找到日志背后所隱藏的系統狀態。本文所提出的利用基于KNN的改進算法所設計的服務器日志挖掘預警系統可以有效的幫助管理者分析和歸類日志,實時的對服務器群的工作狀態進行掌控。
參考文獻:
[1]盧鵬.計算機網絡安全及其防護策略探析[J].硅谷,2009(12):62-63.
[2]馮綠音.網絡信息系統日志分析與審計技術研究[D].上海:上海交通大學,2007.
[3]李村合.網絡信息挖掘技術及其應用研究[J].情報科學,2002,20(11).
[4]毛國君,段立娟,王實,等.數據挖掘原理與算法[M].二版.北京:清華大學出版社,2007.