[發(fā)明專利]一種基于機(jī)器學(xué)習(xí)的SQL注入攻擊防護(hù)方法在審
| 申請?zhí)枺?/td> | 201710765208.6 | 申請日: | 2017-08-30 |
| 公開(公告)號: | CN107566363A | 公開(公告)日: | 2018-01-09 |
| 發(fā)明(設(shè)計)人: | 張力;范淵;劉博;龍文潔 | 申請(專利權(quán))人: | 杭州安恒信息技術(shù)有限公司 |
| 主分類號: | H04L29/06 | 分類號: | H04L29/06 |
| 代理公司: | 杭州賽科專利代理事務(wù)所(普通合伙)33230 | 代理人: | 郭薇,馮年群 |
| 地址: | 310052 浙江省杭州*** | 國省代碼: | 浙江;33 |
| 權(quán)利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 機(jī)器 學(xué)習(xí) sql 注入 攻擊 防護(hù) 方法 | ||
技術(shù)領(lǐng)域
本發(fā)明涉及數(shù)字信息的傳輸,例如電報通信的技術(shù)領(lǐng)域,特別涉及一種網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫安全防護(hù)技術(shù)領(lǐng)域的基于機(jī)器學(xué)習(xí)的SQL注入防護(hù)方法。
背景技術(shù)
SQL是結(jié)構(gòu)化查詢語言(Structured Query Language)的簡稱,是一種特殊目的的編程語言,作為數(shù)據(jù)庫查詢和程序設(shè)計語言,其被用于存取數(shù)據(jù)以及查詢、更新和管理關(guān)系數(shù)據(jù)庫系統(tǒng);同時也是數(shù)據(jù)庫腳本文件的擴(kuò)展名。
SQL注入,是指通過把SQL命令插入到Web表單提交或輸入域名或頁面請求的查詢字符串,最終達(dá)到欺騙服務(wù)器執(zhí)行惡意的SQL命令。具體來說,SQL注入是利用現(xiàn)有應(yīng)用程序,將惡意的SQL命令注入到后臺數(shù)據(jù)庫引擎執(zhí)行,它可以通過在Web表單中輸入惡意SQL語句得到一個存在安全漏洞的網(wǎng)站上的數(shù)據(jù)庫,而不是按照設(shè)計者意圖去執(zhí)行SQL語句。比如大量網(wǎng)站泄露VIP會員的密碼,這大多就是通過在Web表單中輸入惡意SQL語句、遞交查詢字符而發(fā)生的,這類表單特別容易受到SQL注入式攻擊。
傳統(tǒng)SQL注入的防護(hù)主要從軟件研發(fā)層面和WEB層面進(jìn)行。
軟件研發(fā)層面防護(hù)來說,這是指在開發(fā)過程中使用“檢查參數(shù)格式”、“過濾特殊字符”或“綁定參數(shù)”等方法使SQL注入無法生效。然而,這種防護(hù)依賴于開發(fā)人員的編碼習(xí)慣,因此存在一定的隱患,如開發(fā)人員不遵循“外部數(shù)據(jù)不可信”原則,或者故意留有后門,存在不可控風(fēng)險。
WEB層面防護(hù)來說,是指事前進(jìn)行WEB漏洞掃描檢測、事中使用WEB防火墻阻斷的防護(hù)方案。這套方案能有效的解決一部分SQL注入攻擊,但在業(yè)務(wù)復(fù)雜系統(tǒng)中,掃描工具經(jīng)常掃描不全面;WEB防火墻使用的匹配與過濾防護(hù)方式存在繞過的風(fēng)險,且存在不支持C/S架構(gòu)等不匹配之處。
發(fā)明內(nèi)容
本發(fā)明的主要目的在于克服現(xiàn)有網(wǎng)絡(luò)技術(shù)、數(shù)據(jù)庫安全防護(hù)技術(shù)足,提供一種基于機(jī)器學(xué)習(xí)的SQL注入攻擊防護(hù)方法。
本發(fā)明所采用的技術(shù)方案是,一種基于機(jī)器學(xué)習(xí)的SQL注入攻擊防護(hù)方法,所述方法包括以下步驟:
步驟1:在應(yīng)用端和數(shù)據(jù)庫服務(wù)器間配置數(shù)據(jù)庫防火墻設(shè)備;
步驟2:將數(shù)據(jù)庫防火墻設(shè)備切換為學(xué)習(xí)模式,配置學(xué)習(xí)時間;
步驟3:利用數(shù)據(jù)庫防火墻設(shè)備抓取并解析訪問流量包;采集SQL語句;
步驟4:分析采集到的SQL語句,構(gòu)建SQL語句模型庫;
步驟5:若學(xué)習(xí)時間未達(dá)成,則重復(fù)步驟3、4,否則,數(shù)據(jù)庫防火墻設(shè)備切換為防護(hù)模式,進(jìn)行下一步;
步驟6:利用構(gòu)建的SQL語句模型庫,對SQL請求進(jìn)行檢測,對SQL注入攻擊進(jìn)行阻斷或警告。
優(yōu)選地,所述步驟1中,數(shù)據(jù)庫防火墻設(shè)備根據(jù)預(yù)定義的禁止和許可策略讓符合預(yù)定義標(biāo)準(zhǔn)的SQL操作通過,阻斷不符合預(yù)定義標(biāo)準(zhǔn)的SQL。
優(yōu)選地,所述步驟3中,利用數(shù)據(jù)庫防火墻設(shè)備抓取并解析訪問流量包包括以下步驟:
步驟3.1:在數(shù)據(jù)庫防火墻設(shè)備中,配置數(shù)據(jù)庫對象的IP和端口;
步驟3.2:數(shù)據(jù)庫防火墻設(shè)備根據(jù)IP和端口抓取客戶端發(fā)送至數(shù)據(jù)庫的訪問流量包;
步驟3.3:數(shù)據(jù)庫防火墻設(shè)備對訪問流量包進(jìn)行解析,得到SQL語句。
優(yōu)選地,所述步驟4中,包括以下步驟:
步驟4.1:將步驟3采集的SQL語句的參數(shù)部分刪除或使用特征符號替換,生成SQL語句模型;
步驟4.2:判斷SQL語句模型是否可信,若是,進(jìn)行下一步,若否,刪除;
步驟4.3:將可信的SQL語句模型存儲至數(shù)據(jù)庫防火墻設(shè)備的SQL語句模型庫中。
優(yōu)選地,所述步驟4.1中,所述SQL語句模型包括語句特征結(jié)構(gòu)。
優(yōu)選地,所述SQL語句模型庫包括SQL模型ID、SQL模型、操作類型、表對象。
優(yōu)選地,所述操作類型包括增加、刪除、修改和查詢。
優(yōu)選地,所述步驟6中,SQL注入攻擊的防護(hù)包括以下步驟:
步驟6.1:數(shù)據(jù)庫防火墻設(shè)備接收來自客戶端的SQL語句請求;
步驟6.2:數(shù)據(jù)庫防火墻設(shè)備對SQL語句的參數(shù)部分刪除或使用特征符號替換,生成待比對SQL語句模型;
步驟6.3:將待比對SQL語句模型與SQL語句模型庫中的SQL語句模型進(jìn)行逐次比對;
步驟6.4:若存在結(jié)構(gòu)一致的SQL語句模型,則允許當(dāng)前SQL語句執(zhí)行,否則,判斷當(dāng)前SQL語句為SQL注入,進(jìn)行阻斷或警告。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于杭州安恒信息技術(shù)有限公司,未經(jīng)杭州安恒信息技術(shù)有限公司許可,擅自商用是侵權(quán)行為。如果您想購買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201710765208.6/2.html,轉(zhuǎn)載請聲明來源鉆瓜專利網(wǎng)。
- 上一篇:一種斷路器及包含多個斷路器的斷路器組
- 下一篇:一種斷路器一體式接線裝置
- 根據(jù)用戶學(xué)習(xí)效果動態(tài)變化下載學(xué)習(xí)數(shù)據(jù)的系統(tǒng)及方法
- 用于智能個人化學(xué)習(xí)服務(wù)的方法
- 漸進(jìn)式學(xué)習(xí)管理方法及漸進(jìn)式學(xué)習(xí)系統(tǒng)
- 輔助學(xué)習(xí)的方法及裝置
- 基于人工智能的課程推薦方法、裝置、設(shè)備及存儲介質(zhì)
- 基于強化學(xué)習(xí)的自適應(yīng)移動學(xué)習(xí)路徑生成方法
- 一種線上視頻學(xué)習(xí)系統(tǒng)
- 一種基于校園大數(shù)據(jù)的自適應(yīng)學(xué)習(xí)方法、裝置及設(shè)備
- 一種學(xué)習(xí)方案推薦方法、裝置、設(shè)備和存儲介質(zhì)
- 游戲?qū)W習(xí)效果評測方法及系統(tǒng)





