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

?

一種基于Web日志的混合入侵檢測方法

2022-08-29 12:52張先榮
關鍵詞:日志聚類向量

李 釗,張先榮,郭 帆

(1.安徽醫(yī)科大學 圖書館信息技術部,安徽 合肥 340100;2.廣州大學 網絡空間先進技術研究院,廣東 廣州 510000;3.江西師范大學 計算機信息工程學院,江西 南昌 330022)

隨著互聯(lián)網技術的高速發(fā)展,網絡在人們生活中呈現(xiàn)爆發(fā)式的增長,Web平臺具有大量的網絡信息資源,這也導致了Web網站的漏洞越來越多[1]。據(jù)Gartern的統(tǒng)計,在絕大多數(shù)的網絡攻擊中,發(fā)生在Web層面的攻擊高達75%左右[2],因此面向Web程序的入侵檢測就顯得極為重要了。

Web入侵檢測系統(tǒng)主要分為誤用檢測和異常檢測[3],誤用檢測技術通常對所有已知的攻擊類型進行建立模型和規(guī)則匹配庫,因此誤用檢測類似于黑名單機制,優(yōu)點是能夠檢測已知的攻擊和具有較低的誤報率,缺點是對未知的攻擊難以檢測,所以當面對未知攻擊時誤用檢測的檢測率有時候并不理想。異常檢測是對正常行為進行建模,構建正常行為模型,不用分析所有的攻擊類型,類似于白名單機制,優(yōu)點是具有較高的檢測率,缺點是誤報率通常較高。

對于Web入侵檢測,眾多學者對此領域做出了相關貢獻。Almgren等[4]以Web應用日志URL的路徑、編碼字符等作為攻擊特征,通過攻擊特征來匹配攻擊請求,設計了Web誤用檢測系統(tǒng),具有較高的檢測率和低誤報率。著名的入侵檢測攻擊Snort[5]就是典型的基于網絡流量檢測的誤用檢測系統(tǒng),通過官方網絡攻擊規(guī)則庫或者自定義規(guī)則庫能夠對網絡流量進行入侵檢測。Jin Wang等[6]人提出了一種新的允許網絡爬行軌跡的方法來建立基線輪廓,并設計了一種新的基于異常的http泛洪檢測方案(簡稱HTTP-sCAN),HTTP-sCAN不受未知網絡爬行軌跡的干擾,能夠檢測出所有的http -flood攻擊。Li Bo等[7]人提出了一種基于加權深度學習的子空間光譜集合聚類方法,稱為WDL-SSEC,應用集合聚類模型將異常與正常樣本分離,然后,使用word2vec來獲得標記的語義表示,并連接加權標記以獲得url的向量。最后,基于子空間的集合聚類和局部自適應聚類(LAC)將多聚類異常分為具體類型。

以往研究大多是從誤用檢測或異常檢測的單個緯度去討論入侵檢測系統(tǒng)的,因此本文設計了混合的入侵檢測系統(tǒng),首先,基于Web已有的攻擊方法,提取Web日志的攻擊向量構建攻擊規(guī)則匹配庫,設計了Web誤用檢測模型。其次,采集Web日志的正常訪問數(shù)據(jù),構建正常訪問模型,設計了異常檢測模型。最后,在誤用檢測和異常檢測的基礎上設計了基于Web日志的Web混合入侵檢測系統(tǒng)模型WL-HIDSM(Web Log Intrusion Detection System Model)。

1 Web混合入侵檢測系統(tǒng)模型WL-HIDSM

1.1 Web入侵檢測系統(tǒng)的體系結構

Web混合入侵檢測系統(tǒng)WL-HIDSM采用模塊化設計,模型的總體設計方法如圖1所示,利用這個混合入侵檢測模型能夠增加入侵檢測的檢測率和降低入侵檢測的誤報率,它的主要包括以下3個部分。

圖1 Web混合入侵檢測模型WL-HIDSM總體結構

(1)Web日志預處理模塊:這個模塊的功能是將Web日志的數(shù)據(jù)進行預處理和清洗。

(2)誤用入侵檢測模塊:通過Web攻擊向量構建規(guī)則庫,將Web日志與規(guī)則庫匹配,若匹配成功則表示檢測到入侵,若匹配失敗,則將進行異常入侵檢測。

(3)異常入侵檢測模塊:通過正常的Web日志數(shù)據(jù)構建正常訪問模型,將誤用檢測沒有匹配成功的日志數(shù)據(jù)送至異常檢測模塊進行檢測,若超過設定的閾值則表示檢測到異常日志數(shù)據(jù),反之亦然。

1.2 Web誤用檢測模塊

誤用檢測有著檢測率高和誤報率低的特征,這導致大量的工業(yè)產品使用誤用檢測技術。

誤用檢測技術[8]是分析出各種已知的攻擊類型數(shù)據(jù),并將這些攻擊數(shù)據(jù)集合構建一個攻擊向量庫,然后將待測數(shù)據(jù)與攻擊向量庫進行匹配,若匹配成功則表示檢測到入侵行為。鑒于本文的檢測數(shù)據(jù)是Web日志,所有將構建的攻擊向量庫與Web日志匹配,若匹配成功,則表示Web程序受到入侵。誤用檢測原理如圖2所示。

圖2 誤用檢測模型

由圖2所示誤用檢測技術的原理,我們可以總結Web誤用檢測模型的兩個關鍵:一是需要收集Web程序的各種攻擊類型方式,并能夠對已知的各種攻擊類型進行分析和攻擊向量提??;二是對攻擊向量進行分析并構建合適的規(guī)則庫。

本文Web誤用檢測模塊從Web日志采集入侵數(shù)據(jù),首先搭建使用PHPStudy v8.1[9]搭建Web服務器集成環(huán)境來模擬真實的運行環(huán)境,并將WebGoat[10]Web漏洞測試平臺放入服務器環(huán)境中,然后再OWASP Top10 2021[11]中獲取已知的Web程序攻擊向量,將使用這些獲取的Web攻擊向量在集成環(huán)境中測試,最后,將根據(jù)獲得的Web日志數(shù)據(jù)構建攻擊向量匹配規(guī)則庫。具體實現(xiàn)如圖3所示。

圖3 Web誤用檢測流程

我們以XSS跨站腳本攻擊的攻擊荷載payload:為例在Web漏洞站點WebGoat進行測試,獲得Web日志數(shù)據(jù)為:%3Cscript%3Ealert%281%29%3C%2Fscript%3E,通過得到的入侵測試數(shù)據(jù)分析得到正則表達式為:(?i)]*>[sS]*?。以此類測試方法可以得到如下表1所示的部分XSS攻擊正則匹配庫。使用同樣的方法,我們可以分別得到SQL(SQL Injection),Csrf(Cross-site request forgery),Dt(Directory traversal),Dos(Denial of Service)的攻擊向量匹配庫。

表1 XSS部分正則匹配庫

1.3 異常檢測模塊

對于Web程序來說,用戶的訪問行為可以使用用戶的訪問序列來代替,即請求同一主機在特定的時間窗口內向Web服務器發(fā)送的序列,因此我們可以使用ip地址或用戶代理來代表不同的用戶,每個序列中的請求按響應時間進行排序。

我們使用向量Seq代表定義訪問的用戶序列。

定義Seqi=(Ri1,Ri2,…,Ril),其中R=(x1,x2,…,xN),Seqi為第i個用戶序列,x是HTTP Requset請求報文的特征值。

從每個日志中提取特征并計算特征值,構造每個用戶序列,得到每個用戶L×N大小的特征矩陣來描述用戶的行為。

不同的用戶有著不同的訪問行為,正常用戶的訪問行為通常與惡意用戶一定是不同的,我們可以應用k-menas聚類算法來對訪問用戶進行分類。

所有用戶的行為都可以聚類成k個集群[12],分別表示C1,C2,…,Ck。因為我們將用戶的行為分為正常行為和惡意行為。所以會有一個主要集群,包括用戶的主要行為和許多遠離主要集群的小集群。我們使用公式(1)計算點到簇中心的距離,使用方程(2)計算每個點放到它最近的中心Cj[13]。

(1)

(2)

(3)

方程(3)中的μ是簇中所有點到中心的平均距離。我們可以得到主簇的中心,并計算每個向量到中心的距離。在距離的幫助下,我們設置一個閾值來確定它是否是一種攻擊。

2 實驗結果與分析

2.1 實驗環(huán)境配置與設計

本文是在CPU為Intel(R)Core(TM)i5-4300M @2.60GHZ和內存為8G的硬件環(huán)境下設計的,操作系統(tǒng)為Windows 7專業(yè)版。

數(shù)據(jù)集為合成的數(shù)據(jù)集,數(shù)據(jù)集分為兩部分,第一部分為安徽醫(yī)科大學圖書館網站的Web日志,我們采集了從2020年1月份到2020年12月份的用戶正常訪問的日志數(shù)據(jù)。第二部分為構造的日志數(shù)據(jù),我們使用滲透測試工具nikto[13]、Xsser[14]、sqlmap[15]、Web爬蟲工具Webmagic[16]構造如下表2所示的五種Web攻擊類型。

表2 構造的數(shù)據(jù)集

2.2 誤用檢測模型實驗數(shù)據(jù)結果與分析

首先,我們先對誤用檢測模型進行實驗并分析結果。實驗結果如表3所示。

表3 誤用檢測模型檢測率與誤報率 %

表3顯示了五種不同的Web攻擊類型的檢測率DR(Detection Rate)與誤報率FPR(False Positive Rate),其中檢測率最高攻擊的為Dt(89.56%),檢測率最低的為CSRF(71.76%),五種攻擊類型的平均檢測率為79.78%。誤報率最低的為Dt(1.02%),最高的為Dos(2.03%),平均誤報率為1.77%。

通過表3中的數(shù)據(jù)分析,檢測率效率低于80%,檢測率不高,誤報率低于2%,誤報率較低。

2.3 異常檢測模型的實驗數(shù)據(jù)結果與分析

異常檢測需要構建一個正常的Web日志訪問模型,我們使用K-means聚類算法來訓練正常的日志數(shù)據(jù)集。在本實驗中,將日志分為5組簇作為日志的正常模型。實驗結果如表4所示。

表4 異常檢測模型的檢測率與誤報率 %

從表4中數(shù)據(jù)顯示檢測率最高的攻擊類型為SQLi(98.16%),最低為Dt(89.96%),平均檢測率為94.14%。與表所示的誤用檢測相比,異常檢測的平均檢測率(94.14%)要高于誤用檢測平均檢測率(79.78%),誤報率最高的攻擊類型為Dos,最低的攻擊類型為Dt,平均誤報率為3.51%,通過與誤用檢測的誤報率(1.77%)相比,異常檢測的誤報率較高。鑒于異常檢測能夠檢測到未知的攻擊所以能夠檢測的更多的攻擊。

2.4 Web混合入侵檢測模型的實驗數(shù)據(jù)結果與分析

在混合入侵檢測模型中,Web日志首先通過誤用檢測進行實驗,若檢測到攻擊則認為Web日志存在已定義的攻擊,若沒有檢測到攻擊,那么使用異常檢測模型來檢測Web日志,如果檢測到,則表示檢測到未定義的攻擊。這種混合檢測模型能夠增加攻擊的檢測率,并且也能夠在一定程度上減少誤報率。

實驗結果如圖4和表5所示。

圖4 Web混合入侵檢測模型檢測數(shù)

表5 Web混合入侵檢測模型的檢測率與誤報率 %

從表5所示可得,混合入侵的平均檢測率(95.74%)要遠遠高于誤用檢測模型平均檢測率(79.78%),也要稍微高于異常檢測模型(94.14%),混合入侵檢測的平均誤報率(1.38%)也低于誤用檢測模型(1.77%)和異常檢測模型(3.51%)的平均誤報率。

從表6中所示,Web混合入侵檢測的平均檢測率相比誤用檢測和異常檢測平均提升120%,102%;誤報率平均降低128%和254%。

表6 三種檢測模型的平均檢測率與平均誤報率對比

3 結論

本文以Web日志數(shù)據(jù)作為攻擊的數(shù)據(jù)源,分析各種攻擊Web方法,并以此建立攻擊向量匹配知識庫,然后構建誤用檢測模型,在此基礎上,對Web日志使用聚類算法分析得到一個正常用戶模型的異常檢測系統(tǒng),最后構建了一個Web混合檢測模型,此模型能夠在一定程度上能夠增加檢測率和降低誤報率。

猜你喜歡
日志聚類向量
向量的分解
一名老黨員的工作日志
聚焦“向量與三角”創(chuàng)新題
扶貧日志
雅皮的心情日志
面向WSN的聚類頭選舉與維護協(xié)議的研究綜述
雅皮的心情日志
改進K均值聚類算法
向量垂直在解析幾何中的應用
基于Spark平臺的K-means聚類算法改進及并行化實現(xiàn)