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