數(shù)據(jù)安全治理關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫(kù)脫敏技術(shù)詳解
數(shù)據(jù)安全治理之API監(jiān)測(cè)系統(tǒng) ,解決API接口安全問題【安華金和】
新一代數(shù)據(jù)庫(kù)脫敏技術(shù),為敏感數(shù)據(jù)建立保護(hù)盾!
數(shù)據(jù)庫(kù)脫敏系統(tǒng)與金融行業(yè)案例解讀
數(shù)據(jù)安全治理建設(shè)思路的著力點(diǎn)——數(shù)據(jù)安全咨詢服務(wù)【安華金和】
數(shù)據(jù)庫(kù)防火墻功能有哪些?-數(shù)據(jù)安全-安華金和
數(shù)據(jù)安全關(guān)鍵技術(shù)之?dāng)?shù)據(jù)庫(kù)脫敏技術(shù)詳解【安華金和】
中國(guó)數(shù)據(jù)安全治理落地指導(dǎo)書籍《數(shù)據(jù)安全治理白皮書5.0》正式發(fā)布(附下載)
SQL語法特征技術(shù)在數(shù)據(jù)庫(kù)安全產(chǎn)品的應(yīng)用中非常關(guān)鍵,比如數(shù)據(jù)庫(kù)防火墻(DBFirewall)需要有效撲獲SQL語句的特征,以及為了快速地對(duì)SQL語句進(jìn)行策略判定,以實(shí)現(xiàn)數(shù)據(jù)庫(kù)防火墻的高效處理,通過SQL語法特征技術(shù)的引入能夠?qū)崿F(xiàn)對(duì)SQL語句的重寫。
SQL語句重寫是指在不改變?cè)Z義的情況下,對(duì)數(shù)據(jù)庫(kù)防火墻捕捉到的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語法,對(duì)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ǔ)上,對(duì)所有的謂詞、函數(shù)、比較運(yùn)算符進(jìn)行編碼后,生成摘要的字符串編碼,該編碼就是SQL的二級(jí)分類碼。
三級(jí)分類
在二級(jí)分類的基礎(chǔ)上,對(duì)所有的謂詞比較運(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ù)庫(kù)通訊協(xié)議解析能力的一個(gè)關(guān)鍵技術(shù)點(diǎn),這個(gè)專利性的技術(shù)已經(jīng)被行業(yè)領(lǐng)先的數(shù)據(jù)庫(kù)安全廠商所掌握,將這項(xiàng)技術(shù)應(yīng)用到數(shù)據(jù)庫(kù)防火墻產(chǎn)品中,能夠有效提高SQL解析能力,實(shí)現(xiàn)更為精準(zhǔn)的危險(xiǎn)語句攔截,提高數(shù)據(jù)庫(kù)安全性能。
試用申請(qǐng)
在線咨詢
咨詢電話
TOP