久久天天躁狠狠躁夜夜av,国产脚交足免费视频,亚洲小说乱欧美另类,五月天国产亚洲av麻豆

918搏天堂

?
產(chǎn)品咨詢:4000 258 365 | 申請產(chǎn)品演示 | 渠道合作 | English
您當(dāng)前的位置 : 首頁 > 技術(shù)博客 > 數(shù)據(jù)安全治理
內(nèi)容中心
按關(guān)鍵字查找
數(shù)據(jù)庫安全關(guān)鍵技術(shù)之SQL語法特征技術(shù)
作者:918搏天堂 發(fā)布時(shí)間:2016-12-30

SQL語法特征技術(shù)在數(shù)據(jù)庫安全產(chǎn)品的應(yīng)用中非常關(guān)鍵,比如數(shù)據(jù)庫防火墻(DBFirewall)需要有效撲獲SQL語句的特征,以及為了快速地對SQL語句進(jìn)行策略判定,以實(shí)現(xiàn)數(shù)據(jù)庫防火墻的高效處理,通過SQL語法特征技術(shù)的引入能夠?qū)崿F(xiàn)對SQL語句的重寫。

SQL語句重寫是指在不改變原語義的情況下,對數(shù)據(jù)庫防火墻捕捉到的SQL語句進(jìn)行重寫,替換原語句中的參數(shù)值。

SQL重寫能夠提高管理效率和操作速度,它是一個(gè)抽象的過程,SQL重寫包括以下幾個(gè)方面:

1.除了單雙引號(hào)內(nèi)的內(nèi)容,小寫字母全部變?yōu)榇髮懽帜福?/p>

2.準(zhǔn)確區(qū)分正負(fù)號(hào)和加減號(hào);

3.將SQL語句中的數(shù)值、單引號(hào)引起的字符串各自重寫為統(tǒng)一的占位符;

4.將注釋、換行重寫為空格,將連續(xù)的空格合并為1個(gè),去掉運(yùn)算符兩端等不影響語義的空格

以如下SQL語句為例:

Select +0.25 * money,sum(id) From “testdb”.accounts 

Where id = ' G1792 '  or name !=‘’/*this message come from Lisa*/

XSeure-DBF在SQL重寫的基礎(chǔ)上,根據(jù)SQL語法,對SQL進(jìn)行了多級(jí)分類。SQL多級(jí)分類是將具有相同操作行為的不同語句合并為一類,為SQL信息的查看和策略的定制提供了便利,且SQL分類編碼操作后,易于后續(xù)的計(jì)算、操作和存儲(chǔ)。

SQL分類主要分為三級(jí),分類的方向由細(xì)到粗,即二級(jí)分類是在一級(jí)分類的基礎(chǔ)上進(jìn)行的,三級(jí)分類是在二級(jí)的基礎(chǔ)上進(jìn)行的。

一級(jí)分類

基于目前的SQL重寫,即替換所有的可變“參數(shù)”數(shù)據(jù)為固定的“參數(shù)(例如,#)”,并且將所有謂詞全部大寫化(格式化為大寫字母)等。也就是說,一級(jí)分類的輸出是經(jīng)過“重寫”后的SQL語句。

二級(jí)分類

在一級(jí)分類的基礎(chǔ)上,對所有的謂詞、函數(shù)、比較運(yùn)算符進(jìn)行編碼后,生成摘要的字符串編碼,該編碼就是SQL的二級(jí)分類碼。

三級(jí)分類

在二級(jí)分類的基礎(chǔ)上,對所有的謂詞比較運(yùn)算符進(jìn)行編碼后,生成的摘要字符串編碼,該編碼就是SQL三級(jí)分類碼。

根據(jù)SQL分類的原則,假如有如下SQL語句:

1:SELECT salary*1.5 FROM employees WHERE job_id ='PU_CLERK';

2:SELECT salary*2 FROM employees WHERE job_id='SA_MAN';

3:SELECT employee_id FROM department WHERE department_name = 'HR';

4:SELECT department_id FROM employees WHERE salary <5000;

5:SELECT sum(salary) FROM employees WHERE job_id ='PU_CLERK';

6:SELECT max(salary) FROM employees WHERE job_id='PU_CLERK';

那么按照分類碼,DBFirewall看到的分析SQL,由三級(jí)到一級(jí)如下呈現(xiàn):

SELECT  FROM  WHERE  =

SELECT FROM WHERE = 

SELECT SALARY*0 FROM EMPLOYEES WHERE JOB_ID='#' 

SELECT EMPLOYEE_ID FROM DEPARTMENT WHERE DEPARTMENT_NAME='#'

SELECT  SUM FROM WHERE =

SELECT SUM(SALARY) FROM EMPLOYEES WHERE JOB_ID='#‘

SELECT  MIN FROM WHERE =

SELECT MIN(SALARY) FROM EMPLOYEES WHERE JOB_ID='#‘

SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE SALARY<0

SELECT  MIN FROM WHERE <

SELECT DEPARTMENT_ID FROM EMPLOYEES WHERE SALARY<0

SQL語句格式化重寫后的結(jié)果為:

SELECT 0*MONEY,SUM(ID) FROM “testdb”.ACCOUNTS WHERE ID=’#’ OR NAME!=’’

SQL語法特征技術(shù)是數(shù)據(jù)庫通訊協(xié)議解析能力的一個(gè)關(guān)鍵技術(shù)點(diǎn),這個(gè)專利性的技術(shù)已經(jīng)被行業(yè)領(lǐng)先的數(shù)據(jù)庫安全廠商所掌握,將這項(xiàng)技術(shù)應(yīng)用到數(shù)據(jù)庫防火墻產(chǎn)品中,能夠有效提高SQL解析能力,實(shí)現(xiàn)更為精準(zhǔn)的危險(xiǎn)語句攔截,提高數(shù)據(jù)庫安全性能。


?
918搏天堂 ©2021 版權(quán)所有 京ICP備10053980號(hào)-1