A. 論文閱讀01-流量模型
網路流量建模有著廣泛的應用。在本文中,我們提出了網路傳輸點過程(NTPP),這是一種 概率深層機制 ,它可以模擬網路中主機的流量特性,並有效地預測網路流量模式,如負載峰值。現有的隨機模型依賴於網路流量本質上的自相似性,因此無法解釋流量異常現象。這些異常現象,如短期流量爆發,在某些現代流量條件下非常普遍,例如數據中心流量,從而反駁了自相似性的假設。我們的模型對這種異常具有魯棒性,因為它使用時間點流程模型有效地利用了突發網路流量的自激特性。
在從網路防禦演習(CDX)、網站訪問日誌、數據中心流量和P2P流量等領域收集的7個不同的數據集上,NTPP在根據幾個基線預測網路流量特性(從預測網路流量到檢測流量峰值)方面提供了顯著的性能提升。我們還演示了我們的模型在緩存場景中的一個應用程序,表明可以使用它來有效地降低緩存丟失率。
對新型網路應用和系統的需求日益增長, 使得網路流量行為更加復雜和不可預測 。例如,在數據中心網路中,流量微爆發源於應用程序[1]的突然流行,而在副本[2]間的信息同步過程中產生的大象流會在骨幹網路上造成臨時的負載不均衡。另一方面,由於不同的終端用戶活動模式[3],諸如多媒體流媒體和視頻會議等流量密集型應用導致了蜂窩網路和移動網路上的巨大流量差異。這種流量差異影響最終用戶應用程序[4]的體驗質量(QoE)。此外,隨著基於Internet小型計算機系統介面(iSCSI)的分布式存儲[5]和物聯網(IoT)應用[6]的大規模地理分布式雲存儲同步的迅速普及,網路流量變異性成倍增加。各種安全攻擊,如分布式拒絕服務攻擊(DDoS),加劇了流量模式預測[7]的假陰性問題。
由於應用范圍的多樣化,短期和長期的流量爆發在各種類型的網路中都很常見;因此,研究人員探索了不同的 基於突發周期性假設 的流量突發預測技術,如 流量矩陣[8]的部分可預測性 、 張量補全方法 [9]等。然而,最近網路流量的高度不均勻性 使這種流量突發周期性的假設失效,並導致了明顯的流量差異和多重分形流量變化 ,這需要單獨的檢測工作。這種交通差異和多重分形的例子包括數據中心或或ISP骨幹[11]網中流量的突發峰值(微突發)[10]、多媒體應用的流量(如視頻流媒體)[12]、存儲同步[13]、惡意或攻擊流量(例如物聯網設備中的DDoS攻擊)[7]。因此,需要開發一個流量事件預測模型,該模型可以捕獲諸如流量突發、突發峰值、主機帶寬使用的意外跳變等流量差異和多重分形流量變化。
在這項工作中,我們旨在 將差異性和可變性檢測集成到網路流量建模中 ,從而為高度異常的網路流量提供統一的模型。為此,我們按照單獨的網路主機(例如數據中心伺服器或終端用戶設備)的傳輸特性來分解流量預測問題,在此我們著重於總網路帶寬的份額每個主機使用的時間,稱為給定時間的「優勢」。為此,我們提出了網路傳輸點過程(NTPP),它是一種基於時間點過程機制的深度概率機制。 NTPP首先使用 循環標記時間點過程 (RMTPP)表徵主機突發流量產生的事件[14],該過程結合了主機的影響以根據可用帶寬轉發流量突發。此外,我們使用一組學習來對任意給定時間內對網路中不同主機進行排序的模板進行 排序 ,從而對不同主機之間的爭用進行建模,其中主機的排序由其生成的通信量決定。這些模板提供了各種方法來評估一對主機的相對順序,這些順序是由它們的爭用過程引起的。這些措施,連同底層的包傳輸過程,確保在整個時間窗口內主機之間的正確排序。為了了解傳輸動態以及排名的變化,我們將給定主機的觀測傳輸時間的似然性最大化,並結合學習對模板進行排名的其他措施進行統一。這種額外的小工具使我們的模型能夠預測意外的峰值,帶寬使用量的跳躍,否則很難追蹤(實驗著重證明了這一點)。
我們根據來自不同域的 七個 真實數據集上的幾個最新基準評估了我們的系統,這些數據集可能會顯示異常流量。其中四項是從各個組織進行的網路防禦演習中獲得的,一項是從網站訪問日誌(1998年世界盃Web伺服器)獲得的,另一項是從數據中心流量的獲得的,另一項是從BitTorrent網路獲得的。我們觀察到,在預測主機流量方面,NTPP的平均性能比最具競爭力的基準好11%,而在檢測主機帶寬消耗的突然跳升或峰值時,NTPP的預測精度提高了約25%。我們還使用基於NTPP的模擬器實現了下游緩存應用程序,並且觀察到緩存未命中率降低了約10%。
貢獻 :
(1) 復雜包傳輸過程建模 :我們設計了NTPP,這是一個多主機網路流量動態的非線性隨機模型,能夠准確地捕捉到包傳輸過程中攻擊性跳躍和不規則行為的存在。此外,與現有的離散時間流量模型(如[9]、[15])相比,我們使用了時間點過程的連續時間特性。
(2) 主機間的爭用建模 :我們的NTPP方案利用了[16]中提出的產品競爭建模思想,將豐富的學習文獻與網路流量建模聯系起來,對[17]其進行排名。
(3) 預測能力 :NTPP不僅具有理論基礎,而且具有實踐效果。我們的模型能夠比幾種最先進的基準更有效地預測分組傳輸動態。此外,嵌入式鑒別模塊有助於實時估計帶寬消耗的突然變化,這是一個至關重要的實際挑戰,所有基準都無法追蹤。
(4) 下游應用 :我們演示了NTPP在下游緩存場景中的應用,突出了它的實用性。現有的原始內容緩存由於突發的流量而存在較高的緩存丟失率,而我們的模型支持的智能內容緩存通過根據不同主機的預測流量為它們保留不同數量的內存空間來實現更好的性能。
從歷史上看,大量的工作集中在從各種不同的角度對萬維網流量進行建模,使用各種分布模型,如泊松、帕累托、威布爾、馬爾科夫和嵌入式馬爾科夫、ON-OFF等。隨著互聯網的發展和各種Web服務的引入,提出了更復雜的模型,如馬爾科夫調制泊松過程[19]、馬爾科夫調制流體模型[20]、自回歸模型[21]、流量矩陣[8]的部分可預測性、張量補全方法[9]等。然而, 這些模型只能捕獲特定類型的網路事件,而不能泛化為捕獲Internet流量中的不同流量差異和變化 。在另一個獨立的線程中,研究人員將互聯網流量爆發建模為一種顯示自相似性[22]的現象。然而,許多工作23],[24]也質疑「自相似性」的假設,特別是在互聯網骨幹網中,從多個來源的流量會得到多路復用。
隨著大規模數據中心、基於物聯網的平台、蜂窩網路和移動網路、信息中心網路等領域的出現,互聯網流量的性質發生了巨大變化。因此,出現了各種領域特有的模型,如數據中心[15]的流量微突發預測、流量異常檢測[25]、物聯網流量表徵[26]、互聯網社交事件預測[27]等。此外,由於網路流量在不同的差異和變化下具有不同的性質,最近的一些工作探索了基於機器學習的技術來預測流量模式[12]、[28]、[29]中的不同事件、異常和不一致性。然而, 這種預測模型是針對特定的網路系統設計的,缺乏通用性 。
在本節中,我們將制定NTPP,即所提出的模型(參見圖1),該模型捕獲了網路流量動態的兩個主要組成部分—(i)集體包傳輸機制和(ii)多個主機之間的爭用。在一開始,NTPP是由一種基於點過程的深層概率機制驅動的——點過程是一種特殊類型的隨機過程,它自然地捕獲了連續數據包到達背後的機制。此外,它還包含一個判別模塊,該模塊包含一系列對函數[17]進行排序的學習,專門設計用於建模主機間爭用過程。接下來,我們將從時間點過程的概述開始,詳細描述它們,然後描述學習和預測動態的方法。
一種互聯網宏觀流量異常檢測方法(2007-11-7 10:37) 摘要:網路流量異常指網路中流量不規則地顯著變化。網路短暫擁塞、分布式拒絕服務攻擊、大范圍掃描等本地事件或者網路路由異常等全局事件都能夠引起網路的異常。網路異常的檢測和分析對於網路安全應急響應部門非常重要,但是宏觀流量異常檢測需要從大量高維的富含雜訊的數據中提取和解釋異常模式,因此變得很困難。文章提出一種分析網路異常的通用方法,該方法運用主成分分析手段將高維空間劃分為對應正常和異常網路行為的子空間,並將流量向量影射在正常子空間中,使用基於距離的度量來檢測宏觀網路流量異常事件。公共互聯網正在社會生活的各個領域發揮著越來越重要的作用,與此同時,由互聯網的開放性和應用系統的復雜性所帶來的安全風險也隨之增多。2006年,國家計算機網路應急技術處理協調中心(CNCERT/CC)共接收26 476件非掃描類網路安全事件報告,與2005年相比增加2倍,超過2003—2005年3年的總和。2006年,CNCERT/CC利用部署的863-917網路安全監測平台,抽樣監測發現中國大陸地區約4.5萬個IP地址的主機被植入木馬,與2005年同期相比增加1倍;約有1千多萬個IP地址的主機被植入僵屍程序,被境外約1.6萬個主機進行控制。黑客利用木馬、僵屍網路等技術操縱數萬甚至上百萬台被入侵的計算機,釋放惡意代碼、發送垃圾郵件,並實施分布式拒絕服務攻擊,這對包括骨幹網在內的整個互聯網網路帶來嚴重的威脅。由數萬台機器同時發起的分布式拒絕服務攻擊能夠在短時間內耗盡城域網甚至骨幹網的帶寬,從而造成局部的互聯網崩潰。由於政府、金融、證券、能源、海關等重要信息系統的諸多業務依賴互聯網開展,互聯網骨幹網路的崩潰不僅會帶來巨額的商業損失,還會嚴重威脅國家安全。據不完全統計,2001年7月19日爆發的紅色代碼蠕蟲病毒造成的損失估計超過20億美元;2001年9月18日爆發的Nimda蠕蟲病毒造成的經濟損失超過26億美元;2003年1月爆發的SQL Slammer蠕蟲病毒造成經濟損失超過12億美元。針對目前互聯網宏觀網路安全需求,本文研究並提出一種宏觀網路流量異常檢測方法,能夠在骨幹網路層面對流量異常進行分析,在大規模安全事件爆發時進行快速有效的監測,從而為網路防禦贏得時間。1 網路流量異常檢測研究現狀在骨幹網路層面進行宏觀網路流量異常檢測時,巨大流量的實時處理和未知攻擊的檢測給傳統入侵檢測技術帶來了很大的挑戰。在流量異常檢測方面,國內外的學術機構和企業不斷探討並提出了多種檢測方法[1]。經典的流量監測方法是基於閾值基線的檢測方法,這種方法通過對歷史數據的分析建立正常的參考基線范圍,一旦超出此范圍就判斷為異常,它的特點是簡單、計算復雜度小,適用於實時檢測,然而它作為一種實用的檢測手段時,需要結合網路流量的特點進行修正和改進。另一種常用的方法是基於統計的檢測,如一般似然比(GLR)檢測方法[2],它考慮兩個相鄰的時間窗口以及由這兩個窗口構成的合並窗口,每個窗口都用自回歸模型擬合,並計算各窗口序列殘差的聯合似然比,然後與某個預先設定的閾值T 進行比較,當超過閾值T 時,則窗口邊界被認定為異常點。這種檢測方法對於流量的突變檢測比較有效,但是由於它的閾值不是自動選取,並且當異常持續長度超過窗口長度時,該方法將出現部分失效。統計學模型在流量異常檢測中具有廣闊的研究前景,不同的統計學建模方式能夠產生不同的檢測方法。最近有許多學者研究了基於變換域進行流量異常檢測的方法[3],基於變換域的方法通常將時域的流量信號變換到頻域或者小波域,然後依據變換後的空間特徵進行異常監測。P. Barford等人[4]將小波分析理論運用於流量異常檢測,並給出了基於其理論的4類異常結果,但該方法的計算過於復雜,不適於在高速骨幹網上進行實時檢測。Lakhina等人[5-6]利用主成分分析方法(PCA),將源和目標之間的數據流高維結構空間進行PCA分解,歸結到3個主成分上,以3個新的復合變數來重構網路流的特徵,並以此發展出一套檢測方法。此外還有一些其他的監測方法[7],例如基於Markov模型的網路狀態轉換概率檢測方法,將每種類型的事件定義為系統狀態,通過過程轉換模型來描述所預測的正常的網路特徵,當到來的流量特徵與期望特徵產生偏差時進行報警。又如LERAD檢測[8],它是基於網路安全特徵的檢測,這種方法通過學習得到流量屬性之間的正常的關聯規則,然後建立正常的規則集,在實際檢測中對流量進行規則匹配,對違反規則的流量進行告警。這種方法能夠對發生異常的地址進行定位,並對異常的程度進行量化。但學習需要大量正常模式下的純凈數據,這在實際的網路中並不容易實現。隨著宏觀網路異常流量檢測成為網路安全的技術熱點,一些廠商紛紛推出了電信級的異常流量檢測產品,如Arbor公司的Peakflow、GenieNRM公司的GenieNTG 2100、NetScout公司的nGenius等。國外一些研究機構在政府資助下,開始部署宏觀網路異常監測的項目,並取得了較好的成績,如美國研究機構CERT建立了SiLK和AirCERT項目,澳大利亞啟動了NMAC流量監測系統等項目。針對宏觀網路異常流量監測的需要,CNCERT/CC部署運行863-917網路安全監測平台,採用分布式的架構,能夠通過多點對骨幹網路實現流量監測,通過分析協議、地址、埠、包長、流量、時序等信息,達到對中國互聯網宏觀運行狀態的監測。本文基於863-917網路安全監測平台獲取流量信息,構成監測矩陣,矩陣的行向量由源地址數量、目的地址數量、傳輸控制協議(TCP)位元組數、TCP報文數、數據報協議(UDP)位元組數、UDP報文數、其他流量位元組數、其他流量報文書、WEB流量位元組數、WEB流量報文數、TOP10個源IP占總位元組比例、TOP10個源IP占總報文數比例、TOP10個目的IP占總位元組數比例、TOP10個目的IP占總報文數比例14個部分組成,系統每5分鍾產生一個行向量,觀測窗口為6小時,從而形成了一個72×14的數量矩陣。由於在這14個觀測向量之間存在著一定的相關性,這使得利用較少的變數反映原來變數的信息成為可能。本項目採用了主成份分析法對觀測數據進行數據降維和特徵提取,下面對該演算法的工作原理進行介紹。 2 主成分分析技術主成分分析是一種坐標變換的方法,將給定數據集的點映射到一個新軸上面,這些新軸稱為主成分。主成分在代數學上是p 個隨機變數X 1, X 2……X p 的一系列的線性組合,在幾何學中這些現線性組合代表選取一個新的坐標系,它是以X 1,X 2……X p 為坐標軸的原來坐標系旋轉得到。新坐標軸代表數據變異性最大的方向,並且提供對於協方差結果的一個較為簡單但更精練的刻畫。主成分只是依賴於X 1,X 2……X p 的協方差矩陣,它是通過一組變數的幾個線性組合來解釋這些變數的協方差結構,通常用於高維數據的解釋和數據的壓縮。通常p 個成分能夠完全地再現全系統的變異性,但是大部分的變異性常常能夠只用少量k 個主成分就能夠說明,在這種情況下,這k 個主成分中所包含的信息和那p 個原變數做包含的幾乎一樣多,於是可以使用k 個主成分來代替原來p 個初始的變數,並且由對p 個變數的n 次測量結果所組成的原始數據集合,能夠被壓縮成為對於k 個主成分的n 次測量結果進行分析。運用主成分分析的方法常常能夠揭示出一些先前不曾預料的關系,因而能夠對於數據給出一些不同尋常的解釋。當使用零均值的數據進行處理時,每一個主成分指向了變化最大的方向。主軸以變化量的大小為序,一個主成分捕捉到在一個軸向上最大變化的方向,另一個主成分捕捉到在正交方向上的另一個變化。設隨機向量X '=[X 1,X 1……X p ]有協方差矩陣∑,其特徵值λ1≥λ2……λp≥0。考慮線性組合:Y1 =a 1 'X =a 11X 1+a 12X 2……a 1pX pY2 =a 2 'X =a 21X 1+a 22X 2……a 2pX p……Yp =a p'X =a p 1X 1+a p 2X 2……a p pX p從而得到:Var (Yi )=a i' ∑a i ,(i =1,2……p )Cov (Yi ,Yk )=a i '∑a k ,(i ,k =1,2……p )主成分就是那些不相關的Y 的線性組合,它們能夠使得方差盡可能大。第一主成分是有最大方差的線性組合,也即它能夠使得Var (Yi )=a i' ∑a i 最大化。我們只是關注有單位長度的系數向量,因此我們定義:第1主成分=線性組合a 1'X,在a1'a 1=1時,它能夠使得Var (a1 'X )最大;第2主成分=線性組合a 2 'X,在a2'a 2=1和Cov(a 1 'X,a 2 'X )=0時,它能夠使得Var (a 2 'X )最大;第i 個主成分=線性組合a i'X,在a1'a 1=1和Cov(a i'X,a k'X )=0(k<i )時,它能夠使得Var (a i'X )最大。由此可知主成分都是不相關的,它們的方差等於協方差矩陣的特徵值。總方差中屬於第k個主成分(被第k個主成分所解釋)的比例為:如果總方差相當大的部分歸屬於第1個、第2個或者前幾個成分,而p較大的時候,那麼前幾個主成分就能夠取代原來的p個變數來對於原有的數據矩陣進行解釋,而且信息損失不多。在本項目中,對於一個包含14個特徵的矩陣進行主成分分析可知,特徵的最大變化基本上能夠被2到3個主成分捕捉到,這種主成分變化曲線的陡降特性構成了劃分正常子空間和異常子空間的基礎。3 異常檢測演算法本項目的異常流量檢測過程分為3個階段:建模階段、檢測階段和評估階段。下面對每個階段的演算法進行詳細的介紹。3.1 建模階段本項目採用滑動時間窗口建模,將當前時刻前的72個樣本作為建模空間,這72個樣本的數據構成了一個數據矩陣X。在試驗中,矩陣的行向量由14個元素構成。主成份分為正常主成分和異常主成份,它們分別代表了網路中的正常流量和異常流量,二者的區別主要體現在變化趨勢上。正常主成份隨時間的變化較為平緩,呈現出明顯的周期性;異常主成份隨時間的變化幅度較大,呈現出較強的突發性。根據采樣數據,判斷正常主成分的演算法是:依據主成分和采樣數據計算出第一主成分變數,求第一主成分變數這72個數值的均值μ1和方差σ1,找出第一主成分變數中偏離均值最大的元素,判斷其偏離均值的程度是否超過了3σ1。如果第一主成分變數的最大偏離超過了閾值,取第一主成份為正常主成分,其他主成份均為異常主成分,取主成份轉換矩陣U =[L 1];如果最大偏離未超過閾值,轉入判斷第下一主成分,最後取得U =[L 1……L i -1]。第一主成份具有較強的周期性,隨後的主成份的周期性漸弱,突發性漸強,這也體現了網路中正常流量和異常流量的差別。在得到主成份轉換矩陣U後,針對每一個采樣數據Sk =xk 1,xk 2……xk p ),將其主成份投影到p維空間進行重建,重建後的向量為:Tk =UU T (Sk -X )T計算該采樣數據重建前與重建後向量之間的歐氏距離,稱之為殘差:dk =||Sk -Tk ||根據采樣數據,我們分別計算72次采樣數據的殘差,然後求其均值μd 和標准差σd 。轉換矩陣U、殘差均值μd 、殘差標准差σd 是我們構造的網路流量模型,也是進行流量異常檢測的前提條件。 3.2 檢測階段在通過建模得到網路流量模型後,對於新的觀測向量N,(n 1,n 2……np ),採用與建模階段類似的分析方法,將其中心化:Nd =N -X然後將中心化後的向量投影到p維空間重建,並計算殘差:Td =UUTNdTd =||Nd -Td ||如果該觀測值正常,則重建前與重建後向量應該非常相似,計算出的殘差d 應該很小;如果觀測值代表的流量與建模時發生了明顯變化,則計算出的殘差值會較大。本項目利用如下演算法對殘差進行量化:3.3 評估階段評估階段的任務是根據當前觀測向量的量化值q (d ),判斷網路流量是否正常。根據經驗,如果|q (d )|<5,網路基本正常;如果5≤|q (d )|<10,網路輕度異常;如果10≤|q (d )|,網路重度異常。4 實驗結果分析利用863-917網路安全監測平台,對北京電信骨幹網流量進行持續監測,我們提取6小時的觀測數據,由於篇幅所限,我們給出圖1—4的時間序列曲線。由圖1—4可知單獨利用任何一個曲線都難以判定異常,而利用本演算法可以容易地標定異常發生的時間。本演算法計算結果如圖5所示,異常發生時間在圖5中標出。我們利用863-917平台的回溯功能對於異常發生時間進行進一步的分析,發現在標出的異常時刻,一個大規模的僵屍網路對網外的3個IP地址發起了大規模的拒絕服務攻擊。 5 結束語本文提出一種基於主成分分析的方法來劃分子空間,分析和發現網路中的異常事件。本方法能夠准確快速地標定異常發生的時間點,從而幫助網路安全應急響應部門及時發現宏觀網路的流量異常狀況,為迅速解決網路異常贏得時間。試驗表明,我們採用的14個特徵構成的分析矩陣具有較好的識別准確率和分析效率,我們接下來將會繼續尋找更具有代表性的特徵來構成數據矩陣,並研究更好的特徵矩陣構造方法來進一步提高此方法的識別率,並將本方法推廣到短時分析中。6 參考文獻[1] XU K, ZHANG Z L, BHATTACHARYYA S. Profiling Internet backbone traffic: Behavior models and applications [C]// Proceedings of ACM SIGCOMM, Aug 22- 25, 2005, Philadelphia, PA, USA. New York, NY,USA:ACM,2005:169-180.[2] HAWKINS D M, QQUI P, KANG C W. The change point model for statistical process control [J]. Journal of Quality Technology,2003, 35(4).[3] THOTTAN M, JI C. Anomaly detection in IP networks [J]. IEEE Transactions on Signal Processing, 2003, 51 )8):2191-2204.[4] BARFORD P, KLINE J, PLONKA D, et al. A signal analysis of network traffic anomalies [C]//Proceedings of ACM SIGCOMM Intemet Measurement Workshop (IMW 2002), Nov 6-8, 2002, Marseilles, France. New York, NY,USA:ACM, 2002:71-82.[5] LAKHINA A, CROVELLA M, DIOT C. Mining anomalies using traffic feature distributions [C]// Proceedings of SIGCOMM, Aug 22-25, 2005, Philadelphia, PA, USA. New York, NY,USA: ACM, 2005: 217-228.[6] LAKHINA A, CROVELLA M, DIOT C. Diagnosing network-wide traffic anomalies [C]// Proceedings of ACM SIGCOMM, Aug 30 - Sep 3, 2004, Portland, OR, USA. New York, NY,USA: ACM, 2004: 219-230.[7] SCHWELLER R, GUPTA A, PARSONS E, et al. Reversible sketches for efficient and accurate change detection over network data streams [C]//Proceedings of ACM SIGCOMM Internet Measurement Conference (IMC』04), Oct 25-27, 2004, Taormina, Sicily, Italy. New York, NY,USA: ACM, 2004:207-212.[8] MAHONEY M V, CHAN P K. Learning rules for anomaly detection of hostile network traffic [C]// Proceedings of International Conference on Data Mining (ICDM』03), Nov 19-22, Melbourne, FL, USA . Los Alamitos, CA, USA: IEEE Computer Society, 2003:601-604.
C. 上網瀏覽網頁時,出現「系統檢測到您的計算機網路中存在異常流量」怎麼辦
上網瀏覽網頁時,出現「系統檢測到您的計算機網路中存在異常流量」這是因為路由器上網模式設置錯誤造成的,具體的解決方法如下:
1、首先在電腦上打開寬頻連接的窗口,然後單擊屬性:
D. 系統檢測到您的計算機網路中存在異常流量怎麼處理
您好
可能是某個軟體持續上傳或者下載
佔用了大部分寬頻
建議你在騰訊電腦管家工具箱——流量監控中查看一下各個軟體的流量使用情況
希望可以幫到您,望採納
E. 我們的系統檢測到您的計算機網路中存在異常流量.請稍後重新發送
此提示是瀏覽器為了防範機器自動查詢而採取的措施,但對於多人使用同一對外IP的情況也會造成誤報,比如身處區域網或者使用了代理伺服器等網路條件下。
解決方法:
1、輸入驗證碼,一般輸入2次驗證碼之後即可解除提示。
2、如果使用的是區域網,要麼聯系網管解決,要麼自行使用代理伺服器。
3、如果使用了代理伺服器,不用或者更換代理伺服器。
4、如果是個人寬頻,重新進行寬頻撥號或者重啟路由器獲得一個新IP。
(5)網路異常流量檢測數據集擴展閱讀:
注意事項:
1、從工作方式上看,計算機網路可以分為邊緣部分和核心部分。 邊緣部分是指用戶直接使用的、連接在網際網路上的主機, 而核心部分是指大量的網路和連接這些網路的路由器,它為邊緣部分提供了連通性和交換服務。
2、分布式處理。當計算機網路中的某個計算機系統負荷過重時,就可以將其處理的任務傳送到網路的其他計算機系統中,利用空閑計算機資源以提高整個系統的運行效率。
3、按照網路的拓撲結構,主要分為星形、匯流排型、環形和網路形網路。 其中前三者多用於區域網,網路形網路多用於廣域網。
F. 使用Netflow進行的一次異常網路流量的分析
Netflow是一種Cisco開發的基於流的流量分析技術,其中每條流主要包含以下欄位, 源IP地址,目的IP地址,源埠號,目的埠號,IP協議號,服務類型,TCP標記,位元組數,介面號等 ,所以一條流就是網路上的一次連接或者會話。Netflow可以採集進出埠的所有流量,通過分析這些數據,網路管理員可以確認一些事情,比如源和目標的流量,網路擁塞的原因等。Netflow採集的數據除了存放在本地的cache中,也可以採用UDP協議的9996埠輸送給第三方的Netflow分析器,藉助可視化的分析工具可以快速排錯。Netflow是一個輕量級的分析工具,它只取了報文中的一些重要欄位而沒有包含原始數據,如果要對數據進行深度分析還得抓包。下圖是用wireshark抓包工具抓到的Netflow原始報文,見(圖一):
邊界路由器出口的流量異常增大,平時埠的流入速率為1.5-2Mbps,突然陡增到30-40Mbps,見(圖二)
分析應用流量分布,發現排名第一的應用竟然是ICMP(圖三),第一反應是網路遭到Ping of death攻擊,接著對ICMP應用的來源和目的進行分析,發現兩個疑點,一個是本端邊界路由器的IP與遠端互聯設備的IP源發出的流量最多,見(圖四);另一個是邊界路由器上有大量目標非本地網路的流量;從第一點的現象看,好像存在路由環;從第二點的現象看是有一條匯總路由指向這台邊界路由器。登錄路由器查看路由表和配置,發現自己在引入路由時由於疏忽把一條匯總路由誤引入到了錯誤的路由區域中,導致了整個企業網上的未知流量都向邊界路由器上來回丟,直到icmp報文的ttl值耗盡才被丟棄。問題解決辦法是在引入路由時採用策略路由,對相應的路由進行過濾。
本案例是由於配置錯誤導致的流量異常,病毒和惡意軟體也會引起流量異常,它們會經常利用一些系統漏洞來進行流量攻擊,當然網路資源總是有限的,一些正常的應用也會把網路帶寬耗盡,造成網路延時和網路丟包,所以具體情況要具體分析。
G. 基於網路的入侵檢測數據集研究
摘要:標記數據集是訓練和評估基於異常的網路入侵檢測系統所必需的。本文對基於網路的入侵檢測數據集進行了重點的文獻綜述,並對基於包和流的底層網路數據進行了詳細的描述。本文確定了15種不同的屬性來評估單個數據集對特定評估場景的適用性。這些屬性涵蓋了廣泛的標准,並被分為五類,例如用於提供結構化搜索的數據量或記錄環境。在此基礎上,對現有數據集進行了全面的綜述。本綜述還強調了每個數據集的特性。此外,本工作還簡要介紹了基於網路的數據的其他來源,如流量生成器和數據存儲庫。最後,我們討論了我們的觀察結果,並為使用和創建基於網路的數據集提供了一些建議。
一、引言
信息技術安全是一個重要的問題,入侵和內部威脅檢測的研究已經投入了大量的精力。在處理與安全相關的數據[1]-[4]、檢測僵屍網路[5]-[8]、埠掃描[9]-[12]、蠻力攻擊[13]-[16]等方面已經發表了許多貢獻。所有這些工作的共同點是,它們都需要具有代表性的基於網路的數據集。此外,基準數據集是評價和比較不同網路入侵檢測系統(NIDS)質量的良好基礎。給定一個帶標簽的數據集,其中每個數據點都被分配給類normal或attack,可以使用檢測到的攻擊數量或虛警數量作為評估標准。
不幸的是,沒有太多具有代表性的數據集。Sommer和Paxson[17](2010)認為,缺乏具有代表性的公共可用數據集是基於異常的入侵檢測面臨的最大挑戰之一。Malowidzki等人(2015)和Haider等人(2017)也發表了類似的聲明。然而,社區正在解決這個問題,因為在過去幾年中已經發布了幾個入侵檢測數據集。其中,澳大利亞網路安全中心發布了UNSW-NB15[20]數據集,科堡大學發布了CIDDS-001[21]數據集,新布倫瑞克大學發布了CICIDS 2017[22]數據集。未來還會有更多數據集發布。然而,現有數據集沒有全面的索引,很難跟蹤最新的發展。
本文對現有的基於網路的入侵檢測數據集進行了文獻綜述。首先,對底層數據進行更詳細的研究。基於網路的數據以基於包或基於流的格式出現。基於流的數據只包含關於網路連接的元信息,而基於包的數據也包含有效負載。然後,對文獻中常用的評價網路數據集質量的不同數據集屬性進行了分析和分組。本調查的主要貢獻是對基於網路的數據集進行了詳盡的文獻綜述,並分析了哪些數據集滿足哪些數據集屬性。本文重點研究了數據集內的攻擊場景,並強調了數據集之間的關系。此外,除了典型的數據集之外,我們還簡要介紹了流量生成器和數據存儲庫作為網路流量的進一步來源,並提供了一些觀察和建議。作為主要的好處,本調查建立了一組數據集屬性,作為比較可用數據集和確定合適數據集的基礎,給出了特定的評估場景。此外,我們創建了一個網站1,其中引用了所有提到的數據集和數據存儲庫,我們打算更新這個網站。
本文的其餘部分組織如下。下一節將討論相關工作。第三部分詳細分析了基於包和流的網路數據。第四部分討論了文獻中常用來評價入侵檢測數據集質量的典型數據集屬性。第五節概述了現有的數據集,並根據第四節確定的屬性檢查每個數據集。第六節簡要介紹了基於網路的數據的進一步來源。在本文件以摘要結束之前,第七節討論了意見和建議。
二、相關工作
本節回顧基於網路的入侵檢測數據集的相關工作。需要注意的是,本文沒有考慮基於主機的入侵檢測數據集,比如ADFA[23]。讀者可以在Glass-Vanderlan等人的[24]中找到關於基於主機的入侵檢測數據的詳細信息。
Malowidzki等人[18]將缺失的數據集作為入侵檢測的一個重要問題進行了討論,對好的數據集提出了要求,並列出了可用的數據集。Koch等人的[25]提供了入侵檢測數據集的另一個概述,分析了13個數據源,並根據8個數據集屬性對它們進行了評估。Nehinbe[26]為IDS和入侵防禦系統(IPS)提供了關鍵的數據集評估。作者研究了來自不同來源的七個數據集(如DARPA數據集和DEFCON數據集),強調了它們的局限性,並提出了創建更真實數據集的方法。由於在過去的四年中發布了許多數據集,我們延續了2011年到2015年[18],[25],[26]的工作,但提供了比我們的前輩更最新和更詳細的概述。
雖然許多數據集論文(如CIDDS-002[27]、ISCX[28]或UGR ' 16[29])只對一些入侵檢測數據集做了一個簡要的概述,但Sharafaldin等人對[30]提供了更詳盡的綜述。他們的主要貢獻是一個生成入侵檢測數據集的新框架。Sharafaldin等人還分析了11個可用的入侵檢測數據集,並根據11個數據集屬性對其進行了評估。與早期的數據集論文相比,我們的工作重點是對現有的基於網路的數據集提供一個中立的概述,而不是提供一個額外的數據集。
最近的其他論文也涉及到基於網路的數據集,但主要關注的焦點有所不同。Bhuyan等人對網路異常檢測進行了全面的綜述。作者描述了現有的9個數據集,並分析了現有異常檢測方法所使用的數據集。類似地,Nisioti等人的[32]關注於用於入侵檢測的無監督方法,並簡要參考了現有的12個基於網路的數據集。Yavanoglu和Aydos[33]分析比較了最常用的入侵檢測數據集。然而,他們的審查只包含七個數據集,包括其他數據集,如HTTP CSIC 2010[34]。總而言之,這些作品往往有不同的研究目標,而且只是接觸對於基於網路的數據集,則略有不同。
三、數據
通常,網路流量以基於包或基於流的格式捕獲。在包級捕獲網路流量通常是通過鏡像網路設備上的埠來完成的。基於包的數據包含完整的有效載荷信息。基於流的數據更加聚合,通常只包含來自網路連接的元數據。Wheelus等人通過一個說明性的比較強調了這一區別:「捕獲包檢查和NetFlow之間的一個很好的區別示例是徒步穿越森林,而不是乘坐熱氣球飛越森林」[35]。在這項工作中,引入了第三類(其他數據)。另一個類別沒有標准格式,並且因每個數據集而異。
A基於分組的數據
基於包的數據通常以pcap格式捕獲,並包含有效負載。可用的元數據取決於使用的網路和傳輸協議。有許多不同的協議,其中最重要的是TCP、UDP、ICMP和IP。圖1顯示出了不同的報頭。TCP是一種可靠的傳輸協議,它包含諸如序列號、確認號、TCP標志或校驗和值之類的元數據。UDP是一種無連接的傳輸協議,它的頭比TCP小,TCP只包含四個欄位,即源埠、目標埠、長度和校驗和。與TCP和UDP相比,ICMP是一個包含狀態消息的支持協議,因此更小。通常,在報頭旁邊還有一個可用的IP報頭傳輸協議的。IP報頭提供源和目標IP地址等信息,如圖1所示。
b .流為基礎數據
基於流的網路數據是一種更簡潔的格式,主要包含關於網路連接的元信息。基於流的數據將所有在時間窗口內共享某些屬性的包聚合到一個流中,通常不包含任何有效負載。默認的五元組定義,即,源IP地址、源埠、目標IP地址、目標埠和傳輸協議[37],是一種廣泛使用的基於流的數據屬性匹配標准。流可以以單向或雙向格式出現。單向格式將主機A到主機B之間共享上述屬性的所有包聚合到一個流中。從主機B到主機A的所有數據包聚合為另一個單向流。相反,一個雙向流總結了主機a和主機B之間的所有數據包,不管它們的方向如何。
典型的基於流的格式有NetFlow[38]、IPFIX[37]、sFlow[39]和OpenFlow[40]。表I概述了基於流的網路流量中的典型屬性。根據特定的流格式和流導出器,可以提取額外的屬性,如每秒位元組數、每個包的位元組數、第一個包的TCP標志,甚至有效負載的計算熵。
此外,可以使用nfmp2或YAF3之類的工具將基於包的數據轉換為基於流的數據(但不是相反)。讀者如果對流導出器之間的差異感興趣,可以在[41]中找到更多細節,並分析不同的流導出器如何影響僵屍網路分類。
c .其他數據
這個類別包括所有既不是純基於包也不是基於流的數據集。這類的一個例子可能是基於流的數據集,這些數據集已經用來自基於包的數據或基於主機的日誌文件的附加信息進行了豐富。KDD CUP 1999[42]數據集就是這一類別的一個著名代表。每個數據點都有基於網路的屬性,比如傳輸的源位元組數或TCP標志的數量,但是也有基於主機的屬性,比如失敗登錄的數量。因此,這個類別的每個數據集都有自己的一組屬性。由於每個數據集都必須單獨分析,所以我們不對可用屬性做任何一般性的說明。
四、數據集屬性
為了能夠比較不同的入侵檢測數據集,並幫助研究人員為其特定的評估場景找到合適的數據集,有必要將公共屬性定義為評估基礎。因此,我們研究了文獻中用於評估入侵檢測數據集的典型數據集屬性。一般概念FAIR[43]定義了學術數據應該遵循的四個原則實現,即可查找性、可訪問性、互操作性和可重用性。在與這個一般概念相一致的同時,本工作使用更詳細的數據集屬性來提供基於網路的入侵檢測數據集的重點比較。通常,不同的數據集強調不同的數據集屬性。例如,UGR ' 16數據集[29]強調較長的記錄時間來捕捉周期效應,而ISCX數據集[28]強調精確的標記。由於我們的目標是研究基於網路的入侵檢測數據集的更一般的屬性,所以我們試圖統一和概括文獻中使用的屬性,而不是採用所有的屬性。例如,一些方法評估特定類型攻擊的存在,比如DoS(拒絕服務)或瀏覽器注入。某些攻擊類型的存在可能是評估這些特定攻擊類型的檢測方法的相關屬性,但是對於其他方法沒有意義。因此,我們使用一般的屬性攻擊來描述惡意網路流量的存在(見表三)。第五節提供了關於數據集中不同攻擊類型的更多細節,並討論了其他特定的屬性。
我們不像Haider et al.[19]或Sharafaldin et al.[30]那樣開發評估評分,因為我們不想判斷不同數據集屬性的重要性。我們認為,某些屬性的重要性取決於具體的評估場景,不應該在調查中普遍判斷。相反,應該讓讀者能夠找到適合他們需要的數據集。因此,我們將下面討論的數據集屬性分為五類,以支持系統搜索。圖2總結了所有數據集屬性及其值范圍。
A.一般資料
以下四個屬性反映了關於數據集的一般信息,即創建年份、可用性、正常網路流量和惡意網路流量的存在。
1)創建年份:由於網路流量受概念漂移影響,每天都會出現新的攻擊場景,因此入侵檢測數據集的年齡起著重要作用。此屬性描述創建年份。與數據集發布的年份相比,捕獲數據集的底層網路流量的年份與數據集的最新程度更相關。
2)公共可用性:入侵檢測數據集應公開可用,作為比較不同入侵檢測方法的依據。此外,數據集的質量只能由第三方檢查,如果它們是公開可用的。表III包含此屬性的三個不同特徵:yes, o.r. (on request)和no。On request是指在向作者或負責人發送消息後授予訪問許可權。
3)正常用戶行為:此屬性指示數據集中正常用戶行為的可用性,並接受yes或no值。值yes表示數據集中存在正常的用戶行為,但它不聲明是否存在攻擊。一般來說,入侵檢測系統的質量主要取決於其攻擊檢測率和誤報率。此外,正常用戶行為的存在對於評估IDS是必不可少的。然而,缺少正常的用戶行為並不會使數據集不可用,而是表明它必須與其他數據集或真實世界的網路流量合並。這樣的合並步驟通常稱為覆蓋或鹽化[44]、[45]。
4)攻擊流量:IDS數據集應包含各種攻擊場景。此屬性指示數據集中是否存在惡意網路通信,如果數據集中至少包含一次攻擊,則該屬性的值為yes。表四提供了關於特定攻擊類型的附加信息。
B.數據的性質
此類別的屬性描述數據集的格式和元信息的存在。
1)元數據:第三方很難對基於包和基於流的網路流量進行內容相關的解釋。因此,數據集應該與元數據一起提供關於網路結構、IP地址、攻擊場景等的附加信息。此屬性指示附加元數據的存在。
2)格式:網路入侵檢測數據集以不同的格式出現。我們大致將它們分為三種格式(參見第三節)。(1)基於分組的網路流量(例如pcap)包含帶負載的網路流量。(2)基於流的網路流量(如NetFlow)只包含關於網路連接的元信息。(3)其他類型的數據集可能包含基於流的跟蹤,帶有來自基於包的數據甚至來自基於主機的日誌文件的附加屬性。
3)匿名性:由於隱私原因,入侵檢測數據集往往不會公開,或者只能以匿名的形式提供。此屬性指示數據是否匿名以及哪些屬性受到影響。表III中的none值表示沒有執行匿名化。值yes (IPs)表示IP地址要麼被匿名化,要麼從數據集中刪除。同樣,值yes (payload)表示有效負載信息被匿名化,要麼從基於分組的網路流量中刪除。
C.數據量
此類別中的屬性根據容量和持續時間描述數據集。
1) Count:屬性Count將數據集的大小描述為包含的包/流/點的數量或物理大小(GB)。
2)持續時間:數據集應涵蓋較長時間內的網路流量,以捕捉周期性影響(如白天與夜晚或工作日與周末)[29]。屬性持續時間提供每個數據集的記錄時間。
D.記錄環境
此類別中的屬性描述捕獲數據集的網路環境和條件。
1)流量類型:描述網路流量的三種可能來源:真實的、模擬的或合成的。Real是指在有效的網路環境中捕獲真實的網路流量。模擬的意思是在測試床或模擬網路環境中捕獲真實的網路流量。綜合意味著網路流量是綜合創建的(例如,通過一個流量生成器),而不是由一個真實的(或虛擬的)網路設備捕獲的。
2)網路類型:中小企業的網路環境與互聯網服務提供商(ISP)有著本質的區別。因此,不同的環境需要不同的安全系統,評估數據集應該適應特定的環境。此屬性描述創建相應數據集的基礎網路環境。
3)完整網路:該屬性採用Sharafaldin等人的[30],表示數據集是否包含來自具有多個主機、路由器等網路環境的完整網路流量。如果數據集只包含來自單個主機(例如蜜罐)的網路流量,或者只包含來自網路流量的一些協議(例如獨佔SSH流量),則將值設置為no。
E.評價
以下特性與使用基於網路的數據集評估入侵檢測方法有關。更精確地說,這些屬性表示預定義子集的可用性、數據集的平衡和標簽的存在。
1)預定義的分割:有時,即使在相同的數據集上對不同的IDS進行評估,也很難對它們的質量進行比較。在這種情況下,必須明確是否使用相同的子集進行訓練和評估。如果數據集附帶用於訓練和評估的預定義子集,則此屬性提供信息。
2)均衡:基於異常的入侵檢測通常採用機器學習和數據挖掘方法。在這些方法的訓練階段(例如,決策樹分類器),數據集應該與其類標簽相平衡。因此,數據集應該包含來自每個類(normal和attack)的相同數量的數據點。然而,真實世界的網路流量是不平衡的,它包含了比攻擊流量更多的正常用戶行為。此屬性指示數據集是否與其類標簽相平衡。在使用數據挖掘演算法之前,應該通過適當的預處理來平衡不平衡的數據集。他和Garcia[46]提供了從不平衡數據中學習的良好概述。
3)帶標簽:帶標簽的數據集是訓練監督方法、評估監督和非監督入侵檢測方法所必需的。此屬性表示是否標記了數據集。如果至少有兩個類normal和attack,則將此屬性設置為yes。此屬性中可能的值為:yes, yes with BG。(yes with background)、yes (IDS)、indirect和no。是的,有背景意味著有第三類背景。屬於類背景的包、流或數據點可以是正常的,也可以是攻擊。Yes (IDS)是指使用某種入侵檢測系統來創建數據集的標簽。數據集的一些標簽可能是錯誤的,因為IDS可能不完美。間接意味著數據集沒有顯式標簽,但是可以通過其他日誌文件自己創建標簽。
五、數據集
我們認為,在搜索足夠的基於網路的數據集時,標記的數據集屬性和格式是最決定性的屬性。入侵檢測方法(監督的或非監督的)決定是否需要標簽以及需要哪種類型的數據(包、流或其他)。因此,表II提供了關於這兩個屬性的所有研究的基於網路的數據集的分類。表三給出了關於第四節數據集屬性的基於網路的入侵檢測數據集的更詳細概述。在搜索基於網路的數據集時,特定攻擊場景的存在是一個重要方面。因此,表III顯示了攻擊流量的存在,而表IV提供了數據集中特定攻擊的詳細信息。關於數據集的論文描述了不同抽象級別的攻擊。例如,Vasudevan等人在他們的數據集中(SSENET- 2011)將攻擊流量描述為:「Nmap、Nessus、Angry IP scanner、Port scanner、Metaploit、Backtrack OS、LOIC等是參與者用來發起攻擊的一些攻擊工具。」相比之下,Ring等人在他們的CIDDS-002數據集[27]中指定了執行埠掃描的數量和不同類型。因此,攻擊描述的抽象級別可能在表四中有所不同。對所有攻擊類型的詳細描述超出了本文的范圍。相反,我們推薦感興趣的讀者閱讀Anwar等人的開放存取論文「從入侵檢測到入侵響應系統:基礎、需求和未來方向」。此外,一些數據集是其他數據集的修改或組合。圖3顯示了幾個已知數據集之間的相互關系。
基於網路的數據集,按字母順序排列
AWID [49]。AWID是一個公共可用的數據集4,主要針對802.11網路。它的創建者使用了一個小型網路環境(11個客戶機),並以基於包的格式捕獲了WLAN流量。在一個小時內,捕獲了3700萬個數據包。從每個數據包中提取156個屬性。惡意網路流量是通過對802.11網路執行16次特定攻擊而產生的。AWID被標記為一個訓練子集和一個測試子集。
Booters[50]。Booters是罪犯提供的分布式拒絕服務(DDoS)攻擊。Santanna et. al[50]發布了一個數據集,其中包括九種不同的啟動程序攻擊的跟蹤,這些攻擊針對網路環境中的一個空路由IP地址執行。結果數據集以基於分組的格式記錄,包含超過250GB的網路流量。單獨的包沒有標記,但是不同的Booters攻擊被分成不同的文件。數據集是公開可用的,但是出於隱私原因,booters的名稱是匿名的。
僵屍網路[5]。僵屍網路數據集是現有數據集的組合,可以公開使用。僵屍網路的創建者使用了[44]的疊加方法來組合ISOT[57]、ISCX 2012[28]和CTU-13[3]數據集的(部分)。結果數據集包含各種僵屍網路和正常用戶行為。僵屍網路數據集被劃分為5.3 GB訓練子集和8.5 GB測試子集,都是基於包的格式。
CIC DoS[51]。CIC DoS是加拿大網路安全研究所的一組數據,可以公開使用。作者的意圖是創建一個帶有應用層DoS攻擊的入侵檢測數據集。因此,作者在應用層上執行了8種不同的DoS攻擊。將生成的跟蹤結果與ISCX 2012[28]數據集的無攻擊流量相結合生成正常的用戶行為。生成的數據集是基於分組的格式,包含24小時的網路流量。
CICIDS 2017 [22]。CICIDS 2017是在模擬環境中歷時5天創建的,包含基於分組和雙向流格式的網路流量。對於每個流,作者提取了80多個屬性,並提供了關於IP地址和攻擊的附加元數據。正常的用戶行為是通過腳本執行的。數據集包含了多種攻擊類型,比如SSH蠻力、heartbleed、僵屍網路、DoS、DDoS、web和滲透攻擊。CICIDS 2017是公開可用的。
cidds - 001 [21]。CIDDS-001數據集是在2017年模擬的小型商業環境中捕獲的,包含為期四周的基於單向流的網路流量,並附帶詳細的技術報告和附加信息。該數據集的特點是包含了一個在互聯網上受到攻擊的外部伺服器。與蜜罐不同,來自模擬環境的客戶機也經常使用此伺服器。正常和惡意的用戶行為是通過在GitHub9上公開可用的python腳本執行的。這些腳本允許不斷生成新的數據集,並可用於其他研究。CIDDS-001數據集是公開可用的,包含SSH蠻力、DoS和埠掃描攻擊,以及從野外捕獲的一些攻擊。
cidds - 002 [27]。CIDDS-002是基於CIDDS-001腳本創建的埠掃描數據集。該數據集包含兩個星期的基於單向流的網路流量,位於模擬的小型業務環境中。CIDDS-002包含正常的用戶行為以及廣泛的不同埠掃描攻擊。技術報告提供了關於外部IP地址匿名化的數據集的附加元信息。數據集是公開可用的。
H. 系統檢測到異常流量,如何解決
1.短線重撥;
2.要麼聯系網管解決,要麼自行使用代理伺服器;
3.不用或者更換代理伺服器;
4.重新進行寬頻撥號或者重啟路由器獲得一個新IP。
I. 網路異常流量數據集&&流量特徵提取工具CICFlowMeter
博前緩客梁肆:
連慧渣模接:
https://www.jianshu.com/p/125e2c8e9190
https://www.jianshu.com/p/d72bec65397b
https://metang326.github.io/2019/04/21/
https://blog.csdn.net/u010916338/article/details/84397495
https://blog.csdn.net/qq_40004550/article/details/103633684
J. 異常檢測(Anomaly Detection)
異常檢測(Anomaly Detection)是機器學習演算法的一個常見應用。它主要用於非監督學習,但又類似一些監督學習問題。
異常檢測常用在對網站異常用戶的檢測;還有在工程上一些零件,設備異常的檢查;還有機房異常機器的監控等等
假設有數據集 ,當又有一個新的測試樣本 ;
想要知道這個新樣本是否是異常的;
首先對x的分布概率建模p(x) ,用來說明這個例子不是異常的概率;
然後定一個閾值 ,當 時說明是異常的。
當出現在高概率分布的區域時,說明該例子時正常的;當出現在低概率的區域時,說明是異常的。
高斯分布又被稱之為正態分布,曲線呈鍾型,兩頭低,中間高,左右對稱因其曲線呈鍾形,因此人們又經常稱之為鍾形曲線
假設x是一個實數隨機變數,如果它的概率分布為高斯分布,定義幾個變數:
=平均值
=標准差
=方差
那麼x的概率分布可以用公式來表示:
其平均值 決定了其位置,其標准差 決定了分布的幅度
完整的高斯分布的概率公式為:
當參數平均值 和標准差 變化時:
關於平均值和方差的求解:
在一個異常檢測的例子中,有m個訓練樣本,每個樣本的特徵值數量有n個,那麼某個樣本的分布概率模型p(x)就可以用樣本的每個特徵值的概率分布來計算:
上面的式子可以用更簡潔的方式來表達
總計一下,異常檢測的過程:
如何評估一個異常檢測演算法,以及如何開發一個關於異常檢測的應用:
首先,在獲取到的一堆數據中,取一大部分正常的(可能包含少部分異常)的數據用於訓練集來訓練分布概率公式p(x)。
然後,在交叉驗證和測試集中使用包含正常和一定比例異常的數據,來通過查准率和召回率,以及F值公式來評價一個演算法。
舉個例子
假設有:
下面分割一下訓練集,交叉驗證集和測試集:
在訓練集上訓練出概率分布函數p(x)
在交叉驗證集上,預測y:
下面通過和真實標簽的比較,可以計算出 查准率(Precision)和召回率(Recall),然後通過F值公式來得到一個數值。
總結一下,我們將正常的數據分成60:20:20,分別給訓練集,交叉驗證集,測試集,然後將異常的數據分成兩半,交叉驗證集和測試集各一半。
我們可以通過改變不同的閾值 從而得到不同的評信檔價系數來選取一個最佳的閾值。
當得到的評價系數不佳時,也可以通過改變特徵值的種類和數量來獲取理想的評價系數
在使用異常檢測時,對性能影響最大的因素是特徵值的選擇。
首先要對特徵向量使用高斯分布來建模,通常情況下,我們得到的原始數據並沒有呈現高斯分布,例如這種:
有幾種方法可以實現:
通過上述辦法,可以將數據轉換成高斯分布的形式。
異常檢測有點類似監督學習中的二元分類問題。
我們的目標是使得p(x)對於正常的數據來說好坦中是大的,而對於異常的數據來說是很小的,而在異常檢測中一個常見的問題是最終我們的到的p(x)對於正常和異常的都很大。
在這種情況下需要觀察一下交叉驗證集中的異常示例,嘗試找出能更好區分數據的新特性。
例子
例如,有一個關於機房機器的樣本示例,開始收集的樣本示例中包含的特徵值有關於cpu負載和網路流量的。
cpu負載和網路流量是呈線性關系的,當網路流量變大時,cpu也會相應增大。
現在有一個異常的示例是網路流量不大,cpu確負載很大。假如在只有這兩個特徵值的情況下運行異常檢測演算法得出的p(x),可能就效果不佳。這時可以添加一個特徵值,是流量和cpu的比例關系,這樣就約束來上述的異常示例,通過這三個特徵值得到的異常檢測演算法可能就會好一點。
異常檢測一般用於:
樣友山本中 的數量非常少(0-50個),而 的非常多。這樣由於樣本數量的過少,達不到良好的訓練效果,而在異常檢測中確能夠表現良好。
還有就是導致 的情況非常多,且有不可預見性。
監督學習一般用於:
樣本中 和 的數量都非常多。這樣就有足夠的樣本數量去訓練演算法。
多元高斯分布是異常檢測的一種推廣,它可能會檢測到更多的異常。
在原始高斯分布中,模型p(x)的搭建是通過分別計算 來完成的,而多元高斯分布則是一步到位,直接計算出模型:
PS: 是一個協方差矩陣。
通過改變 和 可以得到不同的多元高斯分布圖:
原始高斯分布模型,它的多個特徵值之間的關系是軸對齊的(axis-aligned),兩個或多個高斯分布之間沒有相關性。
而多元高斯分布能夠自動捕獲x的不同特徵之間的相關性。因此它在圖像上會現實橢圓或有斜率的橢圓。
在平常的使用中,一般是使用原始高斯分布模型的,因為它的計算成本比較低。
在多元高斯分布中,因為要計算多個特徵值之間的相關性,導致計算會慢很多,而且當特徵值很多是,協方差矩陣就會很大,計算它的逆矩陣就會花費很多時間。
要保證樣本數量m大於特徵值數量n,否則協方差矩陣會不可逆;
根據經驗法則,當 時,多元高斯分布會表現良好。
在原始高斯分布模型中可以手動添加相關性高的特徵值之間的關系,可以避免了使用多元高斯分布,減小計算成本。