国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

面向不穩(wěn)定日志的一致性異常檢測(cè)方法

2022-05-30 21:09:07劉春波梁孟孟侯晶雯顧兆軍王志
湖南大學(xué)學(xué)報(bào)·自然科學(xué)版 2022年4期
關(guān)鍵詞:異常檢測(cè)更新置信度

劉春波 梁孟孟 侯晶雯 顧兆軍 王志

摘要:系統(tǒng)日志被用作系統(tǒng)異常檢測(cè)的主要數(shù)據(jù)源.現(xiàn)有的日志異常檢測(cè)方法主要利用從歷史日志中提取的日志事件數(shù)據(jù)構(gòu)建檢測(cè)模型,即假設(shè)日志數(shù)據(jù)隨時(shí)間的推移其分布規(guī)律具有穩(wěn)定性.然而,在實(shí)踐中,日志數(shù)據(jù)往往包含以前未出現(xiàn)過的事件或序列.這種不穩(wěn)定性有兩種來源:1)日志發(fā)生了概念漂移;2)日志處理過程中引入了噪聲.為緩解日志中出現(xiàn)的不穩(wěn)定問題,設(shè)計(jì)了基于置信度協(xié)同多種算法的異常檢測(cè)模型EBCAD(Ensemble-Based Conformal Anomaly Detection).首先,用統(tǒng)計(jì)量p值度量日志之間的不一致性,選擇多個(gè)合適的集成算法作為不一致性度量函數(shù)計(jì)算不一致性得分進(jìn)行協(xié)同檢測(cè);然后,設(shè)計(jì)了基于置信度的更新機(jī)制來緩解日志不穩(wěn)定問題,將新日志的不一致性得分添加到已有得分集,更新日志異常檢測(cè)的經(jīng)驗(yàn);最后,根據(jù)協(xié)同檢測(cè)得到的置信度與預(yù)設(shè)置信水平大小來判斷不穩(wěn)定日志是否異常.實(shí)驗(yàn)結(jié)果表明,在HDFS日志數(shù)據(jù)集中,當(dāng)不穩(wěn)定數(shù)據(jù)注入率從5%增加到20%時(shí),EBCAD 模型的F1值僅從0.996降低到0.985;在BGL_100K日志數(shù)據(jù)集中,當(dāng)不穩(wěn)定數(shù)據(jù)注入率從5% 增加到20%時(shí),EBCAD的F1值僅從0.71降低到0.613.證明EBCAD在不穩(wěn)定日志中可以有效檢測(cè)到異常.

關(guān)鍵詞:異常檢測(cè);日志分析;不穩(wěn)定日志;置信度;不一致性度量;更新

中圖分類號(hào):TP391文獻(xiàn)標(biāo)志碼:A

Conformal Anomaly Detection Method for Unstable Logs

LIU Chunbo LIANG Mengmeng HOU Jingwen GU Zhaojun WANG Zhi3

(1. Information Security Evaluation Center,Civil Aviation University of China,Tianjin 300300,China;

2. College of Computer Science and Technology,Civil Aviation University of China,Tianjin 300300,China;

3. College of Cyber Science,Nankai University,Tianjin 300350,China)

Abstract:System logs are used as the primary data source for system anomaly detection. Existing log anomaly detection methods mainly use log event data extracted from historical logs to build detection models,that is,the distribution of log data is assumed to be stable over time. However,in practice,log data often contains events or sequences that have not occurred before. The instability comes from two sources:1)conceptual drift occurs in logs;2)noise is introduced during log processing. In order to alleviate the problem of instability in logs,an anomaly detection model called Ensemble-Based Conformal Anomaly Detection (EBCAD)based on confidence degree and multiple algorithms is designed. Firstly,the p-value statistics are used to measure the non-conformity between logs,and multiple appropriate ensemble algorithms are selected as the non-conformity measure functions to calculate the non- conformal scores for collaborative detection. Then,an update mechanism based on confidence is designed to alleviate the problem of log instability. By adding scores of new logs into existing sets,the experiences of log anomaly detection are updated. Finally,according to the confidence degree and the preset significance level obtained by collaborative detection,the unstable log is judged to be abnormal. The experimental results show that when the unstable data injection rate increases from 5% to 20% in HDFS log data set,the F1-score of EBCAD model only decreases from 0.996 to 0.985. In the BGL_100K log data set,when the unstable data injection rate increases from 5% to 20%,the F1-score of EBCAD decreases only from 0.71 to 0.613. This proves that EBCAD can effectively detect anomalies in unstable logs.

Key words:anomaly detection;log analysis;unstable log;confidence;non-conformity measure;update

日志數(shù)據(jù)詳細(xì)記錄了系統(tǒng)的所有狀態(tài)和行為,特別是在大規(guī)模分布式系統(tǒng)和工業(yè)物聯(lián)網(wǎng)(IIoT)中.管理員可以從大規(guī)模日志數(shù)據(jù)中發(fā)現(xiàn)和識(shí)別系統(tǒng)異常[1],跟蹤系統(tǒng)行為[2],防御惡意攻擊[3]基于日志的異常檢測(cè)[4-6]將幫助管理員快速定位和解決事故問題,構(gòu)建安全可信的系統(tǒng).但傳統(tǒng)方法往往使用關(guān)鍵字搜索或正則表達(dá)式匹配,這往往需要領(lǐng)域知識(shí),人工檢查效率低.因此,高效、實(shí)時(shí)的基于日志的異常檢測(cè)算法具有一定的理論和實(shí)際應(yīng)用價(jià)值.

但是,概念漂移或模型老化[7]往往會(huì)出現(xiàn)在動(dòng)態(tài)變化和不穩(wěn)定的環(huán)境中.有些系統(tǒng)需要7×24小時(shí)運(yùn)行來支持廣泛的智能應(yīng)用程序和在線服務(wù).各種各樣的運(yùn)行程序?qū)⑸杀纫郧案鼜?fù)雜和可變的日志.如果以往日志訓(xùn)練的模型、超平面或分類器等概念不隨日志數(shù)據(jù)的分布而變化,這些算法就不能正確識(shí)別異常事件.因此,基于日志的異常檢測(cè)算法面臨著不穩(wěn)定問題,表現(xiàn)為在系統(tǒng)劇烈變化環(huán)境下的精度降低現(xiàn)象.根據(jù)Zhang等人[8]的分析結(jié)果,日志數(shù)據(jù)不穩(wěn)定的原因主要來自兩個(gè)方面:1)日志語(yǔ)句受軟件升級(jí)和外部環(huán)境影響而自然發(fā)生的變化,即概念漂移;2)日志數(shù)據(jù)在采集和解析過程中所引入的噪聲.

盡管許多算法在實(shí)際環(huán)境中取得了良好的性能,如支持向量機(jī)[9](Support Vector Machine,SVM)、樸素貝葉斯[10](Naive Bayes,NB)、決策樹[11](Decision Tree,DT)、隨機(jī)森林[12](Random Forest,RF)等.但在處理不穩(wěn)定日志時(shí)仍面臨許多挑戰(zhàn),為應(yīng)對(duì)不穩(wěn)定問題,它們經(jīng)常使用周期性的再訓(xùn)練,但這往往需要領(lǐng)域知識(shí)且效率低下,并不能解決問題.這些算法以粗粒度檢測(cè)異常,而不考慮同類型日志數(shù)據(jù)的差異或日志數(shù)據(jù)之間的不一致性;另外日志訓(xùn)練出來的模型、超平面、分類器等概念不隨日志數(shù)據(jù)的分布而變化,缺乏動(dòng)態(tài)更新以前經(jīng)驗(yàn)的機(jī)制.

為減少日志不穩(wěn)定問題對(duì)基于日志的異常檢測(cè)算法的干擾,本文設(shè)計(jì)了一個(gè)基于置信度的動(dòng)態(tài)日志多算法協(xié)同異常檢測(cè)模型EBCAD(Ensemble-Based Conformal Anomaly Detection).它使用多種學(xué)習(xí)算法進(jìn)行協(xié)同檢測(cè).首先,設(shè)計(jì)了集成多種算法的不一致性度量模塊,計(jì)算統(tǒng)計(jì)值p值;其次,構(gòu)建了基于置信水平的預(yù)測(cè)集,通過動(dòng)態(tài)調(diào)整置信水平來標(biāo)記一個(gè)可信標(biāo)簽;然后,將包含標(biāo)簽、不一致性得分和待檢測(cè)日志置信度的結(jié)果反饋到包含相應(yīng)標(biāo)簽的得分集中,作為已有的經(jīng)驗(yàn)來計(jì)算后續(xù)檢測(cè)中的p值;最后,根據(jù)協(xié)同檢測(cè)得到的置信度與預(yù)設(shè)顯著性水平大小來判斷不穩(wěn)定日志的新樣本是否異常.

本文的結(jié)構(gòu)如下:首先介紹了日志中的不穩(wěn)定問題,其次對(duì)模型EBCAD進(jìn)行了詳細(xì)介紹,然后展示了實(shí)驗(yàn)結(jié)果并對(duì)其進(jìn)行了分析,最后對(duì)論文進(jìn)行了總結(jié).

1問題描述

1.1日志不穩(wěn)定問題

1.1.1日志的概念漂移

隨著軟件升級(jí)和外部環(huán)境變化,一些舊的日志事件將會(huì)發(fā)生部分變化或者不復(fù)存在.圖1給出了微軟在線服務(wù)系統(tǒng)日志事件的變化[8].

場(chǎng)景1:原始日志事件后面增加“for bindingId”作為補(bǔ)充說明.

場(chǎng)景2:原始日志事件前面添加關(guān)鍵字“MiniMerge”,說明程序執(zhí)行階段.

1.1.2日志處理過程中產(chǎn)生的噪聲

在日志數(shù)據(jù)的采集過程中,不可避免地會(huì)引入一定程度的噪聲,例如由于網(wǎng)絡(luò)錯(cuò)誤、系統(tǒng)吞吐量有限、存儲(chǔ)不足等問題導(dǎo)致日志丟失、重復(fù)或混亂現(xiàn)象發(fā)生而引入噪聲.另一種重要的噪聲來源是日志解析.不準(zhǔn)確的日志解析會(huì)影響異常檢測(cè)模型[13]的性能.He等人[14]、Zhu等人[15]對(duì)SLCT[16]、IPLoM[17]、LKE[18]、LogSig[19]等常用的日志解析器進(jìn)行了評(píng)估,指出現(xiàn)有的日志解析器如LogSig存在處理某些數(shù)據(jù)集時(shí)不夠準(zhǔn)確的問題.He等人[14]還指出解析過程中4%的錯(cuò)誤甚至?xí)?dǎo)致異常檢測(cè)的性能下降一個(gè)數(shù)量級(jí),這是因?yàn)楫惓z測(cè)分類器對(duì)一些關(guān)鍵事件較為敏感,但日志解析器對(duì)這些關(guān)鍵事件進(jìn)行了錯(cuò)誤解析.圖2顯示了微軟在線服務(wù)系統(tǒng)日志解析過程中出現(xiàn)錯(cuò)誤的案例[8].

場(chǎng)景1:與真實(shí)日志事件相比,日志解析器遺漏了關(guān)鍵字”resize”.

場(chǎng)景2:日志解析器錯(cuò)誤地將參數(shù)“rtc”作為日志事件的關(guān)鍵字.

1.2現(xiàn)存算法面臨挑戰(zhàn)

動(dòng)態(tài)日志隨著時(shí)間的推移而變化,僅僅基于以前的檢測(cè)模型很難做出準(zhǔn)確的決策.這就要求檢測(cè)模型可以根據(jù)動(dòng)態(tài)日志進(jìn)行動(dòng)態(tài)調(diào)整.然而,以往基于日志的異常檢測(cè)算法(SVM、LR、DT等)的決策往往僅分析新日志是正常的還是異常的,而不考慮算法是如何確定選擇的,忽略了新日志和已有日志的不一致性.例如支持向量機(jī)通常忽略了測(cè)試對(duì)象距離超平面的距離,僅僅根據(jù)在超平面的哪一側(cè)做決策.統(tǒng)計(jì)評(píng)估則利用這個(gè)距離檢測(cè)待測(cè)對(duì)象的不一致性并用來判斷是否屬于別的類.此外,統(tǒng)計(jì)評(píng)估還告訴我們,與同一類中的舊日志相比,已提交的新日志是如何屬于某個(gè)類的,以及與同一事件中的其他日志相比,新日志是屬于正常事件還是異常事件.然而,基于概率的傳統(tǒng)度量,如準(zhǔn)確率、召回率和F1不能評(píng)估分類器的決策,只能表明一個(gè)新日志屬于正常事件或異常事件的可能性有多大.

幸運(yùn)的是,Vovk等人[20]基于統(tǒng)計(jì)評(píng)估的一致性預(yù)測(cè)(Conformal Predictor,CP)理論,可以利用以前的經(jīng)驗(yàn)來確定新的預(yù)測(cè)的精確置信水平.因此,我們將使用這種方法將新日志和歷史日志聯(lián)系起來,并根據(jù)數(shù)據(jù)分布的變化更新以前的經(jīng)驗(yàn).在一致性預(yù)測(cè)[21]中,我們可以得到一個(gè)統(tǒng)計(jì)量p值,它可以用來計(jì)算置信度,并指導(dǎo)算法進(jìn)行決策或評(píng)估.它還可以輸出具有可信度和置信度的二分類預(yù)測(cè),或給出固定置信度下的預(yù)測(cè)集.通過將之前的數(shù)據(jù)引入決策中,可以有效減少數(shù)據(jù)分布變化引起的數(shù)據(jù)集不穩(wěn)定問題.

2模型框架

在本節(jié)中,我們將詳細(xì)描述EBCAD的每個(gè)步驟.如圖3所示,EBCAD主要包括三個(gè)步驟:數(shù)據(jù)預(yù)處理、不一致性度量、異常檢測(cè).我們首先將非結(jié)構(gòu)化原始日志預(yù)處理為結(jié)構(gòu)化特征矩陣.在置信度的指導(dǎo)下,我們選擇多個(gè)集成算法來組成不一致性度量模塊,這里選擇的集成算法分別是AdaBoost和RF,分別記為CP-AB和CP-RF.最后,我們調(diào)整顯著性水平,將檢測(cè)到的日志序列標(biāo)記為一個(gè)標(biāo)簽同時(shí)附加置信度,并反饋給相應(yīng)的類作為后續(xù)檢測(cè)的經(jīng)驗(yàn).

2.1數(shù)據(jù)預(yù)處理

日志數(shù)據(jù)預(yù)處理的詳細(xì)過程見圖4.

2.1.1日志數(shù)據(jù)

現(xiàn)代大型系統(tǒng)通過日志來記錄系統(tǒng)的運(yùn)行情況,每條日志包含無結(jié)構(gòu)化的數(shù)據(jù),例如時(shí)間戳、日志優(yōu)先級(jí)、系統(tǒng)組件和日志序列.通常,日志消息用一組字段記錄特定的系統(tǒng)事件.從Amazon EC2平臺(tái)的日志中提取了8行日志(圖4),為了便于表示,這里省略了一些字段.

2.1.2日志解析

日志是無結(jié)構(gòu)的,包含自由文本.日志解析的目的就是提取一組事件模板,從而可以結(jié)構(gòu)化原始日志.每一條日志消息被解析為一個(gè)事件模板(常量部分)和一些具體的參數(shù)(變量部分),正如圖4所展示的那樣,第一條日志消息被解析為事件模板“Event 1”:PacketResponder * for blocking * terminating.對(duì)于自動(dòng)化日志解析器的有效性,可以用解析準(zhǔn)確率[22]來評(píng)估,即成功解析的日志事件在全部日志消息中所占比例.解析后,每個(gè)日志消息都有一個(gè)事件模板,該事件模板對(duì)應(yīng)于同一模板的一組消息.當(dāng)且僅當(dāng)日志消息的事件模板與真實(shí)數(shù)據(jù)對(duì)應(yīng)的日志消息組相同時(shí),日志消息被認(rèn)為正確解析.例如,一個(gè)日志序列是[E E E3],如果經(jīng)過日志解析后變?yōu)閇E E E2],那么解析正確率即為1/3.經(jīng)過比較,本文采用Drain作為日志解析器,因?yàn)樵?3種常見的日志解析器中,Drain的解析準(zhǔn)確率最高[15].盡管Drain也會(huì)引入不同程度的噪聲,但是本文提出的EBCAD模型可以緩解因解析器不夠準(zhǔn)確帶來的日志不穩(wěn)定問題.

2.1.3特征向量提取

這個(gè)步驟的主要目的是從日志事件中提取有價(jià)值的特征,這些特征可以提供給異常檢測(cè)模型.特征提取的輸入為日志解析步驟中生成的日志事件,輸出為事件計(jì)數(shù)矩陣.在每個(gè)日志序列中,將每個(gè)日志事件的發(fā)生次數(shù)計(jì)數(shù)到日志解析器中,以形成事件計(jì)數(shù)向量.例如,如果事件計(jì)數(shù)向量為[0,0,? 0,0,0],則意味著在這個(gè)日志序列中,事件3發(fā)生了兩次,事件4發(fā)生了三次.最后,構(gòu)造全部的事件計(jì)數(shù)向量構(gòu)成事件計(jì)數(shù)矩陣A,其中序列Aij記錄了事件j在第i個(gè)日志序列中發(fā)生的次數(shù).

2.2一致性預(yù)測(cè)

2.2.1不一致性度量

不一致性度量模塊是一個(gè)接口和算法獨(dú)立的模塊,在顯著性水平的指導(dǎo)下,使用適當(dāng)?shù)乃惴ㄗ鳛椴灰恢滦远攘?,?jì)算不一致性分?jǐn)?shù).通過一致性預(yù)測(cè),我們將得到一個(gè)統(tǒng)計(jì)量p值.與概率不同的是,p值是基于具有相同標(biāo)簽的所有分?jǐn)?shù)計(jì)算的.p值越大,則新日志與具有相同標(biāo)簽的舊日志的一致性越高.許多先前得分較低的日志將證明新的日志更接近這個(gè)類.因此,我們可以檢測(cè)新的日志消息是否異常,并獲得一個(gè)有置信度的標(biāo)簽.

不一致性度量模塊作為EBCAD的核心,可以利用以往的經(jīng)驗(yàn)來確定新的預(yù)測(cè)的精確置信水平,并考慮以往數(shù)據(jù)與檢測(cè)數(shù)據(jù)之間的關(guān)系,而不考慮算法的內(nèi)部細(xì)節(jié)和實(shí)現(xiàn).我們首先選擇多種算法的評(píng)分函數(shù)作為不一致性度量來計(jì)算不一致性得分.評(píng)分函數(shù)記為:

式中:l*代表新的日志消息,D代表數(shù)據(jù)集中的訓(xùn)練集,L代表具有相同標(biāo)簽的一組日志.

我們使用公式(1)來計(jì)算所有日志的不一致性得分.對(duì)于日志訓(xùn)練數(shù)據(jù)集,每種算法將得到兩個(gè)不一致性得分集:正常得分集和異常得分集.對(duì)于日志檢測(cè)序列,也將通過每種算法獲得一個(gè)檢測(cè)日志得分.然后,根據(jù)公式(2)和公式(3)計(jì)算p值.將訓(xùn)練序列集合記為K,日志解析算法產(chǎn)生的日志事件模板集合記為T,新日志的p值是K中至少與T中其他日志不相同的日志的比例.新日志的p值的計(jì)算公式記為:

為了減少算法的分類錯(cuò)誤,選擇多個(gè)合適的算法組成這個(gè)模塊,根據(jù)真實(shí)的標(biāo)簽將訓(xùn)練日志事件分為正常日志事件和異常日志事件,然后我們得到兩個(gè)得分集和兩個(gè)p值.最后,為緩解日志中出現(xiàn)的不穩(wěn)定問題,我們將檢測(cè)錯(cuò)誤的測(cè)試日志序列的p值對(duì)應(yīng)的得分作為后續(xù)檢驗(yàn)的已有經(jīng)驗(yàn),將其添加到對(duì)應(yīng)的正常得分集或異常得分集中去,作為反饋機(jī)制.這將避免算法在不穩(wěn)定環(huán)境中持續(xù)造成錯(cuò)誤決策.

2.2.2點(diǎn)預(yù)測(cè)的置信度和可信度

一致性預(yù)測(cè)框架提供了兩個(gè)關(guān)鍵的指標(biāo):置信度和可信度.如上所述,測(cè)試對(duì)象xn嘗試每個(gè)可能的標(biāo)簽yc∈y(y={正常,異常})作為xn的標(biāo)簽,然后計(jì)算p值.最后選擇具有最大的p值對(duì)應(yīng)標(biāo)簽作為檢測(cè)對(duì)象xn的標(biāo)簽.

檢測(cè)標(biāo)簽將由置信度(confidence)和可信度(credibility)來衡量.置信度定義為1減去第二大的p值,而可信度定義為最大的p值.直觀地說,高置信度表明,檢測(cè)標(biāo)簽的所有其他候選者都是不可能的.低可信度意味著最大的p值很小,所以測(cè)試實(shí)例不是訓(xùn)練集產(chǎn)生的分布.注意,如果數(shù)據(jù)集是獨(dú)立同分布的,可信度不會(huì)很低.

四種可能的結(jié)果如下:1)高可信度-高置信度.這是最好的情況,該算法能夠正確識(shí)別一個(gè)樣本對(duì)應(yīng)一個(gè)類,并且只對(duì)應(yīng)一個(gè)類.2)高可信度-低置信度.測(cè)試樣本很相似,屬于兩個(gè)或兩個(gè)以上的類.3)低可信度-高置信度.算法不能準(zhǔn)確將測(cè)試樣本與數(shù)據(jù)集現(xiàn)存類別的任何一個(gè)類別聯(lián)系起來.4)低可信度-低置信度.算法給測(cè)試樣本檢測(cè)一個(gè)標(biāo)簽,但它似乎與另一個(gè)標(biāo)簽更相似.

2.3異常檢測(cè)

我們將使用p值來計(jì)算可信度,即對(duì)應(yīng)標(biāo)簽的p值,置信度就是1減去第二大的p值,偽代碼如算法1 所示.

算法1

輸入:訓(xùn)練集{(x y1),…,(xn- yn-1)},測(cè)試實(shí)例xn和一個(gè)給定的顯著性水平ε.

輸出:測(cè)試實(shí)例xn的標(biāo)簽以及置信度.

1)用訓(xùn)練集{(x y1),…,(xn- yn-1)}訓(xùn)練集成分類器AdaBoost和隨機(jī)森林.

2)分別計(jì)算訓(xùn)練集中正常樣本與異常樣本的{(x y1),…,(xl,yl)}中的不一致性得分α α …,αn-1.注意:αi,i= …,n-1是步驟1)中集成學(xué)習(xí)后分類器的不一致性度量函數(shù)結(jié)果.

3)初始化檢測(cè)集合Γε為空.

4)對(duì)每一個(gè)測(cè)試日志序列X,分別計(jì)算正常和異常的p值,即pN和pA.

5)比較pN和pA的大小,可信度取二者中較大的,置信度為1減去二者中較小的.如果置信度大于給定置信水平,待測(cè)樣本的標(biāo)簽即為p值較大值對(duì)應(yīng)的標(biāo)簽,否則,待測(cè)樣本的標(biāo)簽即為p值較小值對(duì)應(yīng)的標(biāo)簽.

6)將待測(cè)樣本的標(biāo)簽以及置信度添加到檢測(cè)集合Γε中.

7)根據(jù)真實(shí)標(biāo)簽將檢測(cè)錯(cuò)誤樣本對(duì)應(yīng)的不一致性得分添加到對(duì)應(yīng)的不一致性得分集合中,作為后續(xù)檢測(cè)經(jīng)驗(yàn).

8)判斷待測(cè)樣本序列是否檢測(cè)完畢,如果沒有,轉(zhuǎn)到步驟4);如果完畢,則輸出檢測(cè)集合Γε.

3實(shí)驗(yàn)及分析

3.1實(shí)驗(yàn)設(shè)計(jì)

3.1.1數(shù)據(jù)集

HDFS數(shù)據(jù)集:HDFS數(shù)據(jù)集是一種常用的基于日志的異常檢測(cè)基準(zhǔn)[23-24].它是通過在超過200個(gè)Amazon的EC2節(jié)點(diǎn)上運(yùn)行基于Hadoop的MapReduce作業(yè)生成的,并由Hadoop領(lǐng)域?qū)<疫M(jìn)行標(biāo)記.29個(gè)日志事件共產(chǎn)生24 396 061條日志消息.這些日志消息根據(jù)其block_id形成不同的日志序列,其中約2.9%表示系統(tǒng)異常.我們從原始HDFS數(shù)據(jù)集隨機(jī)收集6 000個(gè)正常日志序列和6 000個(gè)異常日志序列作為訓(xùn)練集.

BGL_100K數(shù)據(jù)集:BGL數(shù)據(jù)包含100 000條日志信息,由勞倫斯利弗莫爾國(guó)家實(shí)驗(yàn)室(LLNL)[25]的BlueGene/L超級(jí)計(jì)算機(jī)系統(tǒng)記錄.與HDFS數(shù)據(jù)不同,BGL日志沒有記錄每個(gè)作業(yè)執(zhí)行的標(biāo)識(shí)符.因此,我們必須使用固定窗口或滑動(dòng)窗口將日志切片為日志序列,然后提取相應(yīng)的事件計(jì)數(shù)向量.但是窗口的數(shù)量取決于所選的窗口大小和步長(zhǎng).在BGL_ 100K數(shù)據(jù)中,有2 613條日志消息被標(biāo)記為失敗,如果一個(gè)日志序列中存在任何失敗日志,則該日志序列被標(biāo)記為異常.

合成日志數(shù)據(jù)集:為了顯示EBCAD處理不穩(wěn)定日志數(shù)據(jù)方法的有效性,我們基于原始HDFS和BGL_100K數(shù)據(jù)集創(chuàng)建了不穩(wěn)定的測(cè)試數(shù)據(jù)集.我們主要模擬一種日志不穩(wěn)定性,如圖5所示,根據(jù)Zhang等人[8]在實(shí)證研究中獲得的經(jīng)驗(yàn),合成不穩(wěn)定的日志數(shù)據(jù).合成日志數(shù)據(jù)可以反映真實(shí)日志的不穩(wěn)定特征.

不穩(wěn)定日志序列:在日志演變或收集過程中,日志序列可能會(huì)發(fā)生變化.為了模擬不穩(wěn)定的日志序列,從原始日志序列中隨機(jī)移除一些不重要的日志事件(它們不影響相應(yīng)的異常狀態(tài)標(biāo)簽).隨機(jī)選擇一個(gè)不重要的日志事件,并在一個(gè)日志序列中重復(fù)幾次,將這些合成的不穩(wěn)定日志序列按一定比例注入原始日志數(shù)據(jù)中.

為合成具有不穩(wěn)定性的數(shù)據(jù)集,隨機(jī)從原始HDFS數(shù)據(jù)集中收集51 000個(gè)日志序列,其中包含50 000條正常和1 000條異常,異常百分比是2%,接近原始HDFS數(shù)據(jù)集的異常比例.隨機(jī)從原始BGL 數(shù)據(jù)集中收集100 000個(gè)日志序列,其中包含97 387 條正常和2 613條異常,異常百分比也是2%左右.將不穩(wěn)定的日志序列注入其中,并創(chuàng)建一個(gè)測(cè)試集,表1和表2分別總結(jié)了合成的不穩(wěn)定HDFS和BGL_ 100K數(shù)據(jù)集情況.

實(shí)驗(yàn)在下列平臺(tái)進(jìn)行:Inte(R)Core(TM)i7- 6700 CPU @3.40GHz 3.41 GHz,16.0 GB RAM,Windows 操作系統(tǒng).

3.1.2評(píng)估指標(biāo)

實(shí)驗(yàn)評(píng)價(jià)采用基于混淆矩陣的二級(jí)評(píng)價(jià)指標(biāo):準(zhǔn)確率(Accuracy)、精度(Precision)、召回率(Recall)和調(diào)和平均數(shù)(F1)值.這些指標(biāo)被用來評(píng)價(jià)算法異常檢測(cè)的有效性.

如上所示,Precision表示所報(bào)告的異常中正確的百分比,Recall表示所檢測(cè)到的真實(shí)異常的百分比,F(xiàn)1表示Precision和Recall的調(diào)和平均值.

為了評(píng)估混淆矩陣中的真陽(yáng)性(TP)、真陰性(TN)、假陽(yáng)性(FP)和假陰性(FN)指標(biāo),采用馬修斯相關(guān)系數(shù)(MCC).

3.2最佳置信水平的確定

本節(jié)我們探究不同置信水平下,EBCAD各指標(biāo)的性能(圖6、圖7),從而確定最優(yōu)的置信水平來繼續(xù)接下來的實(shí)驗(yàn).在圖6(2)中,F(xiàn)1、MCC等隨著置信水平的增加而緩慢提高,在置信水平為0.995~1之間取得最大值,圖6(b)詳細(xì)描述了置信水平在0.995~1之間時(shí),F(xiàn)1、MCC等指標(biāo)在HDFS數(shù)據(jù)集上的變化過程.可以觀察到,當(dāng)置信水平為0.997的時(shí)候,F(xiàn)1、MCC等指標(biāo)的值達(dá)到最大.所以,對(duì)HDFS日志數(shù)據(jù)集我們將置信水平設(shè)置為0.997.

在圖7(a)中,當(dāng)置信水平在0.5~0.9之間時(shí),F(xiàn)1、MCC等指標(biāo)值隨著置信水平的增加而增加;當(dāng)置信水平在0.85~1之間時(shí),F(xiàn)1、MCC等的指標(biāo)值達(dá)到最大.圖7(b)詳細(xì)描述了置信水平在0.85~1之間時(shí),F(xiàn)1、MCC等指標(biāo)在BGL_100K數(shù)據(jù)集上的變化過程.可以觀察到,當(dāng)置信水平為0.92時(shí),F(xiàn)1、MCC等指標(biāo)的值達(dá)到最大,所以,在BGL_100K數(shù)據(jù)集上,我們將置信水平設(shè)置為0.92.

3.3不穩(wěn)定日志數(shù)據(jù)集實(shí)驗(yàn)

3.3.1EBCAD的有效性

我們分別在原始HDFS和BGL_100K上訓(xùn)練EBCAD,然后把訓(xùn)練好的模型在合成的測(cè)試集(注入率,即不穩(wěn)定日志序列注入的比例,分別為5%、10%、15%、20%)上測(cè)試.我們將EBCAD與傳統(tǒng)的單一決策分類器(LR、SVM、NB、CP)以及Zhang等人[8]提出的LogRobust(簡(jiǎn)寫為L(zhǎng)ogR)進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果如表3和表4所示.在這里CP的底層算法有四種,

分別對(duì)應(yīng)LR、DT、SVM、NB,我們只取達(dá)到最好效果的一種,具體達(dá)到的效果在3.3.2節(jié)中有所體現(xiàn).在表3和表4中,可以看到EBCAD表現(xiàn)最好.即使在較高的不穩(wěn)定比例20%的情況下,EBCAD依然能保持比較高的準(zhǔn)確率.例如,當(dāng)注入率為20%時(shí),即20% 的原始日志序列被替換為人工合成的日志序列,EBCAD依然能保持穩(wěn)健性.原因在于,一方面,在HDFS日志數(shù)據(jù)集上,EBCAD是在置信水平為0.997 下(即預(yù)測(cè)錯(cuò)誤的概率不超過0.3%)的多模型協(xié)同檢測(cè);在BGL_100K數(shù)據(jù)集上,EBCAD是在置信水平為0.92下的多模型協(xié)同檢測(cè).一方面,相比于傳統(tǒng)的單一決策,EBCAD的決策過程是采用多個(gè)單一決策分類器數(shù)次迭代后產(chǎn)生的不一致性得分,這使得度量日志不一致性的統(tǒng)計(jì)量p值更精確,從而使異常檢測(cè)結(jié)果更準(zhǔn)確,也因此緩解了單一決策分類器容易出現(xiàn)各種錯(cuò)誤的問題.另一方面,EBCAD能夠?qū)z測(cè)錯(cuò)誤的不穩(wěn)定日志得分添加到之前的得分集合中,更新日志異常檢測(cè)的經(jīng)驗(yàn),從而更好地適應(yīng)不穩(wěn)定環(huán)境.然而,傳統(tǒng)的單一分類器對(duì)以前未見過的日志序列無法重新學(xué)習(xí),不能適應(yīng)日志動(dòng)態(tài)變化的環(huán)境,因此難以得到滿意的結(jié)果.

3.3.2集成學(xué)習(xí)的有效性

為探究集成學(xué)習(xí)對(duì)一致性異常檢測(cè)的影響,圖8 詳細(xì)記錄了在不穩(wěn)定比例不同的數(shù)據(jù)集中,無集成學(xué)習(xí)與有集成學(xué)習(xí)條件下一致性異常檢測(cè)的結(jié)果.

從圖8(a)中我們看到,在不穩(wěn)定比例分別為5%、10%、15%、20%的情況下,無集成學(xué)習(xí)的一致性預(yù)測(cè)中,CP-LR的F1值最高,但EBCAD的F1值高于CP-LR.從圖8(b)中看到,所有分類器的F1值隨著不穩(wěn)定比例數(shù)據(jù)的提高而呈下降趨勢(shì).在無集成學(xué)習(xí)的一致性預(yù)測(cè)中,CP-NB的F1值最高,但EBCAD的F1值平均高出CP-NB 10%左右,達(dá)到了比較好的效果.

3.4穩(wěn)定日志數(shù)據(jù)集實(shí)驗(yàn)

HDFS數(shù)據(jù)集是在從未修改的Hadoop系統(tǒng)[26]中收集的,BGL數(shù)據(jù)來自勞倫斯利弗莫爾國(guó)家實(shí)驗(yàn)室(LLNL)[25]BlueGene/L超級(jí)計(jì)算機(jī)系統(tǒng)記錄,所以它們?cè)谠创a中沒有日志序列的變化.另外,HDFS數(shù)據(jù)集和BGL_100K數(shù)據(jù)集的所有日志事件都是直接從源代碼中識(shí)別出來的,可以排除解析錯(cuò)誤等處理噪聲的影響,原始的HDFS日志和BGL_100K都是穩(wěn)定的數(shù)據(jù)集.我們應(yīng)用EBCAD在原始的HDFS數(shù)據(jù)集和BGL_100K上,依然采用表1所示的訓(xùn)練集.將原始HDFS數(shù)據(jù)集中剩余的日志序列作為測(cè)試集,測(cè)試集共包含51 000條日志消息,其中1 000條表示異常行為.將原始BGL_100K數(shù)據(jù)集中剩余的日志序列作為測(cè)試集,測(cè)試集共包含40 000條日志消息,其中1 045條表示異常行為.

在HDFS數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖9所示,可以看到相比傳統(tǒng)分類器LR、DT、SVM、NB,EBCAD的F 1 和MCC值都更高.傳統(tǒng)分類器的Recall雖然都很高,但是它們的F1和MCC值沒有EBCAD高.

在BGL_100K數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖10所示,可以看到在傳統(tǒng)分類器中表現(xiàn)最好的是NB.與NB相比,EBCAD的F1和MCC值明顯要高.

實(shí)驗(yàn)結(jié)果表明,EBCAD不僅可以有效地應(yīng)用于不穩(wěn)定的日志數(shù)據(jù)集,而且可以有效地應(yīng)用于穩(wěn)定的日志數(shù)據(jù)集.

4結(jié)論

多年來,人們提出了許多基于日志數(shù)據(jù)的異常檢測(cè)方法來自動(dòng)識(shí)別大規(guī)模軟件系統(tǒng)中的異常[26-28],然而,現(xiàn)有的方法無法處理日志數(shù)據(jù)的不穩(wěn)定性.為應(yīng)對(duì)不穩(wěn)定問題,傳統(tǒng)方法經(jīng)常使用周期性的再訓(xùn)練方法,但這往往需要領(lǐng)域知識(shí)且效率低下,并不能真正解決問題.傳統(tǒng)算法以粗粒度檢測(cè)異常,而不考慮同類型日志數(shù)據(jù)的差異或日志數(shù)據(jù)之間的不一致性.為此,本文提出了一種新的應(yīng)對(duì)不穩(wěn)定日志的異常檢測(cè)方法——EBCAD.它將新的日志和訓(xùn)練日志數(shù)據(jù)集聯(lián)系起來,并將其作為以前的經(jīng)驗(yàn)用于不穩(wěn)定日志中的決策.EBCAD選擇多個(gè)合適的算法,根據(jù)可信度共同做出決策,而不是僅依賴于單個(gè)算法做出決策.該方法在HDFS和BGL_100K兩個(gè)日志數(shù)據(jù)集上得到了良好的結(jié)果,并且在準(zhǔn)確率、召回率、F1和MCC等指標(biāo)上都取得了更好的性能,驗(yàn)證了EBCAD算法的有效性.

參考文獻(xiàn)

[1] MAKANJU A,ZINCIR-HEYWOOD A N,MILIOS E E. Fast entropy based alert detection in super computer logs [C]//2010 International Conference on Dependable Systems and Networks Workshops (DSN-W). Chicago:IEEE,2010:52-58.

[2] OPREA A,LI Z,YEN T F,et al. Detection of early-stage enterprise infection by mining large-scale log data [C]//2015 45th Annual IEEE/IFIP International Conference on Dependable Systems and Networks. Rio de Janeiro,Brazil:IEEE,2015 :45-56.

[3] XU W,HUANG L,F(xiàn)OX A,et al. Detecting large-scale system problems by mining console logs[ C]//Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles - SOSP ,09. New York:ACM Press,2009:117-132.

[4]AHMED M,NASER MAHMOOD A,HU J K. A survey of net work anomaly detection techniques [J]. Journal of Network and Computer Applications ,2016,60:19-31.

[5] LIU C B,REN Y T,LIANG M M,et al. Detecting overlapping data in system logs based on ensemble learning method[J].Wire- less Communications and Mobile Computing,2020,2020:1-8.

[6]顧兆軍,任怡彤,劉春波,等.基于一致性預(yù)測(cè)算法的內(nèi)網(wǎng)日志檢測(cè)模型[J].信息網(wǎng)絡(luò)安全,2020,20(3):45-50.

GU Z J,REN Y T,LIU C B,et al Intranet log anomaly detection model based on conformal prediction[J] Netinfo Security,2020,20⑶:45-50.(In Chinese)

[7] JORDANEY R,SHARAD K,DASH SK,et al. Transcend :detecting concept drift in malware classification models [C]//26th {USENIX} Security Symposium. 2017:625-642.

[8] ZHANG X,XU Y,LIN Q W,et al. Robust log-based anomaly detection on unstable log data[C]//Proceedings of the 2019 27th ACM Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering New York:ACM,2019:807-817.

[9]JOACHIMS T. Making large-scale SVM learning practical [R]. 1998.DOI:10.1162/153244302760200704.

[10] RISH I. An empirical study of the naive Bayes classifier[ C]//Proceedings of IJCAI 2001 Workshop on Empirical Methods in Artificial Intelligence. Seattle,USA:Morgan Kaufmann,2001:41-46.

[11] SAFAVIAN S R,LANDGREBE D. A survey of decision tree classifier methodology[J] IEEE Transactions on Systems,Man,and Cybernetics,199 21(3):660-674.

[12] RAZAVI B,BEHZAD R. RF microelectronics [M]. New York:Prentice Hall,2012.

[13] XIE X S,WANG Z,XIAO X H,et al. A confidence-guided evaluation for log parsers inner quality[J]. Mobile Networks and Applications ,202 26(4):1638-1649.

[14] HE P J,ZHU J M,HE S L,et al An evaluation study on log parsing and its use in log mining[C]//2016 46th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN). Toulouse,F(xiàn)rance:IEEE,2016:654-661.

[15] ZHU J M,HE S L,LIU J Y,et al Tools and benchmarks for automated log parsing[C]//2019 IEEE/ACM 41st International Conference on Software Engineering:Software Engineering in Practice (ICSE-SEIP). Montreal,QC,Canada:IEEE,2019:121-130.

[16] VAARANDI R A data clustering algorithm for mining patterns from event logs[ C]//Proceedings of the 3rd IEEE Workshop on IP Operations & Management (IPOM 2003).Kansas City,MO,USA:IEEE,2003:119-126.

[17] MAKANJU A,ZINCIR-HEYWOOD A N,MILIOS E E. A light-weight algorithm for message type extraction in system application logs[J]. IEEE Transactions on Knowledge and Data Engineering,201 24(11):1921-1936.

[18] FU Q,LOU J G,WANG Y,et al. Execution anomaly detection in distributed systems through unstructured log analysis [C]//2009 Ninth IEEE International Conference on Data Mining. Miami Beach,F(xiàn)L,USA:IEEE,2009:149-158.

[19] TANG L,LI T,PERNG C S.LogSig:generating system events from raw textual logs [C]//Proceedings of the 20th ACM International Conference on Information and Knowledge Management- CIKM′11. New York:ACM Press,2011:785-794.

[20] VOVK V,F(xiàn)EDOROVA V,NOURETDINOV I,et al. Criteria of efficiency for conformal prediction[C]//Conformal and Probabilistic Prediction with Applications. 2016:23-39. DOI:10.1007/978- 3-319-33395-3_2.

[21] REN Y T,GU Z J,WANG Z,et al.System log detection model based onconformal prediction[J].Electronics,2020,9(2):232.

[22] DU M,LI F F.Spell:streaming parsing of system event logs[C]// 2016 IEEE 16th International Conference on Data Mining (ICDM).Barcelona,Spain:IEEE,2016:859-864.

[23] BREIER J,BRANISOVA J. Anomaly detection from log files using data mining techniques[C]//Information Science and Applications,2015:449-457. DOI:10.1007/978-3-662-46578-3_53.

[24] XU W. System problem detection by mining console logs[D]. Berkeley:University of California at Berkeley,2010.

[25] OLINER A,STEARLEY J.What supercomputers say:a study of five system logs[C]//37th Annual IEEE/IFIP International Conference on Dependable Systems and Networks (DSN,07). Edinburgh,UK:IEEE,2007:575-584.

[26] XU W,HUANG L,F(xiàn)OX A,et al.Detecting large-scale system problems by mining console logs[C]//Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles-SOSP′09. New York:ACM Press,2009:117-132.

[27]賈統(tǒng),李影,吳中海.基于日志數(shù)據(jù)的分布式軟件系統(tǒng)故障診斷綜述[J].軟件學(xué)報(bào),2020,31(7):1997-2018.

JIA T,LI Y,WU Z H.Survey of state-of-the-art log-based failure diagnosis[J].Journal of Software,2020,31(7):1997-2018 .(In Chinese)

[28] LIU C B,PAN L L,GU Z J,et al.Valid probabilistic anomaly detection models for system logs[J].Wireless Communications and Mobile Computing,2020,2020:1-12.

猜你喜歡
異常檢測(cè)更新置信度
硼鋁復(fù)合材料硼含量置信度臨界安全分析研究
正負(fù)關(guān)聯(lián)規(guī)則兩級(jí)置信度閾值設(shè)置方法
基于度分布的流量異常在線檢測(cè)方法研究
語(yǔ)文教學(xué)中的創(chuàng)新能力培養(yǎng)
無線Mesh網(wǎng)絡(luò)安全性研究
無線Mesh網(wǎng)絡(luò)基礎(chǔ)知識(shí)
淺談燃?xì)廨啓C(jī)排氣溫度異常檢測(cè)及診斷
置信度條件下軸承壽命的可靠度分析
軸承(2015年2期)2015-07-25 03:51:04
多假設(shè)用于同一結(jié)論時(shí)綜合置信度計(jì)算的新方法?
桂林市| 克拉玛依市| 信宜市| 高州市| 林口县| 若羌县| 瑞昌市| 山西省| 福泉市| 盐山县| 望奎县| 罗江县| 昌宁县| 山阴县| 通许县| 宁陵县| 高淳县| 涿鹿县| 日照市| 建阳市| 锡林郭勒盟| 泗洪县| 新疆| 宜川县| 聂荣县| 江陵县| 曲周县| 浠水县| 同仁县| 龙州县| 壶关县| 儋州市| 平泉县| 明光市| 尼木县| 偏关县| 阿巴嘎旗| 营口市| 乌什县| 容城县| 达拉特旗|