李 釗,張先榮,郭 帆
(1.安徽醫(yī)科大學(xué) 圖書館信息技術(shù)部,安徽 合肥 340100;2.廣州大學(xué) 網(wǎng)絡(luò)空間先進技術(shù)研究院,廣東 廣州 510000;3.江西師范大學(xué) 計算機信息工程學(xué)院,江西 南昌 330022)
隨著互聯(lián)網(wǎng)技術(shù)的高速發(fā)展,網(wǎng)絡(luò)在人們生活中呈現(xiàn)爆發(fā)式的增長,Web平臺具有大量的網(wǎng)絡(luò)信息資源,這也導(dǎo)致了Web網(wǎng)站的漏洞越來越多[1]。據(jù)Gartern的統(tǒng)計,在絕大多數(shù)的網(wǎng)絡(luò)攻擊中,發(fā)生在Web層面的攻擊高達75%左右[2],因此面向Web程序的入侵檢測就顯得極為重要了。
Web入侵檢測系統(tǒng)主要分為誤用檢測和異常檢測[3],誤用檢測技術(shù)通常對所有已知的攻擊類型進行建立模型和規(guī)則匹配庫,因此誤用檢測類似于黑名單機制,優(yōu)點是能夠檢測已知的攻擊和具有較低的誤報率,缺點是對未知的攻擊難以檢測,所以當(dāng)面對未知攻擊時誤用檢測的檢測率有時候并不理想。異常檢測是對正常行為進行建模,構(gòu)建正常行為模型,不用分析所有的攻擊類型,類似于白名單機制,優(yōu)點是具有較高的檢測率,缺點是誤報率通常較高。
對于Web入侵檢測,眾多學(xué)者對此領(lǐng)域做出了相關(guān)貢獻。Almgren等[4]以Web應(yīng)用日志URL的路徑、編碼字符等作為攻擊特征,通過攻擊特征來匹配攻擊請求,設(shè)計了Web誤用檢測系統(tǒng),具有較高的檢測率和低誤報率。著名的入侵檢測攻擊Snort[5]就是典型的基于網(wǎng)絡(luò)流量檢測的誤用檢測系統(tǒng),通過官方網(wǎng)絡(luò)攻擊規(guī)則庫或者自定義規(guī)則庫能夠?qū)W(wǎng)絡(luò)流量進行入侵檢測。Jin Wang等[6]人提出了一種新的允許網(wǎng)絡(luò)爬行軌跡的方法來建立基線輪廓,并設(shè)計了一種新的基于異常的http泛洪檢測方案(簡稱HTTP-sCAN),HTTP-sCAN不受未知網(wǎng)絡(luò)爬行軌跡的干擾,能夠檢測出所有的http -flood攻擊。Li Bo等[7]人提出了一種基于加權(quán)深度學(xué)習(xí)的子空間光譜集合聚類方法,稱為WDL-SSEC,應(yīng)用集合聚類模型將異常與正常樣本分離,然后,使用word2vec來獲得標(biāo)記的語義表示,并連接加權(quán)標(biāo)記以獲得url的向量。最后,基于子空間的集合聚類和局部自適應(yīng)聚類(LAC)將多聚類異常分為具體類型。
以往研究大多是從誤用檢測或異常檢測的單個緯度去討論入侵檢測系統(tǒng)的,因此本文設(shè)計了混合的入侵檢測系統(tǒng),首先,基于Web已有的攻擊方法,提取Web日志的攻擊向量構(gòu)建攻擊規(guī)則匹配庫,設(shè)計了Web誤用檢測模型。其次,采集Web日志的正常訪問數(shù)據(jù),構(gòu)建正常訪問模型,設(shè)計了異常檢測模型。最后,在誤用檢測和異常檢測的基礎(chǔ)上設(shè)計了基于Web日志的Web混合入侵檢測系統(tǒng)模型WL-HIDSM(Web Log Intrusion Detection System Model)。
Web混合入侵檢測系統(tǒng)WL-HIDSM采用模塊化設(shè)計,模型的總體設(shè)計方法如圖1所示,利用這個混合入侵檢測模型能夠增加入侵檢測的檢測率和降低入侵檢測的誤報率,它的主要包括以下3個部分。
圖1 Web混合入侵檢測模型WL-HIDSM總體結(jié)構(gòu)
(1)Web日志預(yù)處理模塊:這個模塊的功能是將Web日志的數(shù)據(jù)進行預(yù)處理和清洗。
(2)誤用入侵檢測模塊:通過Web攻擊向量構(gòu)建規(guī)則庫,將Web日志與規(guī)則庫匹配,若匹配成功則表示檢測到入侵,若匹配失敗,則將進行異常入侵檢測。
(3)異常入侵檢測模塊:通過正常的Web日志數(shù)據(jù)構(gòu)建正常訪問模型,將誤用檢測沒有匹配成功的日志數(shù)據(jù)送至異常檢測模塊進行檢測,若超過設(shè)定的閾值則表示檢測到異常日志數(shù)據(jù),反之亦然。
誤用檢測有著檢測率高和誤報率低的特征,這導(dǎo)致大量的工業(yè)產(chǎn)品使用誤用檢測技術(shù)。
誤用檢測技術(shù)[8]是分析出各種已知的攻擊類型數(shù)據(jù),并將這些攻擊數(shù)據(jù)集合構(gòu)建一個攻擊向量庫,然后將待測數(shù)據(jù)與攻擊向量庫進行匹配,若匹配成功則表示檢測到入侵行為。鑒于本文的檢測數(shù)據(jù)是Web日志,所有將構(gòu)建的攻擊向量庫與Web日志匹配,若匹配成功,則表示W(wǎng)eb程序受到入侵。誤用檢測原理如圖2所示。
圖2 誤用檢測模型
由圖2所示誤用檢測技術(shù)的原理,我們可以總結(jié)Web誤用檢測模型的兩個關(guān)鍵:一是需要收集Web程序的各種攻擊類型方式,并能夠?qū)σ阎母鞣N攻擊類型進行分析和攻擊向量提?。欢菍粝蛄窟M行分析并構(gòu)建合適的規(guī)則庫。
本文Web誤用檢測模塊從Web日志采集入侵?jǐn)?shù)據(jù),首先搭建使用PHPStudy v8.1[9]搭建Web服務(wù)器集成環(huán)境來模擬真實的運行環(huán)境,并將WebGoat[10]Web漏洞測試平臺放入服務(wù)器環(huán)境中,然后再OWASP Top10 2021[11]中獲取已知的Web程序攻擊向量,將使用這些獲取的Web攻擊向量在集成環(huán)境中測試,最后,將根據(jù)獲得的Web日志數(shù)據(jù)構(gòu)建攻擊向量匹配規(guī)則庫。具體實現(xiàn)如圖3所示。
圖3 Web誤用檢測流程
我們以XSS跨站腳本攻擊的攻擊荷載payload:為例在Web漏洞站點WebGoat進行測試,獲得Web日志數(shù)據(jù)為:%3Cscript%3Ealert%281%29%3C%2Fscript%3E,通過得到的入侵測試數(shù)據(jù)分析得到正則表達式為:(?i) 西乌珠穆沁旗| 阜康市| 韶关市| 井陉县| 卓尼县| 烟台市| 鱼台县| 泰兴市| 嘉义市| 仪陇县| 巫山县| 杭州市| 曲麻莱县| 来凤县| 大港区| 蒙自县| 黎川县| 军事| 顺昌县| 库车县| 南雄市| 抚松县| 新津县| 视频| 滨海县| 毕节市| 镶黄旗| 福清市| 台山市| 大理市| 绥中县| 桑植县| 南木林县| 奈曼旗| 中卫市| 衡东县| 建水县| 浮山县| 磐石市| 仪征市| 察雅县|