針對計算機系統的行為異常自動檢測方法及檢測系統的制作方法
【專利摘要】本發明涉及一種針對計算機系統的行為異常自動檢測方法及檢測系統,通過監控系統以時間序列的形式采集被檢查機器的歷史性能指標數據和實時性能指標數據,由時間序列預處理算法進行數據分段,去噪,尖峰點提取以及時間序列重建步驟,通過時間序列動態對齊算法進行各段時間序列之間的行為相似性進行計算從而構建時間序列相似性矩陣,最后由馬爾科夫隨機游走排序算法從相似性矩陣當中計算出各個時間段的行為異常指數。本發明針對計算機系統中的行為異常檢測問題,全面考慮一段時間內的機器行為特征,通過各時段行為相互之間的相似性,采用馬爾科夫隨機游走排序進行全面的排序和異常評分,獲得高自動化高檢出率,無需訓練的智能化行為異常檢測。
【專利說明】針對計算機系統的行為異常自動檢測方法及檢測系統
【技術領域】
[0001]本發明涉及一種行為異常自動檢測方法及檢測系統,尤其涉及一種針對計算機系統的行為異常自動檢測方法及檢測系統。
【背景技術】
[0002]隨著計算機硬件軟件的技術不斷提高,網絡技術不斷進步,計算機成為目前人們生產生活當中必不可少的部分。特別是在近幾年來高速互聯網絡普及和計算機處理性能飛躍性提升,以及虛擬化技術的不斷完善的推動下,計算機作為一種計算資源在當前社會的使用中往往承擔著非常重要的任務諸如重要信息的存取,關鍵工作的計算等等。許多的企業系統和政府部門服務現在都有大型的計算機系統來進行支撐。因此計算機系統的穩定性和可靠性是目前的使用環境下必須要保證的重要方面。隨著目前計算機科學技術的不斷發展,軟件硬件復雜性持續提高,同時計算機系統特別是云計算平臺這類大型系統的使用方式也日益復雜。有研究表明由于系統本身結構的復雜化和使用模式的復雜化,我們所面對的系統異常無論是在數量上還是種類上也是隨之而不斷增加的。計算機系統當中的異常會直接影響到運行在其上的程序的性能甚至結果,可能對于承載在計算機上的各種任務造成不可估量的負面影響,直接損害到企業和部門的正常工作程序甚至于造成經濟損失。如果能夠自動化發現計算機系統當中存在的異常,那么就可以縮短異常發現和異常應對時間,減少異常持續時間從而減小異常造成的損害,同時給異常自動化應對打下基礎。
[0003]系統行為異常是指在系統運行期間,在一定時間段內出現的系統行為模式,包括系統計算負載,系統網絡流量,系統存儲利用率,系統承擔的具體任務等方面,與歷史正常情況出現明顯的差別。當前的異常自動檢測系統主要采用以下幾種模式,第一是閾值報警,第二是基于統計函數,第三是基于機器學習,但是這些方法主要針對于時間點或者小時間段進行精測。系統行為異常定義在較長的一段時間段上,難以通過普通的閾值報警方法進行檢測,而且可能對于整個系統的功能,效率以及安全性造成直接或者間接的影響。而其他針對時間點或者小時間段的智能檢測技術,包括基于機器學習和統計學的方法,存在著需要人工對歷史數據分配標識,自動化程度不高,無法全面識別較長時間段數據特征等缺陷,造成檢出率低而誤報率高的不足之處。
【發明內容】
[0004]本發明的目的在于提供一種針對計算機系統的行為異常預測方法,解決了針對計算機系統行為異常檢測自動化程度不高,無法有效利用監控數據中的行為信息造成檢出率低下而誤報率過高的問題。
[0005]為了解決上述問題,本發明涉及了一種針對計算機系統的行為異常自動檢測方法,包括以下步驟:
[0006]S1:將從所述計算機系統的監控系統或后臺數據庫中獲得的歷史監控數據和實時監控數據流構成監控時間序列;
[0007]S2:將監控時間序列按照所述計算機系統的使用率的變化周期分段為若干數據段,按照所有數據段當中的最長采樣點數對所有數據段進行重采樣;對所述若干采樣后的數據段分段去噪得到平滑時間序列段,計算采樣前數據段的標準差和平均值,遍歷每個采樣點,采樣點和所述平均值的歐幾里得距離小于預定倍數標準差則偏差值設為0,否則偏差值設為絕對偏差距離,由每段時間序列段采用點的偏差值構成若干尖峰時間序列段;將尖峰時間序列段和去噪后的平滑時間序列段相加構成新的監控時間序列段;
[0008]S3:將新的監控時間序列段動態對齊,并計算每段時間段中的所述計算機系統的機器行為相似性指數;
[0009]S4:將S3中得到的相似性指數構成一個相似性矩陣,通過相似性矩陣轉化為一個圖的鄰接矩陣,使得圖中,相似性指數作為邊權,時間段本身作為節點;
[0010]S5:利用馬爾科夫隨機游走算法在S3中得到的圖上進行游走得到各新的監控時間序列段的連接度,作為每個被檢測時間段的異常指數。
[0011]較佳地,原始時間序列中包括常規序列段和非常規特性段,所述常規序列段的時間戳之間的間隔時間一致,所述非常規序列段的時間戳之間的間隔時間不一致,按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得監控時間序列獲得相同的采樣間隔和采樣次數。
[0012]較佳地,S3中進一步包括,根據實際負載情況進行預定范圍以內的新的時間序列段對齊,同時用歐幾里得距離函數計算對齊后的新的時間序列段的相似度。
[0013]較佳地,對于任意的兩個監控時間序列Fi和Fj組成的監控時間序列對,用以下的方程來獲得Fi和Fj的相似性指數:
[0014]dist_up = f [ i 1-1 ] [ j j _k]+Euc I i dean (F i [ i i ],F j [ j j _k +1 ] ) + …+Euclidean(Fi[ii], Fj[jj-k]),
[0015]di st_down = f [ i i _k] [ j j -1 ]+Euc I i dean (F j [ i i ],Fi [ j j _k+1 ] )+...+Euclidean(Fj[ii], Fi[jj-k]),
[0016]f[ii, jj] = min(dist_up, dist_down, f[ii] [jj])?
[0017]similarity = f [L, L],
[0018]其中,L為監控時間序列段長度Euclidean為歐幾里得距離函數;Fi為第i段監控時間序列,i = 1,2…m ;Fj為第j段監控時間序列,i = 1,2…m !Similarity為第i段監控時間序列與第j段監控時間序列的相似性指數;ii,jj, k為循環變量,其中ii為監控時間序列Fi中的任一采樣點,jj為監控時間序列Fj中的一任意采樣點,k為移動步數,ii=O, 1-^-L ;jj = O, 1...? ;k = O, 1...η, f [ii] [jj]為計算需要的中間結果。
[0019]較佳地,還包括S6:設定判斷閾值Threshold,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正常。
[0020]為了解決上述問題,本發明還涉及了一種針對計算機系統的行為異常自動檢測系統,包括:
[0021]數據采集裝置,將從所述計算機系統的監控系統或后臺數據庫中獲得的歷史監控數據和實時監控數據流構成監控時間序列;
[0022]監控時間序列重建裝置,將監控時間序列按照所述計算機系統的使用率的變化周期分段為若干數據段,按照所有數據段當中的最長采樣點數對所有數據段進行重采樣;對所述若干采樣后的數據段分段去噪得到平滑時間序列段,計算采樣前數據段的標準差和平均值,遍歷每個采樣點,采樣點和所述平均值的歐幾里得距離小于預定倍數標準差則偏差值設為O,否則偏差值設為絕對偏差距離,由每段時間序列段采用點的偏差值構成若干尖峰時間序列段;將尖峰時間序列段和去噪后的平滑時間序列段相加構成新的監控時間序列段;
[0023]相似性指數計算裝置,將新的監控時間序列段動態對齊,并計算每段時間段中的所述計算機系統的機器行為相似性指數;
[0024]鄰接矩陣建立裝置,將相似性指數計算裝置中得到的相似性指數構成一個相似性矩陣,通過相似性矩陣轉化為一個圖的鄰接矩陣,使得圖中,相似性指數作為邊權,時間段本身作為節點;
[0025]異常指數評定裝置,利用馬爾科夫隨機游走算法在鄰接矩陣建立裝置中得到的圖上進行游走得到各新的監控時間序列段的連接度,作為每個被檢測時間段的異常指數。
[0026]較佳地,原始時間序列中包括常規序列段和非常規特性段,所述常規序列段的時間戳之間的間隔時間一致,所述非常規序列段的時間戳之間的間隔時間不一致,按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得監控時間序列獲得相同的采樣間隔和采樣次數。
[0027]較佳地,監控時間序列重建裝置中進一步包括,根據實際負載情況進行預定范圍以內的新的時間序列段對齊,同時用歐幾里得距離函數計算對齊后的新的時間序列段的相似度。
[0028]較佳地,對于任意的兩個監控時間序列Fi和Fj組成的監控時間序列對,用以下的方程來獲得Fi和Fj的相似性指數:
[0029]dist_up = f[ii_l][jj-k]+Euclidean(Fi[ii],Fj[jj-k + l]) +…+Euclidean(Fi[ii], Fj[jj-k]),
[0030]di st_down = f [ i i _k] [ j j -1 ]+Euc I i dean (F j [ i i ],Fi [ j j _k +1 ])+...+Euclidean(Fj[ii], Fi[jj-k]),
[0031]f[ii, jj] = min(dist_up, dist_down, f[ii] [jj])?
[0032]similarity = f [L, L],
[0033]其中,L為監控時間序列段長度Euclidean為歐幾里得距離函數;Fi為第i段監控時間序列,i = l, 2…m ;Fj為第j段監控時間序列,i = l, 2…m !Similarity為第i段監控時間序列與第j段監控時間序列的相似性指數;ii,jj, k為循環變量,其中ii為監控時間序列Fi中的任一采樣點,jj為監控時間序列Fj中的一任意采樣點,k為移動步數,ii=O, 1-^-L ;jj = O, 1...? ;k = O, 1...η, f [ii] [jj]為計算需要的中間結果。
[0034]較佳地,還包括行為異常標記裝置,設定判斷閾值Threshold,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正堂巾O
[0035]本發明由于采用以上技術方案,與現有技術相比,具有以下的優點和積極效果:
[0036]I)本發明利用易于收集的底層性能數據來識別系統行為,而無需高層的操作系統或者軟件運行記錄,可以直接架設在現有的監控系統上,降低了部署難度;
[0037]2)本發明采用時間序列動態對齊算法,將不同時間段內的時間序列監控數據按照行為模式對齊,從而減少可容忍行為變化帶來的誤差,從而降低誤報率;
[0038]3)本發明利用行為模式之間的關系而不是對行為模式本身進行建模,因此不需要人工對歷史數據分配標識,大大提高自動化程度,同時極大的提高在多變環境下的檢測能力;
[0039]4)本發明通過馬爾科夫隨機游走算法對時間段行為進行異常指數計算,全面利用行為模式之間的相互關系信息,提高了識別率,并允許管理員選擇閾值來做最終的異常和正常分類,提供靈活性。
【專利附圖】
【附圖說明】
[0040]圖1為本發明一種針對計算機系統的行為異常自動檢測方法的流程圖;
[0041]圖2為本發明一種針對計算機系統的行為異常自動檢測系統的結構框圖。
【具體實施方式】
[0042]以下將結合本發明的附圖,對本發明實施例中的技術方案進行清楚、完整的描述,顯然,這里所描述的僅僅是本發明的一部分實例,并不是全部的實例,基于本發明中的實施例,本領域普通技術人員在沒有做出創造性勞動的前提下所獲得的所有其他實施例,都屬于本發明的保護范圍。
[0043]為了便于對本發明實施例的理解,下面將結合附圖以具體實施例為例作進一步的解釋說明,且各個實施例不構成對本發明實施例的限定。
[0044]實施例一
[0045]請參考圖1,本發明提供了針對計算機系統的行為異常自動檢測方法,主要包括以下步驟:
[0046]S1:將從所述計算機系統的監控系統或后臺數據庫中獲得的歷史監控數據和實時監控數據流構成監控時間序列;
[0047]本實施例中,選擇從前端監控系統中直接獲得一臺受監控機器的中央處理器使用率值(CPU Usage Rate, y)和相應的時間戳(Timestamp, t)。并將其構成監控時間序列Y—[(Υι ? ti),(5^2,七2),...,(yn?tn),...]。
[0048]其中,Y——最終的完整時間序列;
[0049]Yi—時間序列當中第i個元素的CPU占用率,i = O, 1...η,η為時間序列的元素個數;
[0050]\—時間序列當中第i個的時間戳,i = O, 1...η,η為時間序列的元素個數;S2:將監控時間序列按照所述計算機系統的使用率的變化周期分段為若干數據段,按照所有數據段當中的最長采樣點數對所有數據段進行重采樣;對所述若干采樣后的數據段分段去噪得到平滑時間序列段,計算采樣前數據段的標準差和平均值,遍歷每個采樣點,采樣點和所述平均值的歐幾里得距離小于預定倍數標準差則偏差值設為0,否則偏差值設為絕對偏差距離,由每段時間序列段采用點的偏差值構成若干尖峰時間序列段;將尖峰時間序列段和去噪后的平滑時間序列段相加構成新的監控時間序列段。其中,原始時間序列中包括常規序列段和非常規特性段,所述常規序列段的時間戳之間的間隔時間一致,所述非常規序列段的時間戳之間的間隔時間不一致,按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得監控時間序列獲得相同的采樣間隔和采樣次數。
[0051]本實施例中,根據經驗得到CPU使用率的變化周期為T,經過自回歸分析檢驗周期的有效性后,將SI中得到的時間序列Y根據變化周期T分為若干數據段UfYmt5其中檢驗周期有效性一般為=CPU歷史記錄序列在選擇周期為T的條件下,計算序列的自相關系數,其絕對值高于0.5即為周期有效。其中m= tn/T,m為數據段的總數。原始時間序列中存在非常規特性,即時間戳之間的間隔時間不統一的情況,則按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得時間序列獲得相同的采樣間隔和采樣次數。
[0052]用sym6為基底的小波變換和sqtwolog閾值控制進行分段去噪,得到去噪后的結果為 R11RfRmtj 其中 m= tn/T。
[0053]從分段后的數據段中提取尖峰數據點。方法為首先計算采樣前數據段的標準差和平均值。之后遍歷每個采樣點,若數據點和平均值的歐氏距離超過三倍標準差,則判斷此數據點為尖峰數據點。將尖峰數據點對應的偏差距離(若與平均值的歐氏距離小于三倍標準差,則為0,否則即為絕對偏差值)構成的時間序列記為PpP^Pm。其中m=tn/T。
[0054]將尖峰時間序列和去噪后的平滑時間序列相加重構成新的時間序列段F1, F^Fm。其中 Fi = P^Ri, m = tn/T。
[0055]S3:根據實際負載情況進行預定范圍以內的新的時間序列段對齊,同時用歐幾里得距離函數計算對齊后的新的時間序列段的相似度。
[0056]本實施例中,對于任意的兩個經過以上處理后的監控時間序列段,組成監控時間序列段對,記為Fi, Fj,記它們的長度均為L,用以下的方程來獲得這對監控時間序列的行為相似性。
[0057]dist_up = f [ i 1-1 ] [ j j _k]+Eu c I i de an (Fi [ i i ],F』[j j _k +I ] ) + …+Euclidean(Fi[ii], Fj[jj-k])
[0058]di st_down = f [ i i _k] [ j j -1 ]+Euc I i dean (F j [ i i ],Fi [ j j _k+1 ] )+...+Euclidean(Fj[ii], Fi[jj-k])
[0059]f[ii][jj] = min(dist_up, dist_down, f[ii] [jj])
[0060]similarity = f [L, L] (L 為序列 Fi, Fj 的長度)
[0061]其中,L—監控時間序列段長度;
[0062]Euclidean-歐幾里得距離函數;
[0063]Fi——第i段監控時間序列,i = I, 2-m;
[0064]Fj—第j段監控時間序列,j = I, 2-m;
[0065]Similarity——為第i段監控時間序列段與第j段監控時間序列段的相似性指數;
[0066]ii, jj, k—循環變量,ii為其中一個監控時間序列Fi中的任一采樣點,jj為另一個監控時間序列Fj中的任意采樣點,k為移動步數,ii = O, I...L ; jj = O, I...L ;k =O, I...η ; (L為監控時間序列段長度,η為最大允許的偏移步數)
[0067]f [ii] [jj]-計算需要的中間結果;
[0068]S4:將S3中得到的相似性指數構成一個相似性矩陣,通過相似性矩陣轉化為一個圖的鄰接矩陣,使得圖中,相似性指數作為邊權,時間段本身作為節點。
[0069]本實施例中,
[0070]使用以下方程將S3中得到的相似性指數矩陣轉化為一個圖的鄰接矩陣。
[0071]T(i,j) = j IltL1M(Lf) 1 ■
(■ O ' if ι = /
[0072]其中,T(i,j)—鄰接矩陣中第i行,第j列的元素,其中i ==1,2-m ;
[0073]M(i, j)—相似性矩陣中第i行,第j列的元素,等于S3中Fi, Fj得到的similarity ;
[0074]更具體的說,G =〈V,E>是鄰接矩陣代表的圖,V表示一個圖中的點集合,這里一個時間序列段映射到一個點,所以V就代表所有的時間序列段,也就是Fl..Fm5VXV代表這些點組成的一個圖,E是圖上點之間的邊的集合,每一條邊有一個權值C,是邊上兩個點之間的距離,在這里距離就是相似性指數,E e VXV是圖中的邊集合,代表監控時間序列段之間的關系,邊權值Gm代表Vi和Ni之間的相似性指數,Vi和Ni分別為序列Fi和Fy在圖中映射的點,即S3中計算得到的similarity。
[0075]S5:利用馬爾科夫隨機游走算法在S3中得到的圖上進行游走得到各新的監控時間序列段的連接度,作為每個被檢測時間段的異常指數。
[0076]本實施例中,根據S4中得到的鄰接矩陣T,帶入以下方程中進行迭代計算,本實施例中以I (常見值1000)次迭代作為參數,即連續進行I次以下方程的迭代來獲得最后的結果,而阻尼系數damp設為d(常見值0.01到0.2)。
「 ?damp
[0077]conn =-+ (1- damp) x T x conn
m
[0078]其中,conn——每個監控時間序列段的連接度;
[0079]damp——阻尼系數,控制方程的收斂速度;
[0080]T——S3中得到的鄰接矩陣;
[0081]m——監控時間序列段數。
[0082]經過足夠多次數的迭代計算之后,conn將會趨向于一個恒定的向量值,而其中每一個值代表對應的監控時間段所的行為異常可能性,連接度越大表示該監控時間序列段表現出的行為特征越常見,發生行為異常的可能性越小,而連接度越小表示該監控時間序列段表現出的行為特征越罕見,發生行為異常的可能性越大。
[0083]S6:設定判斷閾值Threshold,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正常。
[0084]本實施例中,設定判斷閾值Threshold,將S5中得到的連接度向量conn按從小到大的方式進行排序,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正常。
[0085]除了直接的標號之外,也可以根據實際的連接度大小值來判斷行為異常的程度,判斷依據如S5中提到:連接度越大表示該監控時間序列段發生行為異常的可能性越小,而連接度越小表示該監控時間序列段發生行為異常的可能性越大。
[0086]實施例二
[0087]請參考圖2,本發明提供了針對計算機系統的行為異常自動檢測系統,包括數據采集裝置、監控時間序列重建裝置、相似性指數計算裝置、鄰接矩陣建立裝置、異常指數評定裝置以及行為異常標記裝置,其中各裝置具體如下。
[0088]數據采集裝置,與計算機系統相連接或設置于計算機系統內部,將從所述計算機系統的監控系統或后臺數據庫中獲得的歷史監控數據和實時監控數據流構成監控時間序列。
[0089]本實施例中,選擇從前端監控系統中直接獲得一臺受監控機器的中央處理器使用率值(CPU Usage Rate, y)和相應的時間戳(Timestamp, t)。并將其構成監控時間序列Y—[(Υι ? ti),(5^2,七2),...,(yn?tn),...]。
[0090]其中,Y——最終的完整時間序列;
[0091]Yi—時間序列當中第i個元素的CPU占用率,i = O, 1...η,η為時間序列的元素個數;
[0092]\—時間序列當中第i個的時間戳,i = O, Ρ..η,η為時間序列的元素個數。
[0093]監控時間序列重建裝置,與數據采集裝置相連接將監控時間序列按照計算機系統的使用率的變化周期分段為若干數據段,按照所有數據段當中的最長采樣點數對所有數據段進行重采樣;對所述若干采樣后的數據段分段去噪得到平滑時間序列段,計算采樣前數據段的標準差和平均值,遍歷每個采樣點,采樣點和所述平均值的歐幾里得距離小于預定倍數標準差則偏差值設為0,否則偏差值設為絕對偏差距離,由每段時間序列段采用點的偏差值構成若干尖峰時間序列段;將尖峰時間序列段和去噪后的平滑時間序列段相加構成新的監控時間序列段。其中,原始時間序列中包括常規序列段和非常規特性段,常規序列段的時間戳之間的間隔時間一致,非常規序列段的時間戳之間的間隔時間不一致,按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得監控時間序列獲得相同的采樣間隔和采樣次數。
[0094]本實施例中,根據經驗得到CPU使用率的變化周期為Τ,經過自回歸分析檢驗周期的有效性后,將SI中得到的時間序列Y根據變化周期T分為若干數據段YpYfYmtj其中m=tn/T,m為數據段的總數。原始時間序列中存在非常規特性,即時間戳之間的間隔時間不統一的情況,則按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得時間序列獲得相同的采樣間隔和采樣次數。
[0095]用sym6為基底的小波變換和sqtwolog閾值控制進行分段去噪,得到去噪后的結果為!^民…^其中!!!=、/!'。
[0096]從分段后的數據段中提取尖峰數據點。方法為首先計算采樣前數據段的標準差和平均值。之后遍歷每個采樣點,若數據點和平均值的歐氏距離超過三倍標準差,則判斷此數據點為尖峰數據點。將尖峰數據點對應的偏差距離(若與平均值的歐氏距離小于三倍標準差,則為0,否則即為絕對偏差值)構成的時間序列記為PpP^Pm。其中m=tn/T。
[0097]將尖峰時間序列和去噪后的平滑時間序列相加重構成新的時間序列段F1, F^Fm。其中 Fi = P^Ri, m = tn/T。
[0098]相似性指數計算裝置,根據實際負載情況(相同的使用模式下的兩個監控時間序列由于計算機的隨機性會出現一定的時間偏移)進行預定范圍以內的新的時間序列段對齊,即在一定的允許的調整范圍內,將兩個時間序列以距離最小為目標進行時間戳對齊。用歐幾里得距離函數計算對齊后的新的時間序列段的相似度。
[0099]本實施例中,對于任意的兩個經過以上處理后的監控時間序列段,組成監控時間序列段對,記為Fi, Fj,記它們的長度均為L,用以下的方程來獲得這對監控時間序列的行為相似性。
[0100]dist_up = f [ i 1-1 ] [ j j _k]+Eu c I i de an (Fi [ i i ],F j [ j j _k +I ] ) + …+Euclidean(Fi[ii], Fj[jj-k])
[0101]di st_down = f [ i i _k] [ j j -1 ]+Euc I i dean (F j [ i i ],Fi [ j j _k+1 ])+...+Euclidean(Fj[ii], Fi[jj-k])
[0102]f [ii, jj] = min(dist_up, dist_down, f [ii] [jj])
[0103]similarity = f [L, L] (L 為序列 Fi, Fj 的長度)
[0104]其中,L—監控時間序列段長度;
[0105]Euclidean-歐幾里得距離函數;
[0106]Fi——第i段監控時間序列,i = I, 2-m;
[0107]Fj—第j段監控時間序列,j = I, 2-m;
[0108]Similarity——為第i段監控時間序列段與第j段監控時間序列段的相似性指數;
[0109]ii, jj, k—循環變量,ii為其中一個監控時間序列Fi中的任一采樣點,jj為另一個監控時間序列Fj中的任意采樣點,k為移動步數,ii = O, I...L ; jj = O, I...L ;k =
O,I...η ; (L為監控時間序列段長度,η為最大允許的偏移步數)
[0110]f[ii] [jj]——計算需要的中間結果;
[0111]鄰接矩陣建立,連接相似性指數計算裝置,將相似性指數計算裝置中得到的相似性指數構成一個相似性矩陣,通過相似性矩陣轉化為一個圖的鄰接矩陣,使得圖中,相似性指數作為邊權,時間段本身作為節點。
[0112]本實施例中,
[0113]使用以下方程將相似性指數計算裝置中得到的相似性指數矩陣轉化為一個圖的鄰接矩陣。
?—墜)—
[0114]T(Q) = M(U) 1 '
I Oι — j
[0115]其中,T(i, j)-鄰接矩陣的第i行,第j列,其中i = l, 2…m, j = I, 2…m ;
[0116]M(i, j)—相似性矩陣的第i行,第j列,等于相似性指數計算裝置中Fi,Fj得到的 similarity ;
[0117]V表示一個圖中的點集合,這里一個時間序列段映射到一個點,所以V就代表所有的時間序列段,也就是Fl..Fm ;VX V代表這些點組成的一個圖,E是圖上點之間的邊的集合,每一條邊有一個權值C,是邊上兩個點之間的距離,在這里距離就是相似性指數,EeVXV是圖中的邊集合,代表監控時間序列段之間的關系,邊權值Cm代表Vi和 ' 之間的相似性指數,Vi和'分別為序列FJP Fy在圖中映射的點,即S3中計算得到的similarity。
[0118]異常指數評定裝置,連接鄰接矩陣建立裝置,利用馬爾科夫隨機游走算法在鄰接矩陣建立裝置中得到的圖上進行游走得到各新的監控時間序列段的連接度,作為每個被檢測時間段的異常指數。
[0119]本實施例中,根據鄰接矩陣建立裝置中得到的鄰接矩陣T,帶入以下方程中進行迭代計算,本實施例中以1(常見值1000)次迭代作為參數,即連續進行I次以下方程的迭代來獲得最后的結果,而阻尼系數damp設為d(常見值0.01到0.2)。
damp, ,
[0120]comi =-+ (1- damp) χτχ conn
m
[0121]其中,conn——每個監控時間序列段的連接度;
[0122]damp——阻尼系數,控制方程的收斂速度;
[0123]T——S3中得到的鄰接矩陣;
[0124]m——監控時間序列段數。
[0125]經過足夠多次數的迭代計算之后,conn將會趨向于一個恒定的向量值,而其中每一個值代表對應的監控時間段所的行為異常可能性,連接度越大表示該監控時間序列段表現出的行為特征越常見,發生行為異常的可能性越小,而連接度越小表示該監控時間序列段表現出的行為特征越罕見,發生行為異常的可能性越大。
[0126]行為異常標記裝置,連接異常指數評定裝置,設定判斷閾值Threshold,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正常。
[0127]本實施例中,設定判斷閾值Threshold,將鄰接矩陣建立裝置中得到的連接度向量conn按從小到大的方式進行排序,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正常。
[0128]除了直接的標號之外,也可以根據實際的連接度大小值來判斷行為異常的程度,判斷依據如上提到:連接度越大表示該監控時間序列段發生行為異常的可能性越小,而連接度越小表示該監控時間序列段發生行為異常的可能性越大。
[0129]以上所述,僅為本發明較佳的【具體實施方式】,但本發明的保護范圍并不局限于此,任何熟悉本【技術領域】的技術人員在本發明揭露的技術范圍內,可輕易想到的變化或替換,都應涵蓋在本發明的保護范圍之內。因此,本發明的保護范圍應該以權利要求的保護范圍為準。
【權利要求】
1.一種針對計算機系統的行為異常自動檢測方法,其特征在于,包括以下步驟: Si:將從所述計算機系統的監控系統或后臺數據庫中獲得的歷史監控數據和實時監控數據流構成監控時間序列; S2:將監控時間序列按照所述計算機系統的使用率的變化周期分段為若干數據段,按照所有數據段當中的最長采樣點數對所有數據段進行重采樣;對所述若干采樣后的數據段分段去噪得到平滑時間序列段,計算采樣前數據段的標準差和平均值,遍歷每個采樣點,采樣點和所述平均值的歐幾里得距離小于預定倍數標準差則偏差值設為O,否則偏差值設為絕對偏差距離,由每段時間序列段采用點的偏差值構成若干尖峰時間序列段;將尖峰時間序列段和去噪后的平滑時間序列段相加構成新的監控時間序列段; S3:將新的監控時間序列段動態對齊,并計算每段時間段中的所述計算機系統的機器行為相似性指數; S4:將S3中得到的相似性指數構成一個相似性矩陣,通過相似性矩陣轉化為一個圖的鄰接矩陣,使得圖中,相似性指數作為邊權,時間段本身作為節點; S5:利用馬爾科夫隨機游走算法在S3中得到的圖上進行游走得到各新的監控時間序列段的連接度,作為每個被檢測時間段的異常指數。
2.如權利要求1所述的一種針對計算機系統的行為異常自動檢測方法,其特征在于,原始時間序列中包括常規序列段和非常規特性段,所述常規序列段的時間戳之間的間隔時間一致,所述非常規序列段的時間戳之間的間隔時間不一致,按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得監控時間序列獲得相同的采樣間隔和采樣次數。
3.如權利要求1所述的一種針對計算機系統的行為異常自動檢測方法,其特征在于,S3中進一步包括,根據實際負載情況進行預定范圍以內的新的時間序列段對齊,同時用歐幾里得距離函數計算對齊后的新的時間序列段的相似度。
4.如權利要求1或3所述的一種針對計算機系統的行為異常自動識別算法,其特征在于,對于任意的兩個監控時間序列Fi和Fj組成的監控時間序列對,用以下的方程來獲得Fi和Fj的相似性指數: dist_up = f[i1-l] [jj~k] +Euclidean (Fi [ii] , Fj [jj-k + 1] ) +...+Euclidean(Fi[ii], Fj[jj-k]), dist_down = f[ii~k] [jj~l] +Euclidean (Fj [ii] , Fi [jj-k+1] ) +...+Euclidean(Fj[ii], Fi[jj-k]),
f[ii, jj] = min(dist_up, dist_down, f[ii][jj]),
similarity = f[L, L], 其中,L為監控時間序列段長度;EUClidean為歐幾里得距離函數;Fi為第i段監控時間序列,i = l, 2…m ;Fj為第j段監控時間序列,i = l, 2…m !Similarity為第i段監控時間序列與第j段監控時間序列的相似性指數;ii,jj, k為循環變量,其中ii為監控時間序列Fi中的任一采樣點,jj為監控時間序列Fj中的一任意采樣點,k為移動步數,ii =O,I...L ; jj = O, I...L ;k = O, 1...η, f [ii] [jj]為計算需要的中間結果。
5.如權利要求1所述的一種針對計算機系統的行為異常自動檢測方法,其特征在于,還包括S6:設定判斷閾值Threshold,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正常。
6.一種針對計算機系統的行為異常自動檢測系統,其特征在于,包括 數據采集裝置,將從所述計算機系統的監控系統或后臺數據庫中獲得的歷史監控數據和實時監控數據流構成監控時間序列; 監控時間序列重建裝置,將監控時間序列按照所述計算機系統的使用率的變化周期分段為若干數據段,按照所有數據段當中的最長采樣點數對所有數據段進行重采樣;對所述若干采樣后的數據段分段去噪得到平滑時間序列段,計算采樣前數據段的標準差和平均值,遍歷每個采樣點,采樣點和所述平均值的歐幾里得距離小于預定倍數標準差則偏差值設為O,否則偏差值設為絕對偏差距離,由每段時間序列段采用點的偏差值構成若干尖峰時間序列段;將尖峰時間序列段和去噪后的平滑時間序列段相加構成新的監控時間序列段;相似性指數計算裝置,將新的監控時間序列段動態對齊,并計算每段時間段中的所述計算機系統的機器行為相似性指數; 鄰接矩陣建立裝置,將相似性指數計算裝置中得到的相似性指數構成一個相似性矩陣,通過相似性矩陣轉化為一個圖的鄰接矩陣,使得圖中,相似性指數作為邊權,時間段本身作為節點; 異常指數評定裝置,利用馬爾科夫隨機游走算法在鄰接矩陣建立裝置中得到的圖上進行游走得到各新的監控時間序列段的連接度,作為每個被檢測時間段的異常指數。
7.如權利要求6所述的一種針對計算機系統的行為異常自動檢測系統,其特征在于,原始時間序列中包括常規序列段和非常規特性段,所述常規序列段的時間戳之間的間隔時間一致,所述非常規序列段的時間戳之間的間隔時間不一致,按照所有分段當中最長采樣個數對所有數據段進行線性重采樣,使得監控時間序列獲得相同的采樣間隔和采樣次數。
8.如權利要求6所述的一種針對計算機系統的行為異常自動檢測系統,其特征在于,監控時間序列重建裝置中進一步包括,根據實際負載情況進行預定范圍以內的新的時間序列段對齊,同時用歐幾里得距離函數計算對齊后的新的時間序列段的相似度。
9.如權利要求6或8所述的一種針對計算機系統的行為異常自動檢測系統,其特征在于,對于任意的兩個監控時間序列Fi和Fj組成的監控時間序列對,用以下的方程來獲得Fi和Fj的相似性指數: dist_up = f[i1-l] [jj-k]+Euclidean (Fi [ii], Fj [jj-k + 1]) +...+Euclidean(Fi[ii], Fj[jj-k]), dist_down = f[ii~k] [jj~l] +Euclidean (Fj [ii] , Fi [jj-k+1] ) +...+Euclidean(Fj[ii], Fi[jj-k]),
f[ii, jj] = min(dist_up, dist_down, f[ii][jj]),
similarity = f[L, L], 其中,L為監控時間序列段長度;EUClidean為歐幾里得距離函數;Fi為第i段監控時間序列,i = l, 2…m ;Fj為第j段監控時間序列,i = l, 2…m !Similarity為第i段監控時間序列與第j段監控時間序列的相似性指數;ii,jj, k為循環變量,其中ii為監控時間序列Fi中的任一采樣點,jj為監控時間序列Fj中的一任意采樣點,k為移動步數,ii =O, I...L ; jj = O, I...L ;k = O, 1...η, f [ii] [jj]為計算需要的中間結果。
10.如權利要求6所述的一種針對計算機系統的行為異常自動識別系統,其特征在于,還包括行為異常標記裝置,設定判斷閾值Threshold,連接度小于閾值Threshold的時間段標記為行為異常,連接度大于閾值Threshold的時間段標記為行為正常。
【文檔編號】G06F11/22GK104317681SQ201410443322
【公開日】2015年1月28日 申請日期:2014年9月2日 優先權日:2014年9月2日
【發明者】曹健, 沈琪駿, 顧驊 申請人:上海交通大學