[發(fā)明專利]一種基于AC自動(dòng)機(jī)的SQL注入檢測(cè)方法、設(shè)備、存儲(chǔ)介質(zhì)在審
| 申請(qǐng)?zhí)枺?/td> | 202210268721.5 | 申請(qǐng)日: | 2022-03-18 |
| 公開(公告)號(hào): | CN114861216A | 公開(公告)日: | 2022-08-05 |
| 發(fā)明(設(shè)計(jì))人: | 趙航;申傳旺;羅森;羅超;李照川 | 申請(qǐng)(專利權(quán))人: | 浪潮卓數(shù)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司 |
| 主分類號(hào): | G06F21/62 | 分類號(hào): | G06F21/62;G06F16/242 |
| 代理公司: | 北京君慧知識(shí)產(chǎn)權(quán)代理事務(wù)所(普通合伙) 11716 | 代理人: | 肖鵬 |
| 地址: | 214002 江蘇省無(wú)錫市無(wú)錫經(jīng)濟(jì)開發(fā)區(qū)金融一街15號(hào)110*** | 國(guó)省代碼: | 江蘇;32 |
| 權(quán)利要求書: | 查看更多 | 說(shuō)明書: | 查看更多 |
| 摘要: | |||
| 搜索關(guān)鍵詞: | 一種 基于 ac 自動(dòng)機(jī) sql 注入 檢測(cè) 方法 設(shè)備 存儲(chǔ) 介質(zhì) | ||
1.一種基于AC自動(dòng)機(jī)的SQL注入檢測(cè)方法,其特征在于,包括:
獲取后端SQL數(shù)據(jù)庫(kù)中的所有關(guān)鍵字集合,作為第一字符串集合;
獲取過(guò)去已知SQL注入攻擊字符串集合,作為第二字符串集合;
對(duì)所述第一字符串集合和所述第二字符串集合進(jìn)行風(fēng)險(xiǎn)打分;
結(jié)合所述第一字符串集合和所述第二字符串集合,生成第三字符串集合,根據(jù)所述第三字符串集合建立字典樹;
根據(jù)廣度優(yōu)先搜索對(duì)所述字典樹進(jìn)行前綴指針計(jì)算,構(gòu)造AC自動(dòng)機(jī);
根據(jù)所述AC自動(dòng)機(jī)對(duì)接收的輸入文檔進(jìn)行風(fēng)險(xiǎn)打分,根據(jù)所述打分結(jié)果判斷是否執(zhí)行攔截命令。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)所述AC自動(dòng)機(jī)對(duì)接收的輸入數(shù)據(jù)進(jìn)行風(fēng)險(xiǎn)打分,根據(jù)所述打分結(jié)果判斷是否執(zhí)行攔截命令,具體包括:
所述輸入數(shù)據(jù)包括輸入?yún)?shù)、輸入文檔;
將系統(tǒng)中接收的服務(wù)請(qǐng)求中包含的所有所述輸入?yún)?shù)或所述輸入文檔進(jìn)行風(fēng)險(xiǎn)打分,判斷所述風(fēng)險(xiǎn)打分是否超過(guò)預(yù)設(shè)閾值;
若是,確定所述輸入數(shù)據(jù)為風(fēng)險(xiǎn)輸入,并對(duì)該服務(wù)請(qǐng)求執(zhí)行告警或攔截操作。
3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述字典樹的根節(jié)點(diǎn)不包含字符,除所述根節(jié)點(diǎn)外的每個(gè)節(jié)點(diǎn)都只包含一個(gè)字符;
其中,從所述根節(jié)點(diǎn)到某一結(jié)點(diǎn)路徑上經(jīng)過(guò)的字符連接起來(lái),為該節(jié)點(diǎn)對(duì)應(yīng)的字符串;
每個(gè)節(jié)點(diǎn)的所有子節(jié)點(diǎn)包含的字符都不相同。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于,在所述字典樹建立時(shí),所述方法還包括:
判斷字符串的節(jié)點(diǎn)是否為終節(jié)點(diǎn),若是,將所述字符串的風(fēng)險(xiǎn)分值存儲(chǔ)在所述終節(jié)點(diǎn)中,作為該字符串的權(quán)重。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述根據(jù)廣度優(yōu)先搜索對(duì)所述字典樹進(jìn)行前綴指針計(jì)算,具體包括:
在所述字典樹的基礎(chǔ)上,構(gòu)造fail指針,以使在字典樹的某個(gè)節(jié)點(diǎn)匹配失敗后,直接跳轉(zhuǎn)到最佳匹配節(jié)點(diǎn)繼續(xù)匹配。
6.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述第二字符串集合獲得的風(fēng)險(xiǎn)分值高于所述第一字符串集合獲得的風(fēng)險(xiǎn)分值。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取后端SQL數(shù)據(jù)庫(kù)中的所有關(guān)鍵字集合,具體包括:
獲取包括varchar,primary key,各類增刪改查,函數(shù)運(yùn)算的關(guān)鍵字集合。
8.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述獲取過(guò)去已知SQL注入攻擊字符串集合,具體包括:
獲取包括“and 1=1”,“or 1=1”,“and substring(@@version,1,1)的字符串集合。
9.一種基于AC自動(dòng)機(jī)的SQL注入檢測(cè)設(shè)備,其特征在于,包括:
至少一個(gè)處理器;以及,
與所述至少一個(gè)處理器通信連接的存儲(chǔ)器;其中,
所述存儲(chǔ)器存儲(chǔ)有可被所述至少一個(gè)處理器執(zhí)行的指令,所述指令被所述至少一個(gè)處理器執(zhí)行,以使所述至少一個(gè)處理器能夠:
獲取后端SQL數(shù)據(jù)庫(kù)中的所有關(guān)鍵字集合,作為第一字符串集合;
獲取過(guò)去已知SQL注入攻擊字符串集合,作為第二字符串集合;
對(duì)所述第一字符串集合和所述第二字符串集合進(jìn)行風(fēng)險(xiǎn)打分;
結(jié)合所述第一字符串集合和所述第二字符串集合,生成第三字符串集合,根據(jù)所述第三字符串集合建立字典樹;
根據(jù)廣度優(yōu)先搜索對(duì)所述字典樹進(jìn)行前綴指針計(jì)算,構(gòu)造AC自動(dòng)機(jī);
根據(jù)所述AC自動(dòng)機(jī)對(duì)接收的輸入文檔進(jìn)行風(fēng)險(xiǎn)打分,根據(jù)所述打分結(jié)果判斷是否執(zhí)行攔截命令。
10.一種非易失性存儲(chǔ)介質(zhì),存儲(chǔ)有計(jì)算機(jī)可執(zhí)行指令,其特征在于,所述計(jì)算機(jī)可執(zhí)行指令設(shè)置為:
獲取后端SQL數(shù)據(jù)庫(kù)中的所有關(guān)鍵字集合,作為第一字符串集合;
獲取過(guò)去已知SQL注入攻擊字符串集合,作為第二字符串集合;
對(duì)所述第一字符串集合和所述第二字符串集合進(jìn)行風(fēng)險(xiǎn)打分;
結(jié)合所述第一字符串集合和所述第二字符串集合,生成第三字符串集合,根據(jù)所述第三字符串集合建立字典樹;
根據(jù)廣度優(yōu)先搜索對(duì)所述字典樹進(jìn)行前綴指針計(jì)算,構(gòu)造AC自動(dòng)機(jī);
根據(jù)所述AC自動(dòng)機(jī)對(duì)接收的輸入文檔進(jìn)行風(fēng)險(xiǎn)打分,根據(jù)所述打分結(jié)果判斷是否執(zhí)行攔截命令。
該專利技術(shù)資料僅供研究查看技術(shù)是否侵權(quán)等信息,商用須獲得專利權(quán)人授權(quán)。該專利全部權(quán)利屬于浪潮卓數(shù)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司,未經(jīng)浪潮卓數(shù)大數(shù)據(jù)產(chǎn)業(yè)發(fā)展有限公司許可,擅自商用是侵權(quán)行為。如果您想購(gòu)買此專利、獲得商業(yè)授權(quán)和技術(shù)合作,請(qǐng)聯(lián)系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202210268721.5/1.html,轉(zhuǎn)載請(qǐng)聲明來(lái)源鉆瓜專利網(wǎng)。
- 上一篇:一種新能源汽車線束管夾緊固裝置
- 下一篇:干霧抑塵系統(tǒng)
- 同類專利
- 專利分類
G06F 電數(shù)字?jǐn)?shù)據(jù)處理
G06F21-00 防止未授權(quán)行為的保護(hù)計(jì)算機(jī)或計(jì)算機(jī)系統(tǒng)的安全裝置
G06F21-02 .通過(guò)保護(hù)計(jì)算機(jī)的特定內(nèi)部部件
G06F21-04 .通過(guò)保護(hù)特定的外圍設(shè)備,如鍵盤或顯示器
G06F21-06 .通過(guò)感知越權(quán)操作或外圍侵?jǐn)_
G06F21-20 .通過(guò)限制訪問(wèn)計(jì)算機(jī)系統(tǒng)或計(jì)算機(jī)網(wǎng)絡(luò)中的節(jié)點(diǎn)
G06F21-22 .通過(guò)限制訪問(wèn)或處理程序或過(guò)程
- 嵌入式自動(dòng)機(jī)械控制系統(tǒng)
- 一種帶并發(fā)的狀態(tài)機(jī)圖轉(zhuǎn)換到自動(dòng)機(jī)的方法
- 用于運(yùn)行通信裝置的至少一個(gè)用戶的方法
- 一種雙機(jī)頭全自動(dòng)膠囊生產(chǎn)線
- 一種高炮自動(dòng)機(jī)故障診斷實(shí)驗(yàn)平臺(tái)及模擬射擊的方法
- 一種增量式的自動(dòng)機(jī)更新方法與系統(tǒng)
- 一種基于Büchi自動(dòng)機(jī)化簡(jiǎn)運(yùn)行時(shí)驗(yàn)證監(jiān)控器的方法
- 自動(dòng)機(jī)械表上條效率的檢測(cè)方法
- 一種芯片安全自動(dòng)糾錯(cuò)的方法
- 一種有限狀態(tài)自動(dòng)機(jī)器的精簡(jiǎn)方法及系統(tǒng)
- 一種SQL注入檢測(cè)方法及裝置
- SQL檢查方法與裝置
- 一種結(jié)構(gòu)化查詢語(yǔ)言性能優(yōu)化方法及系統(tǒng)
- 使用SQL實(shí)現(xiàn)MDX查詢效果的方法和裝置
- SQL語(yǔ)句處理方法和系統(tǒng)
- 一種SQL審核方法與系統(tǒng)
- 異常SQL語(yǔ)句檢測(cè)方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì)
- SQL代碼信息顯示方法、裝置、計(jì)算機(jī)裝置及存儲(chǔ)介質(zhì)
- PaaS平臺(tái)中SQL執(zhí)行引擎的適配方法及裝置
- 一種SQL預(yù)執(zhí)行優(yōu)化的方法、裝置、設(shè)備及可讀介質(zhì)





