亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CNN和Bi-LSTM的無(wú)監(jiān)督日志異常檢測(cè)模型

        2023-11-29 10:26:44尹春勇張楊春
        計(jì)算機(jī)應(yīng)用 2023年11期
        關(guān)鍵詞:日志語(yǔ)義向量

        尹春勇,張楊春

        基于CNN和Bi-LSTM的無(wú)監(jiān)督日志異常檢測(cè)模型

        尹春勇*,張楊春

        (南京信息工程大學(xué) 計(jì)算機(jī)學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,南京 210044)( ? 通信作者電子郵箱yinchunyong@hotmail.com)

        日志能記錄系統(tǒng)運(yùn)行時(shí)的具體狀態(tài),而自動(dòng)化的日志異常檢測(cè)對(duì)網(wǎng)絡(luò)安全至關(guān)重要。針對(duì)日志語(yǔ)句隨時(shí)間演變導(dǎo)致異常檢測(cè)準(zhǔn)確率低的問(wèn)題,提出一種無(wú)監(jiān)督日志異常檢測(cè)模型LogCL。首先,通過(guò)日志解析技術(shù)將半結(jié)構(gòu)化的日志數(shù)據(jù)轉(zhuǎn)換為結(jié)構(gòu)化的日志模板;其次,使用會(huì)話和固定窗口將日志事件劃分為日志序列;再次,提取日志序列的數(shù)量特征,使用自然語(yǔ)言處理技術(shù)對(duì)日志模板進(jìn)行語(yǔ)義特征提取,并利用詞頻-詞語(yǔ)逆頻率(TF-IWF)算法生成加權(quán)的句嵌入向量;最后,將特征向量輸入一個(gè)并列的基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)和雙向長(zhǎng)短期記憶(Bi-LSTM)網(wǎng)絡(luò)的模型中進(jìn)行檢測(cè)。在兩個(gè)公開(kāi)的真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,所提模型較基準(zhǔn)模型LogAnomaly在異常檢測(cè)的F1?score上分別提高了3.6和2.3個(gè)百分點(diǎn)。因此LogCL能夠?qū)θ罩緮?shù)據(jù)進(jìn)行有效的異常檢測(cè)。

        異常檢測(cè);深度學(xué)習(xí);日志分析;詞嵌入;卷積神經(jīng)網(wǎng)絡(luò);雙向長(zhǎng)短期記憶網(wǎng)絡(luò)

        0 引言

        隨著移動(dòng)通信設(shè)備和互聯(lián)網(wǎng)行業(yè)的快速發(fā)展,計(jì)算機(jī)軟件系統(tǒng)的規(guī)模越來(lái)越大,各種漏洞和故障頻繁發(fā)生,外部故障如惡意攻擊和內(nèi)部故障如內(nèi)存過(guò)載等都有可能導(dǎo)致系統(tǒng)中止,而系統(tǒng)中極小的問(wèn)題可能會(huì)影響用戶的體驗(yàn),甚至造成巨大的經(jīng)濟(jì)損失,因此準(zhǔn)確、及時(shí)地檢測(cè)異常對(duì)于提高大型系統(tǒng)的可用性和可靠性至關(guān)重要。異常檢測(cè)[1]以數(shù)據(jù)為基礎(chǔ),通過(guò)模型和算法對(duì)偏離值進(jìn)行檢測(cè),旨在發(fā)現(xiàn)異常數(shù)據(jù)。為了方便故障的識(shí)別,大多數(shù)系統(tǒng)都會(huì)在控制臺(tái)生成日志[2]。日志數(shù)據(jù)記錄系統(tǒng)運(yùn)行期間的詳細(xì)信息和應(yīng)用程序的行為,當(dāng)系統(tǒng)發(fā)生故障時(shí),操作人員可以通過(guò)日志記錄的事件檢測(cè)和調(diào)試故障維護(hù)系統(tǒng)的安全,因此日志是異常檢測(cè)最重要的信息源之一。

        雖然系統(tǒng)日志對(duì)故障診斷有很大的幫助,但是當(dāng)前計(jì)算機(jī)系統(tǒng)具有高度復(fù)雜性,產(chǎn)生的日志數(shù)量非常大,例如商業(yè)云程序每小時(shí)大約產(chǎn)生十億字節(jié)的數(shù)據(jù)[3]。處理日志異常的傳統(tǒng)方法是靠操作人員匹配正則表達(dá)式或搜索關(guān)鍵詞如“failure”來(lái)手動(dòng)分析日志,這種方法非常耗時(shí)且容易出錯(cuò),因此依賴人工分析海量數(shù)據(jù)不現(xiàn)實(shí)。多年來(lái),研究者提出了一系列基于數(shù)據(jù)驅(qū)動(dòng)的方法,通過(guò)分析日志數(shù)據(jù)自動(dòng)檢測(cè)異常,和手動(dòng)檢測(cè)相比,這些方法實(shí)現(xiàn)了更高效的檢測(cè)。例如,文獻(xiàn)[4-5]中將每種日志事件視為一個(gè)獨(dú)立的維度,通過(guò)機(jī)器學(xué)習(xí)技術(shù)挖掘日志序列的數(shù)量特征進(jìn)行異常檢測(cè),此類方法反映了序列的模式特征,但沒(méi)有考慮日志文本的語(yǔ)義信息,容易將新類型模板錯(cuò)誤地標(biāo)記為異常,導(dǎo)致了較高的誤報(bào)率。文獻(xiàn)[6-7]中基于日志模板提取語(yǔ)義特征,在一定程度上提高了異常檢測(cè)的準(zhǔn)確率。日志由單詞組成,因此單詞的語(yǔ)義決定了日志的語(yǔ)義,但現(xiàn)有方法只是簡(jiǎn)單地采用詞嵌入模型將單詞映射到詞向量中,忽略了單詞和日志語(yǔ)句之間的關(guān)系。當(dāng)前,如何高效地檢測(cè)系統(tǒng)異常仍然是一個(gè)巨大的挑戰(zhàn),這是由系統(tǒng)運(yùn)行的特點(diǎn)決定的。首先,計(jì)算機(jī)系統(tǒng)大部分時(shí)間都處于正常運(yùn)行的狀態(tài),異常狀態(tài)比較罕見(jiàn),這使正常日志和異常日志的分布并不均勻,導(dǎo)致日志數(shù)據(jù)不平衡問(wèn)題,因此普通的二元分類機(jī)制難以在異常檢測(cè)中取得較好的效果。其次,在軟件的開(kāi)發(fā)和維護(hù)中,會(huì)產(chǎn)生各種各樣的日志和復(fù)雜的異常模式,日志語(yǔ)句會(huì)不斷發(fā)生變化,日志語(yǔ)句的這種不穩(wěn)定性導(dǎo)致異常檢測(cè)準(zhǔn)確率較低。最后,當(dāng)訓(xùn)練數(shù)據(jù)平衡且足夠時(shí),監(jiān)督方法通常非常準(zhǔn)確,但由于缺乏足夠的異常數(shù)據(jù)而不適用于異常檢測(cè);而無(wú)監(jiān)督方法因?qū)ξ粗惓5母兄m用于異常檢測(cè),但是大多數(shù)方法需要提高準(zhǔn)確性,因此本文重點(diǎn)研究無(wú)監(jiān)督日志異常檢測(cè)。為了提高算法性能,提出一種無(wú)監(jiān)督日志異常檢測(cè)模型LogCL。LogCL包括三個(gè)階段:日志解析、特征提取和異常檢測(cè)。實(shí)驗(yàn)結(jié)果表明,LogCL具有通用性和優(yōu)異的檢測(cè)性能,彌補(bǔ)了傳統(tǒng)方法的不足。

        本文的主要工作如下:

        1)提出一種新型的端到端日志異常檢測(cè)模型,只需要使用部分正常的日志數(shù)據(jù)進(jìn)行訓(xùn)練,模型就能較好地學(xué)習(xí)到正常日志流的執(zhí)行模式,避免了異常檢測(cè)中數(shù)據(jù)不平衡的問(wèn)題,不需要異常日志來(lái)構(gòu)建檢測(cè)模型,能減少模型構(gòu)建的工作量;

        2)設(shè)計(jì)了兩種特征提取方式,分別提取日志序列的數(shù)量特征和語(yǔ)義特征,在語(yǔ)義表示中,充分考慮單詞的重要性程度對(duì)日志語(yǔ)句的影響,使模型對(duì)日志語(yǔ)言的演變具有魯棒性;

        3)結(jié)合卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network, CNN)和雙向長(zhǎng)短期記憶(Bi-directional Long Short-Term Memory, Bi-LSTM)網(wǎng)絡(luò)構(gòu)建了一個(gè)并列的異常檢測(cè)模型,并對(duì)兩個(gè)真實(shí)環(huán)境下收集的日志數(shù)據(jù)集進(jìn)行評(píng)估,結(jié)果驗(yàn)證了LogCL能夠有效檢測(cè)到各種故障。

        1 相關(guān)工作

        在生產(chǎn)實(shí)踐中,系統(tǒng)日志已經(jīng)被廣泛用于異常檢測(cè),目前在日志異常檢測(cè)方面的主要技術(shù)是傳統(tǒng)的機(jī)器學(xué)習(xí)和深度學(xué)習(xí)。

        傳統(tǒng)的機(jī)器學(xué)習(xí)技術(shù)能夠從各種數(shù)據(jù)中挖掘隱藏信息。Lou等[4]首次將不變量挖掘(Invariants Mining, IM)使用到日志異常檢測(cè)中,通過(guò)算法從事件計(jì)數(shù)向量中挖掘稀疏整數(shù)值的不變量,挖掘出的不變量能夠揭示程序工作流程中固有的線性特征,若檢測(cè)的日志序列不遵循不變量原則就被判定為異常。Lin等[5]使用凝聚層次聚類技術(shù)將類似的日志序列分組到集群中并且創(chuàng)建知識(shí)庫(kù),通過(guò)檢查新集群中的代表日志序列是否和已有集群中的代表序列相同來(lái)判定異常。Xu等[8]使用主成分分析法檢測(cè)異常,把日志事件矢量化為事件計(jì)數(shù)向量,將日志序列投影到正??臻g和異??臻g。對(duì)于傳入的日志序列,根據(jù)投影后日志序列所屬的空間將它識(shí)別為正常或異常。Liang等[9]訓(xùn)練支持向量機(jī)(Support Vector Machine, SVM)分類器來(lái)檢測(cè)日志事件故障。在高維空間中構(gòu)造決策超平面,使超平面和不同類別中最近的數(shù)據(jù)點(diǎn)之間的距離最大化,分離出不同的類,從而檢測(cè)異常。最近,Han等[10]提出魯棒性在線改進(jìn)異常檢測(cè)框架ROEAD(Robust Online Evolving Anomaly Detection)和OES(Online Evolving SVM)算法,利用自然語(yǔ)言處理技術(shù)去除噪聲的影響,提高了SVM算法在日志異常檢測(cè)中的性能。

        為解決基于機(jī)器學(xué)習(xí)的方法通常依賴人工設(shè)計(jì)的特征表示日志數(shù)據(jù)的問(wèn)題,深度學(xué)習(xí)逐漸受到研究者的廣泛關(guān)注,基于深度學(xué)習(xí)的日志異常檢測(cè)技術(shù)迅速發(fā)展。當(dāng)前,學(xué)術(shù)界提出了一系列基于監(jiān)督學(xué)習(xí)的方法,監(jiān)督方法將異常檢測(cè)視為正常和異常之間的二分類任務(wù)。Lu等[11]利用CNN自動(dòng)學(xué)習(xí)系統(tǒng)日志中的事件,CNN能夠利用多個(gè)過(guò)濾器挖掘日志上下文中的關(guān)系以及捕獲日志模板語(yǔ)義嵌入中的相關(guān)性。Li等[12]提出的SwissLog模型利用BERT(Bidirectional Encoder Representation from Transformers)語(yǔ)言模型編碼日志模板,將語(yǔ)義信息和日志之間的時(shí)間間隔信息相結(jié)合,訓(xùn)練了一個(gè)基于注意力機(jī)制的Bi-LSTM網(wǎng)絡(luò)檢測(cè)異常。該模型通過(guò)對(duì)不同事件賦予權(quán)重,自動(dòng)分析事件的重要性,能夠解決日志格式變化的問(wèn)題。Huang等[13]首次將Transformer模型應(yīng)用到日志異常檢測(cè)的任務(wù)中,利用分層Transformer對(duì)日志模板序列和參數(shù)值進(jìn)行建模,設(shè)計(jì)注意力機(jī)制將語(yǔ)義信息和參數(shù)值合并以進(jìn)行分類,對(duì)不穩(wěn)定的日志數(shù)據(jù)具有魯棒性。雖然監(jiān)督方法能夠正確地診斷系統(tǒng)的狀況,但它最大的缺陷是在訓(xùn)練階段需要大量的正常和異常數(shù)據(jù),而人工標(biāo)注數(shù)據(jù)是非常耗時(shí)的一項(xiàng)工作,這在現(xiàn)實(shí)生產(chǎn)環(huán)境中不易實(shí)現(xiàn);而且人工標(biāo)注數(shù)據(jù)有可能出現(xiàn)標(biāo)注錯(cuò)誤,這會(huì)導(dǎo)致模型在檢測(cè)時(shí)產(chǎn)生誤報(bào),無(wú)法達(dá)到很好的效果。

        由于監(jiān)督學(xué)習(xí)存在無(wú)法克服的缺點(diǎn),相關(guān)研究者也進(jìn)行了無(wú)監(jiān)督和半監(jiān)督方法的研究。Du等[14]提出的DeepLog框架把日志信息當(dāng)作自然語(yǔ)言序列處理,從正常執(zhí)行流中自動(dòng)學(xué)習(xí)日志模式,通過(guò)確定傳入的日志事件是否違反堆疊式LSTM模型的預(yù)測(cè)結(jié)果來(lái)檢測(cè)異常。Meng等[6]設(shè)計(jì)了一種基于同義詞和反義詞的模板表示方法template2vec,將傳入的日志事件與現(xiàn)有的模板匹配,而不是直接將它們標(biāo)記為異常,從而提高了準(zhǔn)確性。Yang等[15]提出了基于概率標(biāo)簽估計(jì)的半監(jiān)督學(xué)習(xí)框架PLELog,采用聚類方法HDBSCAN[16]對(duì)未標(biāo)記日志序列的標(biāo)簽進(jìn)行概率估計(jì),解決了標(biāo)簽不足的問(wèn)題;并設(shè)計(jì)了一種基于注意力機(jī)制的門控循環(huán)單元神經(jīng)網(wǎng)絡(luò)進(jìn)行異常檢測(cè)。Li等[17]使用深度時(shí)間卷積網(wǎng)絡(luò)從日志事件中提取細(xì)粒度特征,并開(kāi)發(fā)了一個(gè)新型聯(lián)邦學(xué)習(xí)框架以支持互聯(lián)網(wǎng)設(shè)備建立更全面的異常檢測(cè)模型。Duan等[18]使用一種基于值函數(shù)的強(qiáng)化學(xué)習(xí)方法Q?learning[19]構(gòu)建異常檢測(cè)模型,從正常執(zhí)行中學(xué)習(xí)日志模式的有向非循環(huán)圖,求解每個(gè)日志執(zhí)行路徑的Q值,并使用Q值確定日志序列是否異常。

        考慮到日志語(yǔ)句會(huì)隨著時(shí)間而改變,現(xiàn)有的方法無(wú)法充分利用日志的語(yǔ)義特征,當(dāng)系統(tǒng)更新引入新類型日志模板時(shí),現(xiàn)有的模型難以準(zhǔn)確檢測(cè)出新類型的日志模板,為此,提出了LogCL模型解決這一問(wèn)題。

        2 無(wú)監(jiān)督日志異常檢測(cè)模型LogCL

        本文LogCL模型的框架如圖1所示,主要包括離線訓(xùn)練和在線檢測(cè)兩個(gè)階段,每個(gè)階段主要包括三個(gè)步驟:預(yù)處理、特征提取和異常檢測(cè)。

        2.1 預(yù)處理

        日志數(shù)據(jù)詳細(xì)記錄系統(tǒng)的狀態(tài)和性能指標(biāo),而不同系統(tǒng)產(chǎn)生的日志形式區(qū)別大、異構(gòu)復(fù)雜性高,這給異常檢測(cè)帶來(lái)了一定的困難,圖2顯示了3種不同的系統(tǒng)日志。

        可以看出,一條日志由HEADER和MESSAGE兩部分組成。其中,HEADER包含不同的字段如時(shí)間戳、消息類型、消息級(jí)別如“INFO”等。MESSAGE是一種沒(méi)有格式約束的文本,由常量部分和變量部分組成:常量部分即描述日志事件的關(guān)鍵字,變量部分是隨著系統(tǒng)運(yùn)行而動(dòng)態(tài)變化的參數(shù)。使用原始日志事件難以從海量日志數(shù)據(jù)中提取出有價(jià)值的信息,因此需要日志解析技術(shù)從半結(jié)構(gòu)化日志數(shù)據(jù)中提取出結(jié)構(gòu)化的日志模板,去除無(wú)關(guān)的冗余信息和噪聲。日志解析通過(guò)刪除變量參數(shù)保留常量關(guān)鍵字提取日志模板,這一過(guò)程可以由式(1)表示:

        其中:F表示映射函數(shù),將日志事件Li映射到日志模板Ti。當(dāng)前日志解析方法基于數(shù)據(jù)挖掘技術(shù)可以分為三類:基于頻繁模式挖掘、啟發(fā)式和聚類。例如,Logram[20]利用n-gram字典實(shí)現(xiàn)高效的日志解析;LogStamp[21]考慮到了語(yǔ)義,將日志解析問(wèn)題轉(zhuǎn)換為序列標(biāo)記問(wèn)題,能夠在線自動(dòng)解析日志?;趩l(fā)式的方法認(rèn)為日志和一般的文本數(shù)據(jù)相比具有一些獨(dú)有的特征,在準(zhǔn)確性和時(shí)間效率方面優(yōu)于其他技術(shù),因此本文使用基于啟發(fā)式方法的日志解析器Drain[22]。Drain利用固定深度解析樹(shù)維護(hù)日志組,通過(guò)遍歷樹(shù)中的葉節(jié)點(diǎn)形成日志模板,能夠以流式的方式解析日志。圖3展示了將HDFS日志事件映射到模板的過(guò)程,一條日志“Verification succeeded for blk_-2827716238972737794”被替換為模板“Verification succeeded for<*>”,其中參數(shù)被抽象為<*>符號(hào)。

        圖2 日志示例

        圖3 HDFS日志解析過(guò)程

        此后,對(duì)解析出來(lái)的日志模板進(jìn)行數(shù)據(jù)處理,以便后續(xù)進(jìn)行特征提取。首先刪除非字母的內(nèi)容,包括標(biāo)點(diǎn)符號(hào)、空格、下畫線、換行符等。未登錄詞(Out Of Vocabulary, OOV)是指訓(xùn)練語(yǔ)料庫(kù)中沒(méi)有出現(xiàn)過(guò)的詞,又稱為集外詞。日志模板中存在一些罕見(jiàn)的長(zhǎng)詞難以提取信息,為了更好地解決OOV問(wèn)題,使用自然語(yǔ)言處理中的子詞分割方法來(lái)減少詞匯量,例如長(zhǎng)詞“addStoredBlock”被拆分為3個(gè)頻繁出現(xiàn)的子詞“add”“stored”“block”,通過(guò)這種方法可以有效減少OOV單詞的數(shù)量。停用詞是在信息檢索工作中為了提高搜索效率而忽略掉的某些詞,例如“is”“the”等,這些詞對(duì)日志數(shù)據(jù)的處理沒(méi)有價(jià)值,利用Python中的NLTK庫(kù)去除停用詞。

        2.2 特征提取

        預(yù)處理之后,以日志模板作為輸入來(lái)提取特征。本文從兩個(gè)方面進(jìn)行特征提取,即數(shù)量特征提取和語(yǔ)義特征提取。

        2.2.1數(shù)量特征提取

        2.2.2語(yǔ)義特征提取

        日志事件的大部分內(nèi)容是英文單詞,這些單詞自身都有語(yǔ)義,例如“succeeded”和“failed”的語(yǔ)義完全不同,“finished”和“completed”有著相近的語(yǔ)義。隨著計(jì)算機(jī)系統(tǒng)的升級(jí)等,日志事件的語(yǔ)法會(huì)產(chǎn)生改變,但是發(fā)生異常時(shí)的語(yǔ)義是相同或者相近的。因此日志的向量表示需要滿足兩個(gè)條件:一方面應(yīng)當(dāng)使語(yǔ)義相似的單詞具有空間上相近的向量,即向量之間的余弦相似度較高;另一方面應(yīng)該具備可區(qū)分性,即能夠表示出不同日志事件之間的語(yǔ)義差異。在大量文本語(yǔ)料庫(kù)上預(yù)先訓(xùn)練過(guò)的通用語(yǔ)言模型可以保留一般的文本結(jié)構(gòu),當(dāng)前部分工作如PLELog[15]和CNN-BiLSTM[23]利用Word2Vec或GloVe來(lái)提取詞向量,這兩種模型都是以單詞作為基本單位進(jìn)行訓(xùn)練的,這種方式僅能對(duì)詞庫(kù)中的單詞進(jìn)行向量表示而無(wú)法處理OOV的情況,并且也難以處理同一單詞的變形如ing形式。而FastText[24]使用更小的單位即字母來(lái)訓(xùn)練詞向量,考慮了局部詞序特征,可以有效處理長(zhǎng)詞和OOV單詞,使同一單詞的不同形式擁有相似的詞向量。因此本文使用自然語(yǔ)言模型FastText在Common Crawl和維基百科語(yǔ)料庫(kù)預(yù)訓(xùn)練的詞向量,從預(yù)處理后的日志事件中提取每個(gè)單詞的語(yǔ)義信息。

        FastText算法可以快速捕獲自然語(yǔ)言中單詞之間的內(nèi)在關(guān)系,該模型首先使用-gram方法,考慮字符級(jí)別的信息,生成用來(lái)表示語(yǔ)料的向量,并且使用分層softmax線性分類器計(jì)算概率分布,大幅減少了模型訓(xùn)練的時(shí)間。損失函數(shù)為:

        其中:為樣本個(gè)數(shù);為第個(gè)樣本的正則化特征,為第個(gè)樣本對(duì)應(yīng)的特征標(biāo)簽;和是權(quán)重矩陣;為softmax函數(shù)。

        在獲取每個(gè)單詞的詞嵌入向量之后,將每一條日志事件都看作自然語(yǔ)言中的句子。采用詞頻-詞語(yǔ)逆頻率(Term Frequency-Inverse Word Frequency, TF-IWF)算法[25]表示每個(gè)單詞和日志事件的關(guān)系。TF-IWF改進(jìn)了詞頻-逆向文件頻率算法,是一種廣泛應(yīng)用于信息檢索和數(shù)據(jù)挖掘的加權(quán)技術(shù),可以有效地衡量單詞在句子中的重要性,其中,TF詞頻矩陣度量一個(gè)單詞與給定文本的關(guān)聯(lián),IWF度量該單詞的重要性,計(jì)算公式如下:

        每個(gè)日志事件的句嵌入向量都有相同的維度,語(yǔ)義特征提取模塊使LogCL能夠區(qū)分不同的日志事件,處理不穩(wěn)定的日志數(shù)據(jù)。

        2.3 異常檢測(cè)

        本文基于CNN和Bi-LSTM構(gòu)造了并列異常檢測(cè)模型CL,如圖1所示,其中CL1負(fù)責(zé)處理日志計(jì)數(shù)向量,CL2負(fù)責(zé)處理語(yǔ)義特征向量,將CL1和CL2的輸出結(jié)果進(jìn)行合并操作之后輸入到全連接層進(jìn)行線性變換得到預(yù)測(cè)的結(jié)果。異常檢測(cè)的網(wǎng)絡(luò)結(jié)構(gòu)具體如圖4所示。

        圖4 異常檢測(cè)網(wǎng)絡(luò)結(jié)構(gòu)

        由于CNN的卷積層可以提取局部特征信息,在日志序列中,相鄰的日志具有一定的相關(guān)性,因此本文采用一維卷積1D-CNN[26]來(lái)學(xué)習(xí)日志序列內(nèi)部的模式,1D-CNN只執(zhí)行一維卷積即標(biāo)量的乘法和加法,它的配置簡(jiǎn)單且有效,適合用于從固定長(zhǎng)度的片段中提取特征。使用一維卷積核掃描日志序列的嵌入向量,采用兩端補(bǔ)0的方式解決維度不平衡問(wèn)題。

        2.4 復(fù)雜度分析

        3 實(shí)驗(yàn)與結(jié)果分析

        3.1 實(shí)驗(yàn)環(huán)境與數(shù)據(jù)集

        本實(shí)驗(yàn)開(kāi)發(fā)語(yǔ)言為Python 3.8,使用深度學(xué)習(xí)框PyTorch 1.10.2構(gòu)建模型,在Windows 11 (64 bit)、AMD Ryzen 7 5800 8?Core處理器、16 GB內(nèi)存的環(huán)境下運(yùn)行,使用GeForce RTX 3060 GPU加速模型訓(xùn)練。

        為了訓(xùn)練和評(píng)估所提方法,使用了2個(gè)從真實(shí)應(yīng)用環(huán)境中采集的數(shù)據(jù)集:HDFS和BGL,以上數(shù)據(jù)集均從開(kāi)放的日志數(shù)據(jù)集合Loghub(https://github.com/logpai/loghub)中獲得,具體信息如表1所示。

        表1 兩個(gè)數(shù)據(jù)集的統(tǒng)計(jì)信息

        HDFS:該數(shù)據(jù)集從亞馬遜EC2平臺(tái)上203個(gè)節(jié)點(diǎn)的集群收集,共包含11 175 629條日志事件,由Hadoop領(lǐng)域?qū)<野凑誦lock_id標(biāo)識(shí)符分組進(jìn)行標(biāo)記,共分成575 061條序列,其中異常序列16 838條,HDFS的block_id記錄每個(gè)數(shù)據(jù)塊操作如寫入、復(fù)制、刪除等。

        BGL:該數(shù)據(jù)集由勞倫斯利弗莫爾國(guó)家實(shí)驗(yàn)室的BlueGene/L超級(jí)計(jì)算機(jī)系統(tǒng)記錄,包含4 747 963條日志信息,其中有348 460條異常日志。

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

        采用精確度、召回率和F1-score(1)作為評(píng)價(jià)指標(biāo):精確度是指正確識(shí)別為異常的日志序列占模型識(shí)別為異常的所有序列的比值;召回率是正確識(shí)別為異常的日志序列占所有實(shí)際異常的比值;F1-score是精確度和召回率的調(diào)和平均數(shù)。它們的計(jì)算公式如下:

        其中:(True Positive)表示異常日志序列被模型判定為異常的數(shù)量;(False Negative)表示異常日志序列被模型判定為正常的數(shù)量;(False Positive)表示正常日志序列被模型判定為異常的數(shù)量。

        3.3 實(shí)驗(yàn)設(shè)置

        3.4 實(shí)驗(yàn)結(jié)果

        本文選擇三種基于機(jī)器學(xué)習(xí)的方法(LogCluster[5]、ADR[28]和OES[10])和五種基于深度學(xué)習(xí)的方法(DeepLog[14]、LogAnomaly[6]、LogBERT[7]、CNN-BiLSTM[23]和LogRobust[29])作為基準(zhǔn)模型,詳情如表2所示。

        表2 基準(zhǔn)模型詳情

        實(shí)驗(yàn)結(jié)果如表3所示,可以看出,使用日志語(yǔ)義表示的方法的魯棒性普遍較好,而只提取數(shù)量特征的方法LogCluster效果較差,這表明從語(yǔ)義角度理解日志序列的內(nèi)容可以提高對(duì)異常的檢測(cè)率。在兩個(gè)數(shù)據(jù)集上,LogCL的F1-score指標(biāo)都超過(guò)了0.98,領(lǐng)先所有的無(wú)監(jiān)督方法,比使用語(yǔ)義特征提取的基準(zhǔn)模型LogAnomaly分別高出3.6和2.3個(gè)百分點(diǎn)。這是由于LogAnomaly僅僅構(gòu)造同義詞和反義詞集,無(wú)法識(shí)別到專業(yè)領(lǐng)域的詞,從而只能捕獲到有限的語(yǔ)義特征;而LogCL使用的FastText不需要操作人員手動(dòng)更新詞庫(kù),并且考慮到了單詞的重要性程度對(duì)日志語(yǔ)句的影響,使日志語(yǔ)句的語(yǔ)義特征表示更加準(zhǔn)確,從而能獲得最佳的性能。CNN-BiLSTM方法在異常檢測(cè)部分同樣結(jié)合了CNN和Bi?LSTM,不同的是該方法使用的是并行結(jié)構(gòu),利用CNN和Bi?LSTM分別來(lái)處理參數(shù)和日志模板;而本文使用的是串行結(jié)構(gòu),同時(shí)學(xué)習(xí)日志的局部特征和前后依賴性特征。CNN?BiLSTM方法采用Word2Vec提取詞向量,但Word2Vec只能對(duì)詞庫(kù)中的單詞進(jìn)行向量化,難以處理OOV的情況,并且僅僅表示了單詞的詞向量,忽略了單詞和日志語(yǔ)句之間的聯(lián)系,因此該方法的性能不佳。

        表3 HDFS和BGL數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果

        在HDFS數(shù)據(jù)集上,LogCL表現(xiàn)出了較好的檢測(cè)效果,精確度和召回率達(dá)到了0.985以上,LogCluster取得了最高的精確度,但是召回率過(guò)低,導(dǎo)致F1-score較低,說(shuō)明該方法遺漏了很多異常,而對(duì)異常檢測(cè)而言,召回率是比精確度更重要的指標(biāo),因?yàn)槁z異??赡軙?huì)導(dǎo)致巨大的經(jīng)濟(jì)損失和其他的潛在危險(xiǎn)。雖然監(jiān)督方法LogRobust總體上比無(wú)監(jiān)督方法表現(xiàn)好,但是監(jiān)督方法需要標(biāo)記大量的異常數(shù)據(jù),標(biāo)記工作需要系統(tǒng)領(lǐng)域的專業(yè)知識(shí),而LogCL只需要使用正常的數(shù)據(jù)進(jìn)行訓(xùn)練,這在實(shí)際生產(chǎn)中非常容易收集,因?yàn)楫?dāng)系統(tǒng)正常運(yùn)行而沒(méi)有任何警報(bào)時(shí),所產(chǎn)生的日志都可以視為正常日志,因此更具有實(shí)用性。在BGL數(shù)據(jù)集上,LogCL表現(xiàn)出了最好的異常檢測(cè)效果,F(xiàn)1-score達(dá)到了0.983,比ADR高出1.6個(gè)百分點(diǎn)。ADR的召回率達(dá)到了1.000,說(shuō)明該方法可以追蹤所有的異常,但是它的精確度不高,錯(cuò)誤地將正常日志序列判定為異常,導(dǎo)致模型產(chǎn)生假警報(bào),從而浪費(fèi)操作人員大量的時(shí)間。在這個(gè)數(shù)據(jù)集上,LogRobust的效果不如部分無(wú)監(jiān)督方法,說(shuō)明該方法通用性不強(qiáng)。

        為了研究LogCL對(duì)新類型日志的檢測(cè)效果,統(tǒng)計(jì)了訓(xùn)練數(shù)據(jù)中出現(xiàn)的日志模板數(shù)量,如表1所示。HDFS的訓(xùn)練數(shù)據(jù)中共出現(xiàn)15種模板,占總數(shù)的50.0%,BGL的訓(xùn)練數(shù)據(jù)中共出現(xiàn)185種模板,占總數(shù)的48.9%,可以看出測(cè)試數(shù)據(jù)中的新類型模板數(shù)量都在總數(shù)的一半或以上,對(duì)于日志數(shù)據(jù)的這種不穩(wěn)定性,LogCL可以通過(guò)學(xué)習(xí)OOV詞的語(yǔ)義特征來(lái)判定新類型模板是否異常。為了進(jìn)一步評(píng)估模型對(duì)新類型模板的有效性,在HDFS上使用3 000~6 000條序列進(jìn)行訓(xùn)練,表4統(tǒng)計(jì)了新模板的比例和檢測(cè)結(jié)果,可以看到隨著訓(xùn)練比率的增加,在測(cè)試集上新類型模板的占比從56.7%降低到46.7%,模型表現(xiàn)出了出色的效果,即使在新模板占比高達(dá)56.7%時(shí),F(xiàn)1-score也達(dá)到了0.969,由于經(jīng)過(guò)語(yǔ)義表示的正常日志事件在發(fā)生變化后,它的語(yǔ)義向量仍然可以被表示為和原始事件相似的向量,而異常事件的向量和正常事件的向量相差較大,因此LogCL對(duì)不穩(wěn)定的日志事件具有魯棒性。

        3.5 參數(shù)分析

        圖5展示了兩個(gè)數(shù)據(jù)集中候選模板數(shù)對(duì)檢測(cè)效果的影響,將其他參數(shù)設(shè)置為默認(rèn)值??梢钥闯霎?dāng)過(guò)小時(shí),模型可以檢測(cè)到所有的異常數(shù)據(jù),但代價(jià)是將大量正常日志也判定為異常,當(dāng)過(guò)大時(shí)會(huì)遺漏很多異常。在HDFS數(shù)據(jù)集上,當(dāng)參數(shù)在6~16時(shí),模型表現(xiàn)出了較高的性能,在BGL數(shù)據(jù)集上,=20時(shí)達(dá)到了很好的效果,超過(guò)100時(shí)檢測(cè)效率下降。實(shí)驗(yàn)結(jié)果表明,通過(guò)合理設(shè)置參數(shù)可以平衡精確度和召回率,從而得到最優(yōu)的F1-score。

        表4 對(duì)新類型日志的評(píng)估結(jié)果

        圖5 候選模板數(shù)對(duì)模型性能的影響

        3.6 消融實(shí)驗(yàn)

        為了評(píng)估每個(gè)模塊對(duì)實(shí)驗(yàn)結(jié)果的影響,在HDFS數(shù)據(jù)集上進(jìn)行了三個(gè)方面的消融實(shí)驗(yàn),結(jié)果如表5所示,其中:A模型是在LogCL中去除語(yǔ)義特征提取模塊;B模型是在LogCL中去除日志計(jì)數(shù)向量即數(shù)量特征提取模塊;C模型是在異常檢測(cè)算法中去除1D-CNN層??梢钥闯稣Z(yǔ)義特征提取使模型檢測(cè)的F1-score性能提高了4.1個(gè)百分點(diǎn),這表明將日志事件視為自然語(yǔ)言來(lái)處理效果很好。日志計(jì)數(shù)向量和1D?CNN使模型的F1-score分別提高了0.9和0.7個(gè)百分點(diǎn),消融實(shí)驗(yàn)的結(jié)果表明這三個(gè)模塊對(duì)異常檢測(cè)都有一定的作用。

        表5 消融實(shí)驗(yàn)結(jié)果

        4 結(jié)語(yǔ)

        為了解決日志數(shù)據(jù)的類不平衡問(wèn)題,本文提出了一種無(wú)監(jiān)督異常檢測(cè)模型LogCL,通過(guò)判定數(shù)據(jù)是否符合正常日志流運(yùn)行模式來(lái)檢測(cè)異常。針對(duì)日志語(yǔ)句隨時(shí)間演變導(dǎo)致異常檢測(cè)準(zhǔn)確率低的問(wèn)題,使用自然語(yǔ)言處理技術(shù)提取日志中單詞的語(yǔ)義特征,通過(guò)TF-IWF算法得到加權(quán)的句嵌入向量,語(yǔ)義特征提取使得模型能夠應(yīng)對(duì)新類型的日志模板。結(jié)合CNN和Bi-LSTM的神經(jīng)網(wǎng)絡(luò)能夠同時(shí)學(xué)習(xí)到日志的局部特征和內(nèi)部的前后依賴性特征,實(shí)驗(yàn)結(jié)果表明,LogCL在異常檢測(cè)任務(wù)上具有較好的效果。本文語(yǔ)義特征提取的重點(diǎn)對(duì)象是單條日志語(yǔ)句,在生產(chǎn)實(shí)際中,操作人員有時(shí)會(huì)基于多條日志一起分析故障,因此在以后的工作中將研究多類型日志的語(yǔ)義特征表示。當(dāng)前大型系統(tǒng)日志的規(guī)模不斷擴(kuò)大,日志模板數(shù)量隨之增加,未來(lái)也將探索更高效的語(yǔ)義提取方法從而減少日志異常檢測(cè)的執(zhí)行時(shí)間和內(nèi)存計(jì)算成本。

        [1] RUFF L, KAUFFMANN J R, VANDERMEULEN R A, et al. A unifying review of deep and shallow anomaly detection[J]. Proceedings of the IEEE, 2021, 109(5): 756-795.

        [2] HE S, HE P, CHEN Z, et al. A survey on automated log analysis for reliability engineering[J]. ACM Computing Surveys, 2022, 54(6): No.130.

        [3] LE V H, ZHANG H. Log-based anomaly detection with deep learning: how far are we?[C]// Proceedings of the 44th International Conference on Software Engineering. New York: ACM, 2022: 1356-1367.

        [4] LOU J G, FU Q, YANG S, et al. Mining invariants from console logs for system problem detection[C]// Proceedings of the 2010 USENIX Annual Technical Conference. Berkeley: USENIX Association, 2010: 1-14.

        [5] LIN Q, ZHANG H, LOU J G, et al. Log clustering based problem identification for online service systems[C]// Proceedings of the IEEE/ACM 38th International Conference on Software Engineering Companion. New York: ACM, 2016: 102-111.

        [6] MENG W, LIU Y, ZHU Y, et al. LogAnomaly: unsupervised detection of sequential and quantitative anomalies in unstructured logs[C]// Proceedings of the 28th International Joint Conference on Artificial Intelligence. California: ijcai.org, 2019: 4739-4745.

        [7] GUO H, YUAN S, WU X. LogBERT: log anomaly detection via BERT[C]// Proceedings of the 2021 International Joint Conference on Neural Networks. Piscataway: IEEE, 2021: 1-8.

        [8] XU W, HUANG L, FOX A, et al. Detecting large-scale system problems by mining console logs[C]// Proceedings of the ACM SIGOPS 22nd Symposium on Operating Systems Principles. New York: ACM, 2009: 117-132.

        [9] LIANG Y, ZHANG Y, XIONG H, et al. Failure prediction in IBM BlueGene/L event logs[C]// Proceedings of the 7th IEEE International Conference on Data Mining. Piscataway: IEEE, 2007: 583-588.

        [10] HAN S, WU Q, ZHANG H, et al. Log-based anomaly detection with robust feature extraction and online learning[J]. IEEE Transactions on Information Forensics and Security, 2021, 16: 2300-2311.

        [11] LU S, WEI X, LI Y, et al. Detecting anomaly in big data system logs using convolutional neural network[C]// Proceedings of the IEEE 16th International Conference on Dependable, Autonomic and Secure Computing/ IEEE 16th International Conference on Pervasive Intelligence and Computing/ IEEE 4th International Conference on Big Data Intelligence and Computing/ IEEE 3rd Cyber Science and Technology Congress. Piscataway: IEEE, 2018: 151-158.

        [12] LI X, CHEN P, JING L, et al. SwissLog: robust and unified deep learning based log anomaly detection for diverse faults[C]// Proceedings of the IEEE 31st International Symposium on Software Reliability Engineering. Piscataway: IEEE, 2020: 92-103.

        [13] HUANG S, LIU Y, FUNG C, et al. HitAnomaly: hierarchical transformers for anomaly detection in system log[J]. IEEE Transactions on Network and Service Management, 2020, 17(4): 2064-2076.

        [14] DU M, LI F, ZHENG G, et al. DeepLog: anomaly detection and diagnosis from system logs through deep learning[C]// Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security. New York: ACM, 2017: 1285-1298.

        [15] YANG L, CHEN J, WANG Z, et al. Semi-supervised log-based anomaly detection via probabilistic label estimation[C]// Proceedings of the IEEE/ACM 43rd International Conference on Software Engineering. Piscataway: IEEE, 2021: 1448-1460.

        [16] McINNES L, HEALY J, ASTELS S. HDBSCAN: hierarchical density based clustering[J]. The Journal of Open Source Software, 2017, 2(11): No.205.

        [17] LI B, MA S, DENG R, et al. Federated anomaly detection on system logs for the internet of things: a customizable and communication-efficient approach[J]. IEEE Transactions on Network and Service Management, 2022, 19(2): 1705-1716.

        [18] DUAN X, YING S, YUAN W, et al. QLLog: a log anomaly detection method based on Q-learning algorithm[J]. Information Processing and Management, 2021, 58(3): No.102540.

        [19] CLIFTON J, LABER E. Q-learning: theory and applications[J]. Annual Review of Statistics and Its Application, 2020, 7: 279-301.

        [20] DAI H, LI H, CHEN C S, et al. Logram: efficient log parsing using-gram dictionaries[J]. IEEE Transactions on Software Engineering, 2022, 48(3): 879-892.

        [21] TAO S, MENG W, CHENG Y, et al. LogStamp: automatic online log parsing based on sequence labelling[J]. ACM SIGMETRICS Performance Evaluation Review, 2022, 49(4): 93-98.

        [22] HE P, ZHU J, ZHENG Z, et al. Drain: an online log parsing approach with fixed depth tree[C]// Proceedings of the 2017 IEEE International Conference on Web Services. Piscataway: IEEE, 2017: 33-40.

        [23] 孫嘉,張建輝,卜佑軍,等.基于CNN-BiLSTM模型的日志異常檢測(cè)方法[J].計(jì)算機(jī)工程,2022,48(7):151-158. (SUN J, ZHANG J H, BU Y J, et al. Log anomaly detection method based on CNN-BiLSTM model[J]. Computer Engineering, 2022, 48(7): 151-158.)

        [24] GRAVE E, BOJANOWSKI P, GUPTA P, et al. Learning word vectors for 157 languages[C]// Proceedings of the 11th International Conference on Language Resources and Evaluation. [S.l.]: European Language Resources Association, 2018: 3483-3487.

        [25] 王小林,楊林,王東,等. 改進(jìn)的TF-IDF關(guān)鍵詞提取方法[J]. 計(jì)算機(jī)科學(xué)與應(yīng)用, 2013, 3(1): 64-68.(WANG X L, YANG L, WANG D, et al. Improved TF-IDF keyword extraction algorithm[J]. Computer Science and Application, 2013, 3(1): 64-68.)

        [26] KIRANYAZ S, AVCI O, ABDELJABER O, et al. 1D convolutional neural networks and applications: a survey[J]. Mechanical Systems and Signal Processing, 2021, 151: No.107398.

        [27] LINDEMANN B, MASCHLER B, SAHLAB N, et al. A survey on anomaly detection for technical systems using LSTM networks[J]. Computers in Industry, 2021, 131: No.103498.

        [28] ZHANG B, ZHANG H, MOSCATO P, et al. Anomaly detection via mining numerical workflow relations from logs[C]// Proceedings of the 2020 International Symposium on Reliable Distributed Systems. Piscataway: IEEE, 2020: 195-204.

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

        Unsupervised log anomaly detection model based on CNN and Bi-LSTM

        YIN Chunyong*, ZHANG Yangchun

        (,,210044,)

        Logs can record the specific status of the system during the operation, and automated log anomaly detection is critical to network security. Concerning the problem of low accuracy in anomaly detection caused by the evolution of log sentences over time, an unsupervised log anomaly detection model LogCL was proposed. Firstly, the log parsing technique was used to convert semi-structured log data into structured log templates. Secondly, the sessions and fixed windows were employed to divide log events into log sequences. Thirdly, quantitative characteristics of the log sequences were extracted, natural language processing technique was used to extract semantic features of log templates, and Term Frequency-Inverse Word Frequency (TF-IWF) algorithm was utilized to generate weighted sentence embedding vectors. Finally, the feature vectors were input into a parallel model based on Convolutional Neural Network (CNN) and Bi-directional Long Short-Term Memory (Bi-LSTM) network for detection. Experimental results on two public real datasets show that the proposed model improves the anomaly detection F1-score by 3.6 and 2.3 percentage points respectively compared with the baseline model LogAnomaly. Therefore, LogCL can perform effectively on log anomaly detection.

        anomaly detection; deep learning; log analysis; word embedding; Convolutional Neural Network (CNN); Bi-directional Long Short-Term Memory (Bi-LSTM) network

        1001-9081(2023)11-3510-07

        10.11772/j.issn.1001-9081.2022111738

        2022?11?22;

        2023?03?19;

        尹春勇(1977—),男,山東濰坊人,教授,博士生導(dǎo)師,博士,主要研究方向:網(wǎng)絡(luò)空間安全、大數(shù)據(jù)挖掘、隱私保護(hù)、人工智能、新型計(jì)算; 張楊春(1999—),女,江蘇南通人,碩士研究生,主要研究方向:異常檢測(cè)、深度學(xué)習(xí)、日志分析。

        TP391.1

        A

        2023?03?23。

        YIN Chunyong, born in 1977, Ph. D., professor. His research interests include cyberspace security, big data mining, privacy protection, artificial intelligence, new computing.

        ZHANG Yangchun, born in 1999, M. S. candidate. Her research interests include anomaly detection, deep learning, log analysis.

        猜你喜歡
        日志語(yǔ)義向量
        向量的分解
        一名老黨員的工作日志
        聚焦“向量與三角”創(chuàng)新題
        扶貧日志
        心聲歌刊(2020年4期)2020-09-07 06:37:14
        語(yǔ)言與語(yǔ)義
        游學(xué)日志
        “上”與“下”語(yǔ)義的不對(duì)稱性及其認(rèn)知闡釋
        向量垂直在解析幾何中的應(yīng)用
        向量五種“變身” 玩轉(zhuǎn)圓錐曲線
        認(rèn)知范疇模糊與語(yǔ)義模糊
        日日摸夜夜添夜夜添高潮喷水| 日本精品久久性大片日本| 91精品啪在线观看国产色| 国产午夜亚洲精品国产成人av| 欧美人与动人物牲交免费观看久久| 国产一区日韩二区欧美三区| 日韩少妇无码一区二区免费视频| 色婷婷亚洲一区二区三区在线| 亚洲三区在线观看内射后入| 国产午夜福利在线播放| 色爱无码A V 综合区| 精品中文字幕久久久人妻| 超碰国产精品久久国产精品99| 国产高清一区二区三区视频| JIZZJIZZ国产| 国产一区二区三区精品成人爱| 动漫在线无码一区| 秋霞国产av一区二区三区| 国产亚洲午夜精品久久久| 免费人成网在线观看品观网| 色欲色香天天天综合网www| 国产综合无码一区二区色蜜蜜| 日本手机在线| 中文字幕亚洲综合久久久| 少妇高潮av久久久久久| 亚洲中文字幕无码专区| 超碰性爱| 国产一区二区三区视频在线观看| 国产ww久久久久久久久久| 欧美精品在线一区| 日本高清在线一区二区| 中文字幕无码成人片| 性一交一乱一伦a片| 国产91第一页| 亚洲成年国产一区二区| 玩50岁四川熟女大白屁股直播| 亚洲AV无码久久久一区二不卡| 亚洲中字永久一区二区三区| 久久精品国产字幕高潮| 亚洲另类自拍丝袜第五页| 日韩精品极品视频在线观看蜜桃|