欧美乱码精品一区二区三区,风流少妇又紧又爽又丰满,被债主在夫面前人妻被强,国产精品视频永久免费观看

?
內(nèi)容中心
按關(guān)鍵字查找
從安全攻擊實(shí)例看數(shù)據(jù)庫(kù)安全(三)數(shù)據(jù)庫(kù)攻擊原理分析
作者:潭心 發(fā)布時(shí)間:2016-06-29

摘要:本文將通過(guò)對(duì)SQL注入攻擊技術(shù)和數(shù)據(jù)庫(kù)加密技術(shù)原理以及防護(hù)效果進(jìn)行深入的分析,來(lái)辨析數(shù)據(jù)庫(kù)安全技術(shù)誤區(qū)“數(shù)據(jù)庫(kù)加密能解決SQL注入”,同時(shí)本文也給出了SQL注入的防護(hù)方法。

1、 數(shù)據(jù)庫(kù)安全誤區(qū)

針對(duì)2015年4月互聯(lián)網(wǎng)大規(guī)模報(bào)道的全國(guó)30省市社保等行業(yè)用戶信息泄露事件,安華金和對(duì)烏云歷史報(bào)道的社保行業(yè)相關(guān)漏洞進(jìn)行集中分析,得出的結(jié) 論為:大量的信息泄露主要是由于軟件中存在的SQL注入漏洞被黑客利用引起的,我們可以把SQL注入比作黑客攻擊數(shù)據(jù)庫(kù)“鋒利的矛”。
 有了攻擊用的矛,我們?cè)賮?lái)看防守用的盾:數(shù)據(jù)庫(kù)加密技術(shù)真正實(shí)現(xiàn)了敏感數(shù)據(jù)的加密存儲(chǔ),采用國(guó)內(nèi)外主流的加密算法,確保加密后的數(shù)據(jù)通過(guò)非正常手段獲取后 十年內(nèi)難以非法破解,同時(shí)通過(guò)獨(dú)立權(quán)控、應(yīng)用綁定,防止繞過(guò)合法應(yīng)用程序的數(shù)據(jù)庫(kù)訪問(wèn)和對(duì)內(nèi)部高權(quán)限人員的運(yùn)維操作管控,號(hào)稱數(shù)據(jù)庫(kù)安全中的王冠,我們可 以把數(shù)據(jù)庫(kù)加密技術(shù)比作數(shù)據(jù)安全防護(hù)措施中“堅(jiān)固的盾”。
 《韓非子?難一》所述的故事中提到:“以子之矛,陷子之盾,何如?”雖然這是個(gè)眾人皆知的故事,但是現(xiàn)實(shí)版的“矛與盾”的故事又發(fā)生在大學(xué)教材《信息系統(tǒng)安全概論》中,下面我們先引用教材中的原文:

gjsl_3_1.jpg

對(duì)于安全管理員來(lái)說(shuō),是否可以通過(guò)數(shù)據(jù)庫(kù)加密來(lái)防止SQL注入呢?在詳細(xì)解釋兩種攻防技術(shù)前,我們對(duì)一個(gè)誤區(qū)給予糾正:數(shù)據(jù)庫(kù)加密技術(shù)無(wú)法抵御SQL注入。原因是數(shù)據(jù)庫(kù)加密解決信用卡信息存儲(chǔ)安全等問(wèn)題,而SQL注入是利用應(yīng)用的弱點(diǎn)竊取數(shù)據(jù),由于合法應(yīng)用肯定能看到明文的信息卡數(shù)據(jù),因此加密防守?zé)o效。

那SQL注入如何正確防護(hù)呢?下面我們先了解下SQL注入攻擊的原理。

gjsl_3_2.jpg

對(duì)于安全管理員來(lái)說(shuō)這也是必要的,因?yàn)椴粌H要了解防護(hù)的手段,同時(shí)也應(yīng)該深入了解SQL注入的原理,實(shí)現(xiàn)有針對(duì)性的安全防護(hù)。

2、 SQL注入攻擊的原理分析

SQL注入數(shù)據(jù)庫(kù)攻擊指構(gòu)建特殊的輸入作為參數(shù)傳入Web應(yīng)用程序,比如通過(guò)提交表單的文本框輸入,而這些輸入大都是SQL語(yǔ)法里的一些組合,通過(guò)執(zhí)行SQL語(yǔ)句進(jìn)而執(zhí)行攻擊者所要的操作,其主要原因是程序沒(méi)有細(xì)致地過(guò)濾用戶輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。

常見的SQL注入案例有兩種情況,一種是偽裝登錄應(yīng)用系統(tǒng),另一種是在有登錄賬號(hào)的情況下,在應(yīng)用系統(tǒng)后續(xù)的提交表單的文本框中找到SQL注入點(diǎn),然后利用注入點(diǎn)批量竊取數(shù)據(jù)。如下兩圖的輸入:

gjsl_3_3.jpg
gjsl_3_4.jpg

SQL注入的典型場(chǎng)景一,通過(guò)偽裝登錄竊取數(shù)據(jù),主要是通過(guò)or運(yùn)算符。

竊取數(shù)據(jù)

假設(shè)后臺(tái)的拼接語(yǔ)句為select * from table where column1=‘ 文本框輸入值’ ;

Eg1: 如輸入值為《abc ’ or ‘1’=‘1》, 則語(yǔ)句拼接為 select *…where column1=‘a(chǎn)bc’ or ‘1’=‘1’;由于’1’=‘1’是恒真,則該可以看到了整表的全部數(shù)據(jù)。

騙取登錄

一般系統(tǒng)的登錄需要輸入用戶名、密碼;后臺(tái)拼接的語(yǔ)句為select * from t where name=‘用戶名’ and pwd=md5(‘密碼’);

Eg1: 如輸入用戶名《abc ’ or 1=1 or 1=‘ def》,密碼《abcd》則語(yǔ)句拼接為:

select …where name=‘a(chǎn)bc’ or 1=1 or 1=‘def’ and pwd = md5(‘a(chǎn)bcd’); 由于1=1是恒真,則該語(yǔ)句永遠(yuǎn)為真,可以成功登錄了。

SQL 注入典型場(chǎng)景二,探測(cè)(通過(guò)and 運(yùn)算)。

探測(cè)系統(tǒng)變量

… and user>0

我們知道,user是SQLServer的一個(gè)內(nèi)置變量,它的值是當(dāng)前連接的用戶名,類型為nvarchar。拿一個(gè) nvarchar的值跟int的數(shù)0比較,系統(tǒng)會(huì)先試圖將nvarchar的值轉(zhuǎn)成int型,當(dāng)然,轉(zhuǎn)的過(guò)程中肯定會(huì)出錯(cuò),SQLServer的出錯(cuò)提示 是:將nvarchar轉(zhuǎn)換int異常,XXXX不能轉(zhuǎn)換成int。

探測(cè)系統(tǒng)對(duì)象名

先猜表名

… and (Select count(*) from 表名)<>0

猜列名

… and (Select count(列名) from 表名)<>0

3、 數(shù)據(jù)庫(kù)加密防護(hù)效果分析

面臨風(fēng)險(xiǎn)

應(yīng)對(duì)策略

數(shù)據(jù)庫(kù)文件采用明文存儲(chǔ)

以列為單位有選擇的進(jìn)行加密,將信用卡信息表中的姓名、身份證、信用卡等敏感信息加密存儲(chǔ)。

 

gjsl_3_5.jpg

面臨風(fēng)險(xiǎn)

應(yīng)對(duì)策略

數(shù)據(jù)庫(kù)正常運(yùn)維操作和敏感數(shù)據(jù)訪問(wèn)操作從權(quán)限上無(wú)法分開。

通過(guò)獨(dú)立權(quán)控體系;通過(guò)三權(quán)分立的方式提升安全性;避免數(shù)據(jù)庫(kù)維護(hù)人員直接接觸明文數(shù)據(jù)

 

gjsl_3_6.jpg

面臨風(fēng)險(xiǎn)

應(yīng)對(duì)策略

繞過(guò)應(yīng)用服務(wù)器的訪問(wèn)。

通過(guò)客戶端權(quán)限區(qū)分合法訪問(wèn)源,可對(duì)訪問(wèn)源的IP,訪問(wèn)時(shí)間進(jìn)行鑒別,只有通過(guò)合法訪問(wèn)源才可以訪問(wèn)到數(shù)據(jù)。

gjsl_3_7.jpg

面臨風(fēng)險(xiǎn)

應(yīng)對(duì)策略

繞過(guò)應(yīng)用程序的訪問(wèn)。  

通過(guò)應(yīng)用綁定技術(shù)實(shí)現(xiàn)應(yīng)用身份鑒別。 
       只有通過(guò)合法應(yīng)用,才可以訪問(wèn)到被保護(hù)的敏感數(shù)據(jù)。

gjsl_3_8.jpg

 

面臨風(fēng)險(xiǎn)

應(yīng)對(duì)策略

數(shù)據(jù)庫(kù)備份明文存儲(chǔ)。

對(duì)數(shù)據(jù)庫(kù)文件底層直接加密,數(shù)據(jù)庫(kù)備份文件導(dǎo)出后內(nèi)容仍為密文,備份文件還原后仍為密文。

數(shù)據(jù)庫(kù)加密防護(hù)總結(jié):

gjsl_3_9.jpg

4、 結(jié)論:SQL注入如何防護(hù)

gjsl_3_10.jpg

卡爾的SQL注入攻擊就是利用合法應(yīng)用的弱點(diǎn)獲取信息卡資料的,即使數(shù)據(jù)庫(kù)信用卡信息加密了,從存儲(chǔ)文件上看是密文,但是對(duì)于合法應(yīng)用發(fā)過(guò)來(lái)的查詢語(yǔ)句,數(shù)據(jù)庫(kù)也必然解密后將明文數(shù)據(jù)發(fā)回web應(yīng)用系統(tǒng)。

數(shù)據(jù)庫(kù)安全專家安華金和建議通過(guò)WAF和數(shù)據(jù)庫(kù)防火墻相結(jié)合來(lái)實(shí)現(xiàn)SQL注入的有效防護(hù)。WAF通過(guò)黑名單機(jī)制針對(duì)有SQL注入特征的表單內(nèi)容進(jìn)行 攔截,數(shù)據(jù)庫(kù)防火墻通過(guò)構(gòu)建合法應(yīng)用的行為模型和SQL注入特征庫(kù)實(shí)現(xiàn)SQL注入行為的有效攔截,同時(shí)還能夠?qū)\(yùn)維終端的惡意操作進(jìn)行攔截。


?
乃东县| 天门市| 光山县| 治县。| 黑水县| 上高县| 宽甸| 农安县| 南开区| 达日县| 满城县| 平谷区| 淳化县| 新兴县| 眉山市| 九台市| 莎车县| 麦盖提县| 厦门市| 易门县| 长葛市| 乌兰县| 科尔| 阿勒泰市| 丰县| 涪陵区| 张家港市| 江孜县| 竹山县| 忻州市| 郴州市| 定西市| 吴堡县| 平谷区| 成武县| 安义县| 县级市| 桃源县| 凉山| 新竹市| 太原市|