基于改進BP神經(jīng)網(wǎng)絡(luò)的SQL注入識別
發(fā)布時間:2021-04-11 15:29
當代對于SQL注入類型的攻擊防御系統(tǒng),大多研究是從靜態(tài)單句過濾威脅語句的角度來進行設(shè)計。鑒于其較低的注入語句識別率以及較高的誤報率,提出雙層SQL注入防御模型,將注入的過程連續(xù)化后進行動態(tài)建模分析,并引入BP神經(jīng)網(wǎng)絡(luò)進行自學習與自修正。交叉驗證實驗表明,在Apache+MySQL環(huán)境中,所提模型有較高的注入識別率,對于正在遭受SQL注入的識別具有一定的優(yōu)勢。
【文章來源】:計算機科學. 2020,47(S1)北大核心CSCD
【文章頁數(shù)】:8 頁
【部分圖文】:
圖1 雙層防御模型原理圖
如圖2所示,本文使用的服務(wù)器模型是針對多個平臺與數(shù)據(jù)庫交互的Web應(yīng)用程序的抽象。瀏覽器通過Http請求進行通信,將數(shù)據(jù)發(fā)送到數(shù)據(jù)監(jiān)聽層。數(shù)據(jù)監(jiān)聽層獲得數(shù)據(jù)后將其存儲為pcap數(shù)據(jù)包,并發(fā)往存儲層進行存儲,而對于其中包含的SQL語句不進行過濾,直接發(fā)往Web服務(wù)器,由服務(wù)器上安裝的傳統(tǒng)防火墻與安全狗進行防御。圖2中虛線框內(nèi)的存儲層類似于JSP編寫的網(wǎng)站被服務(wù)器編譯而成的Servlet,通過二級存儲來與數(shù)據(jù)庫進行交互。神經(jīng)網(wǎng)絡(luò)分析平臺每隔一個時隙對直接來自于數(shù)據(jù)監(jiān)聽層的數(shù)據(jù)進行分析,并將風險等級系數(shù)記錄到風險狀態(tài)日志中,而存儲器中經(jīng)過Web服務(wù)器過濾的查詢語句傳遞到數(shù)據(jù)庫進行對應(yīng)的數(shù)據(jù)查詢。需要注意的是,來自數(shù)據(jù)監(jiān)聽層的原始數(shù)據(jù)包只供神經(jīng)網(wǎng)絡(luò)進行分析,并未被執(zhí)行,因此整個系統(tǒng)架構(gòu)的風險等級并未被降低。而神經(jīng)網(wǎng)絡(luò)經(jīng)過分析而得到的風險系數(shù)在一定程度上可以修正Web服務(wù)器的SQL語句過濾規(guī)則,保證在過濾掉最可能的危險SQL語句的情況下,不對正常的SQL查詢語句進行誤報。管理員在對風險狀態(tài)記錄日志進行審閱時,可對部分不合理的風險狀態(tài)系數(shù)進行修正,并重新送回神經(jīng)網(wǎng)絡(luò)分析平臺進行自學習與模型自修正,以供不同的服務(wù)器供應(yīng)與管理商針對各自的環(huán)境進行優(yōu)化與注入防治,而整個模型的自學習與自修正的過程對于系統(tǒng)管理員是透明的,以保證整個學習與識別過程的高效率以及高精確度,防止由于管理員的誤操作或故意的人為破壞而導致外部惡意的SQL注入。
神經(jīng)網(wǎng)絡(luò)的分析平臺主要是對獲得的一定時間內(nèi)的數(shù)據(jù)包進行建模分析,基于SQL注入的多個特征進行選擇并進行取樣與量化,將其作為多元函數(shù)的輸入變量,以得出風險等級系數(shù),其原理如圖3所示。2.3 SQL注入風險等級分析模型的輸入變量
【參考文獻】:
期刊論文
[1]基于Web的SQL注入漏洞掃描系統(tǒng)的設(shè)計研究[J]. 葉夢雄. 電子設(shè)計工程. 2019(16)
[2]大數(shù)據(jù)取證技術(shù)綜述[J]. 張其前,尤俊生,高云飛. 信息安全研究. 2017(09)
[3]基于分類的SQL注入攻擊雙層防御模型研究[J]. 田玉杰,趙澤茂,王麗君,連科. 信息網(wǎng)絡(luò)安全. 2015(06)
本文編號:3131510
【文章來源】:計算機科學. 2020,47(S1)北大核心CSCD
【文章頁數(shù)】:8 頁
【部分圖文】:
圖1 雙層防御模型原理圖
如圖2所示,本文使用的服務(wù)器模型是針對多個平臺與數(shù)據(jù)庫交互的Web應(yīng)用程序的抽象。瀏覽器通過Http請求進行通信,將數(shù)據(jù)發(fā)送到數(shù)據(jù)監(jiān)聽層。數(shù)據(jù)監(jiān)聽層獲得數(shù)據(jù)后將其存儲為pcap數(shù)據(jù)包,并發(fā)往存儲層進行存儲,而對于其中包含的SQL語句不進行過濾,直接發(fā)往Web服務(wù)器,由服務(wù)器上安裝的傳統(tǒng)防火墻與安全狗進行防御。圖2中虛線框內(nèi)的存儲層類似于JSP編寫的網(wǎng)站被服務(wù)器編譯而成的Servlet,通過二級存儲來與數(shù)據(jù)庫進行交互。神經(jīng)網(wǎng)絡(luò)分析平臺每隔一個時隙對直接來自于數(shù)據(jù)監(jiān)聽層的數(shù)據(jù)進行分析,并將風險等級系數(shù)記錄到風險狀態(tài)日志中,而存儲器中經(jīng)過Web服務(wù)器過濾的查詢語句傳遞到數(shù)據(jù)庫進行對應(yīng)的數(shù)據(jù)查詢。需要注意的是,來自數(shù)據(jù)監(jiān)聽層的原始數(shù)據(jù)包只供神經(jīng)網(wǎng)絡(luò)進行分析,并未被執(zhí)行,因此整個系統(tǒng)架構(gòu)的風險等級并未被降低。而神經(jīng)網(wǎng)絡(luò)經(jīng)過分析而得到的風險系數(shù)在一定程度上可以修正Web服務(wù)器的SQL語句過濾規(guī)則,保證在過濾掉最可能的危險SQL語句的情況下,不對正常的SQL查詢語句進行誤報。管理員在對風險狀態(tài)記錄日志進行審閱時,可對部分不合理的風險狀態(tài)系數(shù)進行修正,并重新送回神經(jīng)網(wǎng)絡(luò)分析平臺進行自學習與模型自修正,以供不同的服務(wù)器供應(yīng)與管理商針對各自的環(huán)境進行優(yōu)化與注入防治,而整個模型的自學習與自修正的過程對于系統(tǒng)管理員是透明的,以保證整個學習與識別過程的高效率以及高精確度,防止由于管理員的誤操作或故意的人為破壞而導致外部惡意的SQL注入。
神經(jīng)網(wǎng)絡(luò)的分析平臺主要是對獲得的一定時間內(nèi)的數(shù)據(jù)包進行建模分析,基于SQL注入的多個特征進行選擇并進行取樣與量化,將其作為多元函數(shù)的輸入變量,以得出風險等級系數(shù),其原理如圖3所示。2.3 SQL注入風險等級分析模型的輸入變量
【參考文獻】:
期刊論文
[1]基于Web的SQL注入漏洞掃描系統(tǒng)的設(shè)計研究[J]. 葉夢雄. 電子設(shè)計工程. 2019(16)
[2]大數(shù)據(jù)取證技術(shù)綜述[J]. 張其前,尤俊生,高云飛. 信息安全研究. 2017(09)
[3]基于分類的SQL注入攻擊雙層防御模型研究[J]. 田玉杰,趙澤茂,王麗君,連科. 信息網(wǎng)絡(luò)安全. 2015(06)
本文編號:3131510
本文鏈接:http://www.sikaile.net/guanlilunwen/ydhl/3131510.html
最近更新
教材專著