一種實時在線日誌檢測方法及系統的製作方法
2023-09-21 09:10:00 1
一種實時在線日誌檢測方法及系統的製作方法
【專利摘要】本發明涉及一種實時在線日誌檢測方法,包括:步驟1:將整個的訓練日誌轉換為一個離散事件序列;步驟2:建立一個檢測模型;步驟3:將待測日誌分段生成至少一個日誌段,並為每個日誌段分配日誌段序列;步驟4:對一個日誌段進行異常程度評分,得到相對熵;步驟5:判斷相對熵是否為正值,如果是,當前日誌段異常,跳至步驟7;否則,當前日誌段為正常;步驟6:判斷相對熵是否大於閾值,如果是,當前日誌段為異常;否則,跳至步驟8;步驟7:發送異常警告給用戶,待檢測程序恢復到檢測所述日誌段之前的狀態;步驟8:判斷異常日誌中是否存在未評分日誌段,如果是,跳轉至步驟4;否則,結束。本發明可實時檢測異常,且不需要設置複雜的參數,簡單有效。
【專利說明】一種實時在線日誌檢測方法及系統
【技術領域】
[0001]本發明涉及一種實時在線日誌檢測方法及系統,屬於計算機領域。
【背景技術】
[0002]隨著網際網路的不斷發展,各類網絡應用在人們生產和生活中發揮著越來越重要的作用。但與此同時,針對網絡應用的攻擊不斷湧現,如各類病毒、蠕蟲等I。另一方面,隨著網絡應用的規模越來越大以及商用硬體作為服務的趨勢的發展,網絡應用的執行路徑難以預測,硬體環境不再可靠,因此難以在部署前發現所有可能出現的錯誤。一旦針對網絡應用的攻擊得手或者網絡應用自身出現異常,將給網絡應用的所有者及用戶帶來不可估量的損失。
[0003]攻擊和錯誤發現的越早,所能採用的補救措施就越多,造成的損失就會越少。因此,在線異常檢測受到了學術界和工業界的重視。常用的基於壓縮的異常檢測方法是分析應用的日誌。在應用運行的過程中,應用本身和各種監控程序都會產生各類日誌來記錄應用的狀態、重要的運行事件和網絡流量,因此日誌中包含應用運行的動態信息,適合用來進行異常檢測。
[0004]傳統日誌分析是通過人工參與或者使用事前定義好的規則來完成的。當日誌大小有限以及異常類型事先可知時,這些方法非常有效並且也很靈活。當時如果程序產生了百萬行日誌,人工處理日誌就不太現實了。不可預測的異常也不適合用預定義的規則處理。
[0005]因此,異常檢測轉而採用自動在線異常檢測的方法,特別是一類以離散序列為輸入的基於壓縮的異常檢測方法被用來分析日誌。這類算法將日誌所蘊含的事件序列分為段,並為每一段賦一個異常得分。之前這些方法中的大多數是基於統計模型或者馬爾可夫模型的,它們都依賴於某些特定的假設例如:
[0006]正常的日誌項滿足一個特定的分布。
[0007]日誌項的出現是獨立事件。
[0008]日誌項滿足馬爾可夫性質,即一條日誌項只與它之前的幾條日誌項相關。
[0009]對於某些日誌來說,這些假設都是成立的,但是並不適合所有的日誌。如果日誌中的日誌項和其他日誌項之間有複雜和隱式的關係,那麼這些方法就會忽略這些聯繫或者提前定義它的結構,這樣很有可能抓不住日誌的特性。同時,也有一些日誌不能用馬爾可夫模型表達。當這些假設不成立時,基於統計模型和馬爾可夫模型的方法就不會有很高的性能。
[0010]為了解決上述提出的問題,提供了一種基於壓縮的基於壓縮的異常檢測方法,它並不依賴於日誌項分布的假設。基於壓縮的基於壓縮的異常檢測方法可以依據正常日誌和異常日誌的散度(相對熵)將它們區分開來。相對熵是一種相似度評價方法,它用來表示兩種分布之間的區別。相對熵越大,那麼測試日誌和訓練日誌的區別也就越大,但這樣測試日誌很有可能是異常的。
【發明內容】
[0011]本發明所要解決的技術問題是,針對現有技術的不足,提供一種不依賴於日誌項分布的假設,不需要設置複雜的參數,且簡單有效的實時在線日誌檢測方法。
[0012]本發明解決上述技術問題的技術方案如下:一種實時在線日誌檢測方法,具體包括以下步驟:
[0013]步驟1:將整個的訓練日誌轉換為一個離散事件序列;
[0014]步驟2:使用訓練日誌所轉化的離散事件序列建立一個檢測模型;
[0015]步驟3:將待測日誌分段生成至少一個日誌段,並為每個日誌段分配日誌段序列;
[0016]步驟4:按照日誌段序列順序選取一個日誌段,使用異常評分公式對所述日誌段進行異常程度評分,得到所述日誌段的相對熵;
[0017]步驟5:判斷相對熵是否為正值,如果是,當前日誌段為異常,並跳轉至步驟7;否貝U,判斷當前日誌段為正常;
[0018]步驟6:將相對熵與預設的閾值相比較,判斷相對熵是否大於閾值,如果是,當前日誌段為異常,並跳轉至步驟7 ;否則,將所述日誌段拼接到正常程序上,跳轉至步驟8 ;
[0019]步驟7:發送異常警告給用戶,待檢測程序恢復到檢測所述日誌段之前的狀態;
[0020]步驟8:判斷異常日誌中是否存在未評分日誌段,如果存在,跳轉至步驟4 ;否則,結束。
[0021]相對熵是一種相似度評價方法,它用來表示兩種分布之間的區別。相對熵越大,那麼測試日誌和訓練日誌的區別也就越大,這樣測試日誌很有可能是異常的。
[0022]本發明的有益效果是:本發明所述方法可以依據正常日誌和異常日誌的散度(相對熵)將它們區分開來。本發明不需要事先假設,也不需要設置許多參數;相對熵是一種相似度評價方法,它用來表示兩種分布之間的區別。相對熵越大,那麼測試日誌和訓練日誌的區別也就越大,這樣測試日誌很有可能是異常的,本發明提供的方法所需的所有操作只有壓縮,而壓縮算法一般都很快,因此本發明可以實現實時檢測異常,並且不需要設置複雜的參數,簡單有效。
[0023]在上述技術方案的基礎上,本發明還可以做如下改進。
[0024]進一步,所述步驟4中所述的異常評分公式具體如下列公式(I)所述:
[0025]
【權利要求】
1.一種實時在線日誌檢測方法,其特徵在於,具體包括以下步驟: 步驟1:將整個的訓練日誌轉換為一個離散事件序列; 步驟2:使用訓練日誌所轉化的離散事件序列建立一個檢測模型; 步驟3:將待測日誌分段生成至少一個日誌段,並為每個日誌段分配日誌段序列; 步驟4:按照日誌段序列順序選取一個日誌段,使用異常評分公式對所述日誌段進行異常程度評分,得到所述日誌段的相對熵; 步驟5:判斷相對熵是否為正值,如果是,當前日誌段為異常,跳轉至步驟7 ;否則,判斷當前日誌段為正常; 步驟6:將相對熵與預設的閾值相比較,判斷相對熵是否大於閾值,如果是,當前日誌段為異常,並跳轉至步驟7 ;否則,將所述日誌段拼接到正常程序上,跳轉至步驟8 ; 步驟7:發送異常警告給用戶; 步驟8:判斷異常日誌中是否存在未評分日誌段,如果存在,跳轉至步驟4 ;否則,結束。
2.根據權利要求1所述的一種實時在線日誌檢測方法,其特徵在於,所述步驟4中所述的異常評分公式具體如 下列公式(I)所述:
3.根據權利要求2所述的一種實時在線日誌檢測方法,其特徵在於,所述步驟I可採用以下四種方法中任一種實現將整個的訓練日誌轉換為一個離散事件序列: a.無監督聚類方法; b.啟發式算法:該算法將日誌記錄中的數字、路徑或IP位址視為參數並將去掉參數後的消息模板視為事件; c.代碼分析:通過分析二進位代碼或者原始碼,可以獲得比啟發式算法更精確的消息模板; d.使用領域特定的知識:在一些日誌中,事件可能已經明確記錄在日誌中,或可以通過行號等信息準確推算出。
4.根據權利要求1-3任一項所述的一種實時在線日誌檢測方法,其特徵在於,所述公式(I)中的相對熵採用文法壓縮方法進行計算。
5.一種日誌檢測系統,包括:轉換模塊、訓練模塊、分段模塊、評分模塊、判斷模塊和閾值比較模塊; 所述轉換模塊用於將整個的訓練日誌轉換為一個離散事件序列; 所述訓練模塊用於使用訓練日誌所轉化的離散事件序列建立一個檢測模型; 所述分段模塊用於將待測日誌分段生成至少一個日誌段,並為每個日誌段分配日誌段序列; 所述評分模塊用於按照日誌段序列順序選取一個日誌段,使用異常評分公式對所述日誌段進行異常程度評分,得到所述日誌段的相對熵; 所述判斷模塊用於判斷相對熵是否為正值,如果是,當前日誌段為異常,並發送異常警告給用戶,待檢測程序恢復到檢測所述日誌段之前的狀態;否則,判斷當前日誌段為正常,並將相對熵發送至閾值比較模塊; 所述閾值比較模塊用於將相對熵與預設的閾值相比較,判斷相對熵是否大於閾值,如果是,當前日誌段為異常,並發送異常警告給用戶;否則,將所述日誌段拼接到正常程序上。
6.根據權利要求1所述的一種實時在線日誌檢測方法,其特徵在於,所述評分模塊中所述的異常評分公式具體如下列公式(I)所述:
7.根據權利要求6所述的一種實時在線日誌檢測方法,其特徵在於,所述轉換模塊可採用以下四種方法中任一種實現將整個的訓練日誌轉換為一個離散事件序列: a.無監督聚類方法; b.啟發式算法:該算法將日誌記錄中的數字、路徑或IP位址視為參數並將去掉參數後的消息模板視為事件;` c.代碼分析:通過分析二進位代碼或者原始碼,可以獲得比啟發式算法更精確的消息模板; d.使用領域特定的知識:在一些日誌中,事件可能已經明確記錄在日誌中,或可以通過行號等信息準確推算出。
8.根據權利要求5-7任一項所述的一種實時在線日誌檢測方法,其特徵在於,所述公式(I)中的相對熵採用文法壓縮方法進行計算。
【文檔編號】G06F21/50GK103514398SQ201310492962
【公開日】2014年1月15日 申請日期:2013年10月18日 優先權日:2013年10月18日
【發明者】周薇, 高贇, 戴嬌, 韓冀中 申請人:中國科學院信息工程研究所