成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

基于機器學(xué)習(xí)的web異常檢測

安全 應(yīng)用安全
本文管中窺豹式的介紹了機器學(xué)習(xí)用于web異常檢測的幾個思路。

Web防火墻是信息安全的第一道防線。隨著網(wǎng)絡(luò)技術(shù)的快速更新,新的黑客技術(shù)也層出不窮,為傳統(tǒng)規(guī)則防火墻帶來了挑戰(zhàn)。傳統(tǒng)web入侵檢測技術(shù)通過維護規(guī)則集對入侵訪問進行攔截。一方面,硬規(guī)則在靈活的黑客面前,很容易被繞過,且基于以往知識的規(guī)則集難以應(yīng)對0day攻擊;另一方面,攻防對抗水漲船高,防守方規(guī)則的構(gòu)造和維護門檻高、成本大。

基于機器學(xué)習(xí)技術(shù)的新一代web入侵檢測技術(shù)有望彌補傳統(tǒng)規(guī)則集方法的不足,為web對抗的防守端帶來新的發(fā)展和突破。機器學(xué)習(xí)方法能夠基于大量數(shù)據(jù)進行自動化學(xué)習(xí)和訓(xùn)練,已經(jīng)在圖像、語音、自然語言處理等方面廣泛應(yīng)用。然而,機器學(xué)習(xí)應(yīng)用于web入侵檢測也存在挑戰(zhàn),其中最大的困難就是標(biāo)簽數(shù)據(jù)的缺乏。盡管有大量的正常訪問流量數(shù)據(jù),但web入侵樣本稀少,且變化多樣,對模型的學(xué)習(xí)和訓(xùn)練造成困難。因此,目前大多數(shù)web入侵檢測都是基于無監(jiān)督的方法,針對大量正常日志建立模型(Profile),而與正常流量不符的則被識別為異常。這個思路與攔截規(guī)則的構(gòu)造恰恰相反。攔截規(guī)則意在識別入侵行為,因而需要在對抗中“隨機應(yīng)變”;而基于profile的方法旨在建模正常流量,在對抗中“以不變應(yīng)萬變”,且更難被繞過。

基于機器學(xué)習(xí)的web異常檢測

基于異常檢測的web入侵識別,訓(xùn)練階段通常需要針對每個url,基于大量正常樣本,抽象出能夠描述樣本集的統(tǒng)計學(xué)或機器學(xué)習(xí)模型(Profile)。檢測階段,通過判斷web訪問是否與Profile相符,來識別異常。

通過判斷web訪問是否與Profile相符,來識別異常

一、對于Profile的建立,主要有以下幾種思路:

1. 基于統(tǒng)計學(xué)習(xí)模型

基于統(tǒng)計學(xué)習(xí)的web異常檢測,通常需要對正常流量進行數(shù)值化的特征提取和分析。特征例如,URL參數(shù)個數(shù)、參數(shù)值長度的均值和方差、參數(shù)字符分布、URL的訪問頻率等等。接著,通過對大量樣本進行特征分布統(tǒng)計,建立數(shù)學(xué)模型,進而通過統(tǒng)計學(xué)方法進行異常檢測。

2. 基于文本分析的機器學(xué)習(xí)模型

Web異常檢測歸根結(jié)底還是基于日志文本的分析,因而可以借鑒NLP中的一些方法思路,進行文本分析建模。這其中,比較成功的是基于隱馬爾科夫模型(HMM)的參數(shù)值異常檢測。

3. 基于單分類模型

由于web入侵黑樣本稀少,傳統(tǒng)監(jiān)督學(xué)習(xí)方法難以訓(xùn)練。基于白樣本的異常檢測,可以通過非監(jiān)督或單分類模型進行樣本學(xué)習(xí),構(gòu)造能夠充分表達白樣本的最小模型作為Profile,實現(xiàn)異常檢測。

4. 基于聚類模型

通常正常流量是大量重復(fù)性存在的,而入侵行為則極為稀少。因此,通過web訪問的聚類分析,可以識別大量正常行為之外,小搓的異常行為,進行入侵發(fā)現(xiàn)。

基于聚類模型

二、基于統(tǒng)計學(xué)習(xí)模型

基于統(tǒng)計學(xué)習(xí)模型的方法,首先要對數(shù)據(jù)建立特征集,然后對每個特征進行統(tǒng)計建模。對于測試樣本,首先計算每個特征的異常程度,再通過模型對異常值進行融合打分,作為最終異常檢測判斷依據(jù)。

這里以斯坦福大學(xué)CS259D: Data Mining for CyberSecurity課程[1]為例,介紹一些行之有效的特征和異常檢測方法。

特征1:參數(shù)值value長度

模型:長度值分布,均值μ,方差σ2,利用切比雪夫不等式計算異常值p

參數(shù)值value長度

特征2:字符分布

模型:對字符分布建立模型,通過卡方檢驗計算異常值p

字符分布

特征3:參數(shù)缺失

模型:建立參數(shù)表,通過查表檢測參數(shù)錯誤或缺失

特征4:參數(shù)順序

模型:參數(shù)順序有向圖,判斷是否有違規(guī)順序關(guān)系

參數(shù)順序

特征5:訪問頻率(單ip的訪問頻率,總訪問頻率)

模型:時段內(nèi)訪問頻率分布,均值μ,方差σ2,利用切比雪夫不等式計算異常值p

特征6:訪問時間間隔

模型:間隔時間分布,通過卡方檢驗計算異常值p

最終,通過異常打分模型將多個特征異常值融合,得到最終異常打分:

三、基于文本分析的機器學(xué)習(xí)模型

URL參數(shù)輸入的背后,是后臺代碼的解析,通常來說,每個參數(shù)的取值都有一個范圍,其允許的輸入也具有一定模式。比如下面這個例子:

基于文本分析的機器學(xué)習(xí)模型

例子中,綠色的代表正常流量,紅色的代表異常流量。由于異常流量和正常流量在參數(shù)、取值長度、字符分布上都很相似,基于上述特征統(tǒng)計的方式難以識別。進一步看,正常流量盡管每個都不相同,但有共同的模式,而異常流量并不符合。在這個例子中,符合取值的樣本模式為:數(shù)字_字母_數(shù)字,我們可以用一個狀態(tài)機來表達合法的取值范圍:

對文本序列模式的建模,相比較數(shù)值特征而言,更加準(zhǔn)確可靠。其中,比較成功的應(yīng)用是基于隱馬爾科夫模型(HMM)的序列建模,這里僅做簡單的介紹,具體請參考推薦文章[2]。

基于HMM的狀態(tài)序列建模,首先將原始數(shù)據(jù)轉(zhuǎn)化為狀態(tài)表示,比如數(shù)字用N表示狀態(tài),字母用a表示狀態(tài),其他字符保持不變。這一步也可以看做是原始數(shù)據(jù)的歸一化(Normalization),其結(jié)果使得原始數(shù)據(jù)的狀態(tài)空間被有效壓縮,正常樣本間的差距也進一步減小。

基于HMM的狀態(tài)序列建模

緊接著,對于每個狀態(tài),統(tǒng)計之后一個狀態(tài)的概率分布。例如,下圖就是一個可能得到的結(jié)果。“^”代表開始符號,由于白樣本中都是數(shù)字開頭,起始符號(狀態(tài)^)轉(zhuǎn)移到數(shù)字(狀態(tài)N)的概率是1;接下來,數(shù)字(狀態(tài)N)的下一個狀態(tài),有0.8的概率還是數(shù)字(狀態(tài)N),有0.1的概率轉(zhuǎn)移到下劃線,有0.1的概率轉(zhuǎn)移到結(jié)束符(狀態(tài)$),以此類推。

利用這個狀態(tài)轉(zhuǎn)移模型,我們就可以判斷一個輸入序列是否符合白樣本的模式:

判斷一個輸入序列是否符合白樣本的模式

正常樣本的狀態(tài)序列出現(xiàn)概率要高于異常樣本,通過合適的閾值可以進行異常識別。

四、基于單分類模型

在二分類問題中,由于我們只有大量白樣本,可以考慮通過單分類模型,學(xué)習(xí)單類樣本的最小邊界,邊界之外的則識別為異常。

單分類模型

這類方法中,比較成功的應(yīng)用是單類支持向量機(one-class SVM)。這里簡單介紹該類方法的一個成功案例McPAD的思路,具體方法關(guān)注文章[3]。

McPAD系統(tǒng)首先通過N-Gram將文本數(shù)據(jù)向量化,對于下面的例子,

McPAD系統(tǒng)首先通過N-Gram將文本數(shù)據(jù)向量化

首先通過長度為N的滑動窗口將文本分割為N-Gram序列,例子中,N取2,窗口滑動步長為1,可以得到如下N-Gram序列。

N-Gram序列

下一步要把N-Gram序列轉(zhuǎn)化成向量。假設(shè)共有256種不同的字符,那么會得到256*256種2-GRAM的組合(如aa, ab, ac … )。我們可以用一個256*256長的向量,每一位one-hot的表示(有則置1,沒有則置0)文本中是否出現(xiàn)了該2-GRAM。由此得到一個256*256長的0/1向量。進一步,對于每個出現(xiàn)的2-Gram,我們用這個2-Gram在文本中出現(xiàn)的頻率來替代單調(diào)的“1”,以表示更多的信息:

至此,每個文本都可以通過一個256*256長的向量表示。

現(xiàn)在我們得到了訓(xùn)練樣本的256*256向量集,現(xiàn)在需要通過單分類SVM去找到最小邊界。然而問題在于,樣本的維度太高,會對訓(xùn)練造成困難。我們還需要再解決一個問題:如何縮減特征維度。特征維度約減有很多成熟的方法,McPAD系統(tǒng)中對特征進行了聚類達到降維目的。

2-Gram

上左矩陣中黑色表示0,紅色表示非零。矩陣的每一行,代表一個輸入文本(sample)中具有哪些2-Gram。如果換一個角度來看這個矩陣,則每一列代表一個2-Gram有哪些sample中存在,由此,每個2-Gram也能通過sample的向量表達。從這個角度我們可以獲得2-Gram的相關(guān)性。對于2-Gram的向量進行聚類,指定的類別數(shù)K即為約減后的特征維數(shù)。約減后的特征向量,再投入單類SVM進行進一步模型訓(xùn)練。

再進一步,McPAD采用線性特征約減加單分類SVM的方法解決白模型訓(xùn)練的過程,其實也可以被深度學(xué)習(xí)中的深度自編碼模型替代,進行非線性特征約減。同時,自編碼模型的訓(xùn)練過程本身就是學(xué)習(xí)訓(xùn)練樣本的壓縮表達,通過給定輸入的重建誤差,就可以判斷輸入樣本是否與模型相符。

我們還是沿用McPAD通過2-Gram實現(xiàn)文本向量化的方法,直接將向量輸入到深度自編碼模型,進行訓(xùn)練。測試階段,通過計算重建誤差作為異常檢測的標(biāo)準(zhǔn)。

McPAD通過2-Gram實現(xiàn)文本向量化的方法

基于這樣的框架,異常檢測的基本流程如下,一個更加完善的框架可以參見文獻[4]。

異常檢測的基本流程

 

本文管中窺豹式的介紹了機器學(xué)習(xí)用于web異常檢測的幾個思路。web流量異常檢測只是web入侵檢測中的一環(huán),用于從海量日志中撈出少量的“可疑”行為,但是這個“少量”還是存在大量誤報,只能用于檢測,還遠遠不能直接用于WAF直接攔截。一個完備的web入侵檢測系統(tǒng),還需要在此基礎(chǔ)上進行入侵行為識別,以及告警降誤報等環(huán)節(jié)。

責(zé)任編輯:趙寧寧 來源: 黑吧安全網(wǎng)
相關(guān)推薦

2018-09-17 15:30:05

機器學(xué)習(xí)密度異常值

2019-06-25 10:09:42

Web攻擊機器學(xué)習(xí)網(wǎng)絡(luò)攻擊

2024-06-06 08:00:00

2020-05-13 11:10:32

安全 機器學(xué)習(xí)數(shù)據(jù)

2022-09-21 23:41:40

機器學(xué)習(xí)開源數(shù)據(jù)

2020-07-24 10:52:45

人工智能

2023-06-09 13:07:56

Web機器學(xué)習(xí)瀏覽器

2013-10-29 15:17:41

2021-10-22 09:40:59

開源技術(shù) 工具

2022-10-26 15:41:38

深度學(xué)習(xí)Deepfake機器學(xué)習(xí)

2018-08-30 14:58:12

機器學(xué)習(xí)磁盤故障

2024-02-29 13:12:30

2012-11-02 11:37:28

2024-11-04 08:14:48

2015-10-12 10:37:42

學(xué)習(xí)算法檢測

2019-12-30 09:41:59

機器學(xué)習(xí)人工智能計算機

2017-05-02 15:50:49

2017-04-14 08:33:47

2021-01-26 09:46:59

PythonStacking機器學(xué)習(xí)

2023-09-27 07:56:25

點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 天天精品在线 | 精品日韩| 日韩欧美国产一区二区三区 | 久久精品视频9 | 激情福利视频 | 麻豆国产一区二区三区四区 | 丁香婷婷综合激情五月色 | 国产精品色婷婷久久58 | 亚洲电影第1页 | 中文在线a在线 | 日韩精品成人免费观看视频 | 精品乱码一区二区 | 久久久久久国产精品三区 | 亚洲精品视 | 日韩欧美视频免费在线观看 | av网站在线免费观看 | 激情五月综合 | 日韩和的一区二区 | 在线免费观看日本 | 一级一级一级毛片 | 正在播放国产精品 | 亚洲高清在线 | 日本一区二区三区四区 | 日韩成人影院 | 在线视频中文字幕 | 九色网址 | 中文在线一区二区 | 亚洲va欧美va人人爽午夜 | 免费高清av | 黄网站涩免费蜜桃网站 | 成人在线亚洲 | 日韩久久久久 | 美女视频一区二区三区 | 中文字幕亚洲视频 | 福利电影在线 | 欧美在线亚洲 | 成人久久18免费网站图片 | 97高清国语自产拍 | 成人小视频在线观看 | 国产91av视频 | 日日碰狠狠躁久久躁96avv |