国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺談數(shù)據(jù)庫(kù)SQL注入攻擊防御與對(duì)策

2013-10-13 09:49:12鐘志文
關(guān)鍵詞:攻擊者漏洞應(yīng)用程序

鐘志文

淺談數(shù)據(jù)庫(kù)SQL注入攻擊防御與對(duì)策

鐘志文

以SQL注入漏洞為研究對(duì)象,在總結(jié)SQL注入攻擊的涵義的基礎(chǔ)上,提出建立SQL注入防御體系的基本原則和建議,有助于在SQL數(shù)據(jù)庫(kù)和相關(guān)安全技術(shù)方面起到積極的作用。

數(shù)據(jù)庫(kù);SQL;SQL注入

隨著WWW快速發(fā)展,Web技術(shù)日益成熟,在電子商務(wù)等眾多領(lǐng)域得到了廣泛應(yīng)用,給人們帶來(lái)了極大的便利,但是隨之而來(lái)的是Web應(yīng)用安全問題也日益突出。目前,Web應(yīng)用程序安全隱患主要為非授權(quán)訪問、信息泄露以及拒絕服務(wù)攻擊等。攻擊者利用這些Web安全漏洞攻擊Web站點(diǎn),使網(wǎng)站形象受損,給Web應(yīng)用管理者和用戶造成了極大的麻煩以及巨大的經(jīng)濟(jì)損失,因此大家更加注重Web應(yīng)用程序的安全。OWASP(The Open Web Application Security Project)的統(tǒng)計(jì)表明,2010年SQL注入攻擊位于全球十大Web攻擊之首[1]。本文主要以SQL注入漏洞為研究對(duì)象,探討SQL注入攻擊防御模型的設(shè)計(jì)與實(shí)現(xiàn),對(duì)Web安全理論、Web安全測(cè)試?yán)碚摵桶踩玏eb應(yīng)用體系有積極的促進(jìn)作用,也對(duì)如何設(shè)計(jì)安全的Web應(yīng)用程序以及相關(guān)的安全技術(shù)的發(fā)展具有一定程度的指導(dǎo)作用。

一、SQL注入攻擊概述

(一)SQL注入攻擊的涵義

SQL語(yǔ)言是一種解釋型語(yǔ)言,基于解釋型語(yǔ)言的執(zhí)行方式,攻擊者可以提交惡意輸入,即構(gòu)造的輸入中包含對(duì)解釋型語(yǔ)言語(yǔ)法具有特定意義的句法,這樣攻擊者構(gòu)造的輸入的一部分被解釋作為程序指令執(zhí)行,因而打破了Web應(yīng)用程序原來(lái)的程序執(zhí)行邏輯,形成了SQL注入攻擊漏洞。因此一旦Web應(yīng)用程序處理SQL語(yǔ)句的方式不正確,就會(huì)不經(jīng)意間形成SQL注入漏洞。一旦Web應(yīng)用存在的SQL注入攻擊漏洞被攻擊者發(fā)現(xiàn)并且通過(guò)構(gòu)造惡意輸入成功利用,攻擊者就可以利用其獲得的僅有權(quán)限,不管是通過(guò)橫向權(quán)限拓展還是縱向權(quán)限拓展提升其權(quán)限,此時(shí)對(duì)數(shù)據(jù)庫(kù)的危害將是不可估量的。

(二)SQL注入攻擊類型

SQL注入攻擊類型按照其分類方式不同,分類結(jié)果也不一樣。按照階數(shù)可分為一階SQL注入攻擊和二階SQL注入攻擊。其中二階SQL攻擊是指攻擊者利用具有特殊意義的字符精心構(gòu)造惡意的輸入,這些輸入在Web服務(wù)器上處理時(shí)是不會(huì)產(chǎn)生任何問題的,并且對(duì)Web應(yīng)用程序是安全的,此時(shí)并不會(huì)形成SQL注入攻擊漏洞。而當(dāng)這些信息被存入數(shù)據(jù)庫(kù),并再次對(duì)數(shù)據(jù)庫(kù)進(jìn)行請(qǐng)求時(shí),數(shù)據(jù)庫(kù)返回之前存入的信息,當(dāng)返回的特殊構(gòu)造的語(yǔ)句成功執(zhí)行后造成的SQL注入攻擊就是上面所說(shuō)的二階SQL注入攻擊;而一階SQL注入攻擊是指通過(guò)構(gòu)造的惡意輸入對(duì)Web應(yīng)用程序直接造成的注入攻擊漏洞,其與二階注入攻擊最大的不同點(diǎn)就是此時(shí)輸入的信息不先借助數(shù)據(jù)庫(kù)的存儲(chǔ)而后再返回形成注入攻擊漏洞,而是直接對(duì)Web進(jìn)行攻擊。

按照攻擊類型[1]可分為數(shù)字型SQL注入攻擊、字符型SQL注入攻擊、搜索型SQL注入攻擊。所謂數(shù)字型SQL注入攻擊是指攻擊者攻擊的字段類型是數(shù)字型的,因此相對(duì)應(yīng)的字符型SQL注入攻擊指攻擊者攻擊的字段類型是字符型的,而搜索型SQL注入攻擊是指攻擊者攻擊的字段類型是通過(guò)SQL匹配機(jī)制來(lái)實(shí)現(xiàn)的。

二、SQL注入攻擊安全防御體系

(一)基本原則

SQL注入攻擊漏洞對(duì)Web應(yīng)用程序危害巨大,因此采取相應(yīng)措施防御SQL注入攻擊對(duì)于Web應(yīng)用程序安全來(lái)說(shuō)非常重要。這里可以采用的方式如下:第一,特殊字符過(guò)濾機(jī)制,就是在客戶端以及服務(wù)器端對(duì)用戶輸入的信息進(jìn)行過(guò)濾,將一些對(duì)于Web應(yīng)用程序具有特殊意義的字符過(guò)濾掉,防止其破壞Web應(yīng)用程序的邏輯處理流程結(jié)構(gòu),以避免對(duì)Web應(yīng)用程序造成較大危害;第二,在查詢過(guò)程中使用參數(shù)化查詢方式,即Web應(yīng)用程序事先為相關(guān)查詢定義好查詢結(jié)構(gòu),在查詢結(jié)構(gòu)中將需要用戶輸入的部分先用一些變量進(jìn)行填充,并且Web應(yīng)用程序運(yùn)用長(zhǎng)度和類型限制對(duì)該變量進(jìn)行了界定,這樣就無(wú)法破壞SQL語(yǔ)句結(jié)構(gòu),起到防御SQL注入攻擊的作用[2];第三,可以采用存儲(chǔ)過(guò)程方式,即在數(shù)據(jù)庫(kù)中事先建立好Web應(yīng)用程序需要的SQL語(yǔ)句存儲(chǔ)過(guò)程,利用安全設(shè)計(jì)的存儲(chǔ)過(guò)程來(lái)避免SQL注入攻擊漏洞,因?yàn)樵O(shè)計(jì)不規(guī)范的存儲(chǔ)過(guò)程也是存在SQL注入攻擊的,安全的存儲(chǔ)過(guò)程設(shè)計(jì)將在下面進(jìn)行介紹。

圖1 SQL注入攻擊防御體系

SQL注入攻擊安全防御體系是基于三層Web應(yīng)用模型構(gòu)造的注入攻擊防御安全體系,針對(duì)傳統(tǒng)三層在Web服務(wù)器層和數(shù)據(jù)庫(kù)層之間加入一層Web服務(wù)來(lái)提供強(qiáng)大的SQL注入攻擊防御能力。同時(shí)針對(duì)傳統(tǒng)三層,在每一層上面提供相對(duì)應(yīng)的防御措施,來(lái)構(gòu)造一個(gè)多層次動(dòng)態(tài)的安全防御體系,以保證Web應(yīng)用程序安全。

(二)防御體系“三個(gè)方面”

1.?dāng)?shù)據(jù)安全傳輸。數(shù)據(jù)安全傳輸是保證信息在傳輸過(guò)程中的保密性和完整性。其中保密性是通過(guò)加密技術(shù)對(duì)傳輸?shù)男畔⑦M(jìn)行加密,這里主要采用對(duì)稱加密算法,主要是出于效率上的考慮,因?yàn)楫?dāng)需要加密的信息比較多的時(shí)候,對(duì)稱加密算法相對(duì)于非對(duì)稱加密算法來(lái)說(shuō)速度更快。通過(guò)采用加密技術(shù),就可以保證信息在傳輸過(guò)程中對(duì)攻擊者是不可見的,像Web代理工具或者竊聽工具等都將失去作用,因而可以防止信息泄露,保證信息的安全傳輸。

完整性主要是采用信息摘要算法對(duì)傳輸?shù)男畔⑦M(jìn)行摘要處理,然后將摘要信息通過(guò)加密安全傳輸,這里可以采用非對(duì)稱加密算法,因?yàn)樾畔⒄畔⒘勘容^少,當(dāng)另一方收到傳輸?shù)男畔r(shí),通過(guò)相同的摘要算法對(duì)信息進(jìn)行同樣的操作,然后通過(guò)對(duì)比兩個(gè)摘要來(lái)判定信息在傳輸過(guò)程中是否遭到篡改,如果通過(guò)對(duì)比兩個(gè)摘要完全相同,那么就可以斷定收到的信息是完整的。當(dāng)然這是以犧牲成本和效率為代價(jià)的,對(duì)于安全性要求比較高的Web應(yīng)用程序,這些都是處于可接受的范圍內(nèi),畢竟對(duì)于這樣的Web應(yīng)用程序,安全性才是第一位的,然而,對(duì)于安全性要求不是特別高的Web應(yīng)用程序,數(shù)據(jù)安全傳輸是可選的。通過(guò)數(shù)據(jù)的安全傳輸,可以保證用戶信息的安全性,防止用戶信息被竊取以及被惡意修改等。

2.授權(quán)認(rèn)證。授權(quán)認(rèn)證主要用來(lái)保證用戶實(shí)體的真實(shí)性。它包括兩個(gè)方面,即在數(shù)據(jù)的安全傳輸過(guò)程中用來(lái)認(rèn)證用戶實(shí)體的真實(shí)性以及在數(shù)據(jù)庫(kù)認(rèn)證過(guò)程中保證數(shù)據(jù)用戶的真實(shí)性,這里主要采用訪問控制方式。訪問控制分兩步,第一步通過(guò)授權(quán),采用最小權(quán)限原則,將能夠滿足需求的最低權(quán)限分配給合法的使用者;第二步當(dāng)用戶使用Web應(yīng)用程序時(shí),通過(guò)審核來(lái)檢查用戶是否是合法的使用者,以及使用者是否具有訪問該資源的權(quán)限,通過(guò)授權(quán)認(rèn)證可以防止非法使用者使用以及獲取相關(guān)信息。比如用戶需要訪問一個(gè)Web管理頁(yè)面,首先,需要檢查用戶是否有權(quán)限登錄Web后臺(tái)管理系統(tǒng),即用戶是否得到授權(quán)訪問后臺(tái)管理系統(tǒng);其次,如果用戶得到了相應(yīng)的授權(quán),接著就需要檢查用戶是否得到授權(quán)訪問該Web管理頁(yè)面,如果用戶沒有權(quán)限訪問該Web頁(yè)面,即使用戶可以登錄后臺(tái)管理系統(tǒng)也不能訪問該頁(yè)面,其實(shí)質(zhì)是一個(gè)動(dòng)態(tài)多層次的訪問控制措施。

3.資源保護(hù)。Web應(yīng)用程序在運(yùn)行過(guò)程中需要不斷訪問各種資源,包括文件資源訪問和數(shù)據(jù)庫(kù)資源訪問。其中文件資源主要指Web頁(yè)面,比如上文提到的后臺(tái)管理頁(yè)面不能被未授權(quán)使用;數(shù)據(jù)庫(kù)資源主要指數(shù)據(jù)庫(kù)中保存的信息,比如Web應(yīng)用程序的用戶密碼信息或者其他相關(guān)機(jī)密信息。像這樣的信息是否得到合理的保護(hù)關(guān)系到Web應(yīng)用程序是否能夠正常運(yùn)行,這些信息對(duì)應(yīng)用程序來(lái)說(shuō)是至關(guān)重要的,必須得到合理的保護(hù)。

三、結(jié)語(yǔ)

隨著WWW快速發(fā)展,Web技術(shù)的日益成熟,Web技術(shù)在電子商務(wù)等眾多領(lǐng)域得到了廣泛應(yīng)用,給人們帶來(lái)了極大的便利。但是隨之而來(lái)Web應(yīng)用安全問題也日益突出,數(shù)據(jù)庫(kù)的安全成為人們普遍關(guān)注的對(duì)象。本文基于SQL注入攻擊原理,對(duì)Web安全理論、Web安全滲透測(cè)試?yán)碚摵桶踩玏eb應(yīng)用體系具有積極的促進(jìn)作用和指導(dǎo)意義,也對(duì)如何設(shè)計(jì)實(shí)現(xiàn)安全的Web應(yīng)用程序防御SQL注入攻擊,以及Web安全技術(shù)的發(fā)展具有一定的現(xiàn)實(shí)意義和借鑒作用。

[1]幻泉.注入中的數(shù)字型、字符型、搜索型的區(qū)別.http://www.2cto.com/Article/201012/80898.html

[2]Dafydd Stuttard,Marcus Pinto著,石華耀等譯.黑客攻防技術(shù)寶典:Web 實(shí)戰(zhàn)篇.北京:人民郵電出版社,2009,8

[3]Padmanabhuni S.,Singh V.,Senthil kumar K.M.,Chatterjee A.Preventing Service Oriented Denial of Service (PreSODoS):A Proposed Approach.Web Services (ICWS),IEEE International Conference on;Chicago,IL,2006

[4]Hamisi N.Y.,Mvungi N.H,Mfinanga D.A,Mwinyiwiwa B.M.M,Intrussion detection by penetration test in an organization network.Adaptive Science and Technology,2nd International Conference on,2009

責(zé)任編輯:郭一鶴

TP309

B

1671-6531(2013)09-0041-02

鐘志文/廣東省海洋工程職業(yè)技術(shù)學(xué)校計(jì)算機(jī)講師,應(yīng)用電子技術(shù)工程師(廣東廣州 510320)。

猜你喜歡
攻擊者漏洞應(yīng)用程序
漏洞
基于微分博弈的追逃問題最優(yōu)策略設(shè)計(jì)
刪除Win10中自帶的應(yīng)用程序
正面迎接批判
愛你(2018年16期)2018-06-21 03:28:44
三明:“兩票制”堵住加價(jià)漏洞
漏洞在哪兒
高鐵急救應(yīng)補(bǔ)齊三漏洞
有限次重復(fù)博弈下的網(wǎng)絡(luò)攻擊行為研究
關(guān)閉應(yīng)用程序更新提醒
電腦迷(2012年15期)2012-04-29 17:09:47
三星電子將開設(shè)應(yīng)用程序下載商店
兴安县| 读书| 辛集市| 乐昌市| 淅川县| 呼玛县| 龙山县| 剑阁县| 专栏| 磐安县| 宣威市| 安庆市| 田林县| 林芝县| 宁强县| 延吉市| 合山市| 桂阳县| 新泰市| 伊川县| 临清市| 上杭县| 连云港市| 万载县| 永兴县| 晋江市| 基隆市| 阳信县| 栾城县| 渭源县| 商丘市| 伽师县| 茶陵县| 左云县| 南澳县| 白山市| 从江县| 墨玉县| 肥东县| 汶上县| 张家港市|