两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種SQL注入攻擊檢測(cè)方法及系統(tǒng)與流程

文檔序號(hào):12752903閱讀:498來(lái)源:國(guó)知局
一種SQL注入攻擊檢測(cè)方法及系統(tǒng)與流程

本發(fā)明涉及信息安全技術(shù)領(lǐng)域,尤其涉及一種SQL注入攻擊檢測(cè)方法及系統(tǒng)。



背景技術(shù):

SQL(Structured Query Language,結(jié)構(gòu)化查詢(xún)語(yǔ)言)注入攻擊指的是通過(guò)構(gòu)建特殊的輸入作為參數(shù)傳入Web應(yīng)用程序,而這些輸入大都是SQL語(yǔ)法里的一些組合,通過(guò)執(zhí)行SQL語(yǔ)句進(jìn)而執(zhí)行攻擊者所要的操作,其主要原因是程序沒(méi)有細(xì)致地過(guò)濾用戶(hù)輸入的數(shù)據(jù),致使非法數(shù)據(jù)侵入系統(tǒng)。

目前針對(duì)SQL注入的防御算法主要是基于規(guī)則和語(yǔ)義分析的。規(guī)則主要采用正則匹配,對(duì)輸入?yún)?shù)過(guò)濾一遍每個(gè)SQL注入規(guī)則。語(yǔ)義分析主要基于編譯原理,對(duì)HTTP(HyperText Transfer Protocol,超文本傳輸協(xié)議)請(qǐng)求進(jìn)行語(yǔ)義分析,生成SQL語(yǔ)法樹(shù),再結(jié)合打分系統(tǒng)對(duì)輸入?yún)?shù)進(jìn)行打分,判斷是否存在SQL注入。

上述兩種方法都是基于HTTP請(qǐng)求的檢測(cè),這樣帶來(lái)的明顯缺陷就是判斷SQL注入攻擊都是基于理論的,沒(méi)有經(jīng)過(guò)實(shí)踐的測(cè)試,會(huì)造成較多的誤報(bào)。造成的不良影響至少有兩種:一種是網(wǎng)站本身沒(méi)有漏洞,防護(hù)產(chǎn)品卻產(chǎn)生一堆的攻擊日志,客戶(hù)無(wú)從讀起,產(chǎn)品的價(jià)值感不強(qiáng);另外一種是網(wǎng)站本身有漏洞,但因?yàn)楣舳急环雷o(hù)產(chǎn)品阻斷了,網(wǎng)站管理員無(wú)法獲知網(wǎng)站存在的SQL注入攻擊漏洞,一旦防護(hù)產(chǎn)品失效或有新的0Day(破解)漏洞繞過(guò)防護(hù)產(chǎn)品,網(wǎng)站安全就會(huì)遭到嚴(yán)重威脅。



技術(shù)實(shí)現(xiàn)要素:

本發(fā)明提供了一種SQL注入攻擊檢測(cè)方法及系統(tǒng),用以提高SQL注入攻擊漏洞檢測(cè)的準(zhǔn)確性,幫助網(wǎng)站發(fā)現(xiàn)真實(shí)的SQL注入漏洞。

本發(fā)明實(shí)施例提供了一種SQL注入攻擊檢測(cè)方法,包括:

針對(duì)請(qǐng)求端向服務(wù)端發(fā)送的超文本傳輸協(xié)議HTTP請(qǐng)求,檢測(cè)所述HTTP請(qǐng)求中包含的危險(xiǎn)攻擊HTTP請(qǐng)求和/或安全攻擊HTTP請(qǐng)求;

對(duì)于檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給所述服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求;

針對(duì)所述服務(wù)端向所述請(qǐng)求端返回的、所述安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng),如果檢測(cè)到所述HTTP響應(yīng)中包含預(yù)設(shè)的第一特征信息,則確認(rèn)存在SQL注入漏洞。

本發(fā)明實(shí)施例提供了一種SQL注入攻擊檢測(cè)系統(tǒng),包括:

檢測(cè)模塊,用于針對(duì)請(qǐng)求端向服務(wù)端發(fā)送的超文本傳輸協(xié)議HTTP請(qǐng)求,檢測(cè)所述HTTP請(qǐng)求中包含的危險(xiǎn)攻擊HTTP請(qǐng)求和/或安全攻擊HTTP請(qǐng)求;

第一處理模塊,用于對(duì)于檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給所述服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求;

漏洞確認(rèn)模塊,用于針對(duì)所述服務(wù)端向所述請(qǐng)求端返回的、所述安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng),如果檢測(cè)到所述HTTP響應(yīng)中包含預(yù)設(shè)的第一特征信息,則確認(rèn)存在SQL注入漏洞。

本發(fā)明的有益效果包括:

本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)方法,防火墻對(duì)客戶(hù)端向服務(wù)端發(fā)送的HTTP請(qǐng)求進(jìn)行檢測(cè),將檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求,并根據(jù)服務(wù)端向請(qǐng)求端返回的安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng),檢測(cè)是否存在SQL注入漏洞,上述過(guò)程中,防火墻允許部分安全攻擊HTTP請(qǐng)求發(fā)送到服務(wù)端,再對(duì)安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng)進(jìn)行分析判斷出SQL注入漏洞之后再對(duì)其進(jìn)行攔截,從而能夠準(zhǔn)確定位SQL注入漏洞,且能夠使得網(wǎng)站有針對(duì)性的根據(jù)確認(rèn)出的SQL注入漏洞進(jìn)行防護(hù),提高了SQL注入漏洞檢測(cè)的準(zhǔn)確性,幫助網(wǎng)站發(fā)現(xiàn)真實(shí)的SQL注入漏洞。

本發(fā)明的其它特征和優(yōu)點(diǎn)將在隨后的說(shuō)明書(shū)中闡述,并且,部分地從說(shuō)明書(shū)中變得顯而易見(jiàn),或者通過(guò)實(shí)施本發(fā)明而了解。本發(fā)明的目的和其他優(yōu)點(diǎn)可通過(guò)在所寫(xiě)的說(shuō)明書(shū)、權(quán)利要求書(shū)、以及附圖中所特別指出的結(jié)構(gòu)來(lái)實(shí)現(xiàn)和獲得。

附圖說(shuō)明

此處所說(shuō)明的附圖用來(lái)提供對(duì)本發(fā)明的進(jìn)一步理解,構(gòu)成本發(fā)明的一部分,本發(fā)明的示意性實(shí)施例及其說(shuō)明用于解釋本發(fā)明,并不構(gòu)成對(duì)本發(fā)明的不當(dāng)限定。在附圖中:

圖1a為本發(fā)明實(shí)施例中,SQL注入攻擊檢測(cè)方法的應(yīng)用場(chǎng)景示意圖;

圖1b為實(shí)施SQL注入攻擊的兩類(lèi)黑客的示意圖;

圖2為本發(fā)明實(shí)施例中,SQL注入攻擊檢測(cè)方法流程示意圖;

圖3為本發(fā)明實(shí)施例中,SQL注入攻擊檢測(cè)系統(tǒng)結(jié)構(gòu)示意圖。

具體實(shí)施方式

為了降低SQL注入攻擊檢測(cè)的誤報(bào)率及漏報(bào)率,本發(fā)明提供了一種SQL注入攻擊檢測(cè)方法及系統(tǒng)。

本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)方法實(shí)施原理是:防火墻對(duì)客戶(hù)端向服務(wù)端發(fā)送的HTTP請(qǐng)求進(jìn)行檢測(cè),將檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求,針對(duì)服務(wù)端向請(qǐng)求端返回的包含有安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng),如果檢測(cè)到HTTP響應(yīng)中包含預(yù)設(shè)的第一特征信息,則確認(rèn)存在SQL注入漏洞,上述SQL注入攻擊的檢測(cè)方法允許部分包含有安全攻擊HTTP請(qǐng)求的HTTP請(qǐng)求發(fā)送到服務(wù)端,再通過(guò)對(duì)其對(duì)應(yīng)的HTTP響應(yīng)進(jìn)行檢測(cè)來(lái)判斷是否存在SQL注入漏洞,在判斷出存在SQL注入漏洞之后再對(duì)其進(jìn)行攔截,而不是在HTTP請(qǐng)求階段就將判斷出的所有可能為攻擊請(qǐng)求的HTTP請(qǐng)求攔截,根據(jù)HTTP響應(yīng)能夠判斷出SQL注入漏洞所在,使得網(wǎng)站管理人員能夠有針對(duì)性的SQL漏洞進(jìn)行防護(hù),提高了SQL注入漏洞檢測(cè)的準(zhǔn)確性,降低了SQL注入攻擊檢測(cè)的誤報(bào)率及漏報(bào)率。

以下結(jié)合說(shuō)明書(shū)附圖對(duì)本發(fā)明的優(yōu)選實(shí)施例進(jìn)行說(shuō)明,應(yīng)當(dāng)理解,此處所描述的優(yōu)選實(shí)施例僅用于說(shuō)明和解釋本發(fā)明,并不用于限定本發(fā)明,并且在不沖突的情況下,本發(fā)明中的實(shí)施例及實(shí)施例中的特征可以相互組合。

首先參考圖1a,其為本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)方法的應(yīng)用場(chǎng)景示意圖,用戶(hù)10通過(guò)終端11中安裝的客戶(hù)端訪(fǎng)問(wèn)網(wǎng)站服務(wù)器12,其中,客戶(hù)端可以為網(wǎng)頁(yè)的瀏覽器,也可以為安裝于移動(dòng)終端,如手機(jī),平板電腦等中的客戶(hù)端。

通常,實(shí)施SQL注入攻擊的黑客一般有兩類(lèi),一類(lèi)如圖1b中的黑客A 14,其只用于盜取數(shù)據(jù),不會(huì)破壞數(shù)據(jù)庫(kù)和服務(wù)器。以百度某分站a.baidu.com為例,假設(shè)該服務(wù)器有SQL注入漏洞黑客發(fā)起如下HTTP請(qǐng)求就可獲取用戶(hù)信息:

http://a.baidu.com/?payload=1union select*from users

而另一類(lèi)如圖1b中的黑客B 15,其會(huì)破壞數(shù)據(jù)庫(kù)或者篡改數(shù)據(jù)。比如黑客B 15發(fā)起如下HTTP請(qǐng)求就會(huì)造成所有用戶(hù)信息被刪除:

http://a.baidu.com/?payload=1;delete from users

現(xiàn)有技術(shù)中,WAF(Web Application Firewall,Web應(yīng)用防火墻)會(huì)把兩種HTTP請(qǐng)求都在發(fā)送HTTP請(qǐng)求時(shí)阻斷,讓攻擊不能到達(dá)網(wǎng)站服務(wù)器12。而本發(fā)明實(shí)施例中,允許黑客A 14的非破壞性攻擊請(qǐng)求即安全攻擊HTTP請(qǐng)求暫時(shí)放過(guò)到服務(wù)器端執(zhí)行,進(jìn)而在HTTP響應(yīng)階段做檢測(cè),并對(duì)存在SQL注入漏洞的HTTP響應(yīng)進(jìn)行攔截。

具體地,用戶(hù)在訪(fǎng)問(wèn)網(wǎng)站服務(wù)器12時(shí),其通過(guò)客戶(hù)端向網(wǎng)站服務(wù)器12發(fā)送HTTP請(qǐng)求,該HTTP請(qǐng)求首先到達(dá)防火墻13,防火墻13根據(jù)預(yù)設(shè)的特征信息對(duì)該HTTP請(qǐng)求進(jìn)行識(shí)別,如果該HTTP中攜帶的特征信息與預(yù)設(shè)的安全攻擊HTTP請(qǐng)求的特征信息(本發(fā)明實(shí)施例中涉及的第三特征信息)相符,則防火墻13判定該HTTP請(qǐng)求為安全攻擊HTTP請(qǐng)求,如果該HTTP中攜帶的特征信息與預(yù)設(shè)的危險(xiǎn)攻擊HTTP請(qǐng)求的特征信息(本發(fā)明實(shí)施例中涉及的第二特征信息)相符,則防火墻13判定該HTTP請(qǐng)求為危險(xiǎn)攻擊HTTP請(qǐng)求,對(duì)于識(shí)別出的危險(xiǎn)攻擊HTTP請(qǐng)求,防火墻13需進(jìn)行攔截,而對(duì)于識(shí)別出的安全攻擊HTTP請(qǐng)求,防火墻13將其按照正常流程發(fā)送給網(wǎng)站服務(wù)器12,并等待網(wǎng)站服務(wù)器12針對(duì)安全攻擊HTTP請(qǐng)求返回的HTTP響應(yīng)。網(wǎng)站服務(wù)器12在接收到安全攻擊HTTP請(qǐng)求后,針對(duì)該HTTP請(qǐng)求向客戶(hù)端返回HTTP響應(yīng),該HTTP響應(yīng)中包含有響應(yīng)信息,當(dāng)HTTP響應(yīng)到達(dá)防火墻12時(shí),防火墻12對(duì)接收到的HTTP響應(yīng)進(jìn)行檢測(cè),判斷接收到的HTTP響應(yīng)中是否包含的預(yù)設(shè)的特征信息(本發(fā)明實(shí)施例中涉及的第一特征信息),如果是,則確認(rèn)網(wǎng)站服務(wù)器12存在SQL注入漏洞,攔截接收到的HTTP響應(yīng)。

其中,終端11與網(wǎng)站服務(wù)器12之間通過(guò)網(wǎng)絡(luò)進(jìn)行通信連接,該網(wǎng)絡(luò)可以為局域網(wǎng)、廣域網(wǎng)等。終端11可以為便攜設(shè)備(例如:手機(jī)、平板、筆記本電腦等),也可以為個(gè)人電腦(PC,Personal Computer),網(wǎng)站服務(wù)器12可以為任何能夠提供互聯(lián)網(wǎng)服務(wù)的設(shè)備。

下面結(jié)合圖1a和圖1b的應(yīng)用場(chǎng)景,參考圖2來(lái)描述根據(jù)本發(fā)明示例性實(shí)施方式的SQL注入攻擊檢測(cè)方法。需要注意的是,上述應(yīng)用場(chǎng)景僅是為了便于理解本發(fā)明的精神和原理而示出,本發(fā)明的實(shí)施方式在此方面不受任何限制。相反,本發(fā)明的實(shí)施方式可以應(yīng)用于適用的任何場(chǎng)景。

如圖2所示,其為本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)方法流程示意圖,可以包括以下步驟:

S21、針對(duì)請(qǐng)求端向服務(wù)端發(fā)送的HTTP請(qǐng)求,檢測(cè)所述HTTP請(qǐng)求中包含的危險(xiǎn)攻擊HTTP請(qǐng)求和/或安全攻擊HTTP請(qǐng)求。

具體實(shí)施時(shí),防火墻針對(duì)客戶(hù)請(qǐng)求端向服務(wù)端發(fā)送的HTTP請(qǐng)求,檢測(cè)該HTTP請(qǐng)求中包含的危險(xiǎn)攻擊HTTP請(qǐng)求和/或安全攻擊HTTP請(qǐng)求。

其中,防火墻可以根據(jù)預(yù)設(shè)的第二特征信息檢測(cè)HTTP請(qǐng)求中包含的危險(xiǎn)攻擊HTTP請(qǐng)求,危險(xiǎn)攻擊HTTP請(qǐng)求可以包括以下至少一種請(qǐng)求:刪除數(shù)據(jù)庫(kù)/表請(qǐng)求、修改表請(qǐng)求、執(zhí)行命令請(qǐng)求、讀寫(xiě)文件請(qǐng)求,當(dāng)檢測(cè)到HTTP請(qǐng)求中包含有通過(guò)上述請(qǐng)求方式得到的特征信息時(shí),則可確認(rèn)其為危險(xiǎn)攻擊HTTP請(qǐng)求。

同樣,可以根據(jù)預(yù)設(shè)的第三特征信息檢測(cè)HTTP請(qǐng)求中包含的安全攻擊HTTP請(qǐng)求,其中,安全攻擊HTTP請(qǐng)求包括以下至少一種請(qǐng)求:基于數(shù)據(jù)庫(kù)錯(cuò)誤的回顯試探請(qǐng)求、數(shù)據(jù)庫(kù)信息查詢(xún)請(qǐng)求、數(shù)據(jù)查詢(xún)請(qǐng)求、盲注攻擊請(qǐng)求?;诖?,本發(fā)明實(shí)施例中,預(yù)設(shè)的第三特征信息包括通過(guò)以下方式得到的至少一種信息:在基于數(shù)據(jù)庫(kù)錯(cuò)誤的回顯試探響應(yīng)中搜索數(shù)據(jù)庫(kù)錯(cuò)誤提示信息、在基于數(shù)據(jù)庫(kù)信息的響應(yīng)中查詢(xún)數(shù)據(jù)庫(kù)信息、在基于數(shù)據(jù)查詢(xún)的響應(yīng)中搜索業(yè)務(wù)信息、在基于盲注攻擊的響應(yīng)中檢測(cè)是否有盲注效果,當(dāng)檢測(cè)到HTTP請(qǐng)求中包含有上述特征信息時(shí),則可確認(rèn)其為安全攻擊HTTP請(qǐng)求。

比如,攻擊者發(fā)送一個(gè)基于時(shí)間的盲注攻擊判斷注入點(diǎn):

http://a.baidu.com/?id=1,SELECT IF(1=1,sleep(5),'1')①

再發(fā)送一個(gè)數(shù)據(jù)查詢(xún)請(qǐng)求盜取所有用戶(hù)的信息:

http://a.baidu.com/?id=1union select*from users②

本實(shí)施例中通過(guò)正則表達(dá)式sleep(\d+)匹配到請(qǐng)求①中的關(guān)鍵字sleep(5),通過(guò)正則表達(dá)式union\sselect.*匹配到請(qǐng)求②中的關(guān)鍵字union select,判斷請(qǐng)求①和請(qǐng)求②為安全攻擊HTTP請(qǐng)求中的數(shù)據(jù)查詢(xún)。并且沒(méi)發(fā)現(xiàn)有危險(xiǎn)攻擊特征信息,所以可以確定為安全攻擊HTTP請(qǐng)求。

S22、對(duì)于檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給所述服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求。

具體實(shí)施時(shí),防火墻針對(duì)檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求,對(duì)其進(jìn)行阻斷。

S23、針對(duì)所述服務(wù)端向所述請(qǐng)求端返回的、所述安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng),如果檢測(cè)到所述HTTP響應(yīng)中包含預(yù)設(shè)的第一特征信息,則確認(rèn)存在SQL注入漏洞。

具體實(shí)施時(shí),防火墻針對(duì)服務(wù)端向請(qǐng)求端返回的包含有步驟S21中檢測(cè)到的安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng),如果檢測(cè)到的HTTP響應(yīng)中包含預(yù)設(shè)的第一特征信息,則即可確認(rèn)存在SQL注入漏洞,可以判斷攻擊成功,后續(xù)要存儲(chǔ)針對(duì)該URL放過(guò)的所有安全攻擊HTTP請(qǐng)求和對(duì)應(yīng)的HTTP響應(yīng),但要將所有HTTP響應(yīng)攔截阻斷,不發(fā)給客戶(hù)端,以便進(jìn)行后續(xù)風(fēng)險(xiǎn)評(píng)估。其中,關(guān)于預(yù)設(shè)的第一特征信息,假設(shè)黑客攻擊查詢(xún)用戶(hù)信息成功,響應(yīng)中包含了大量的用戶(hù)名/密碼信息,比如:

Admin@baidu.com;42a1af08f69aad392d7282314f8b9d01

User1@baidu.com;ed14f93831eb50c859a0730bd732c3e3

User2@baidu.com;45011e6df25b5d6fd84dc5880f53daf1

其中有大量的郵箱和MD5特征,通過(guò)對(duì)HTTP響應(yīng)進(jìn)行檢測(cè)就可以發(fā)現(xiàn)這些重要信息。

比如在http://a.baidu.com/?a=1union select*from users的響應(yīng)中包含Admin@baidu.com;42a1af08f69aad392d7282314f8b9d01,則urlhttp://a.baidu.com/的參數(shù)a存在SQL注入漏洞,進(jìn)而根據(jù)HTTP響應(yīng)對(duì)該SQL注入漏洞進(jìn)行風(fēng)險(xiǎn)評(píng)估,在漏洞URL的響應(yīng)中搜索敏感信息,比如常見(jiàn)系統(tǒng)表、表名、列名、郵件地址格式、密碼MD5(Message Digest Algorithm 5,消息摘要算法5)格式等,統(tǒng)計(jì)攻擊次數(shù)、攻擊源IP等信息,評(píng)估漏洞影響。其中,MD5為計(jì)算機(jī)安全領(lǐng)域廣泛使用的一種散列函數(shù),用以提供消息的完整性保護(hù)。MD5將任意長(zhǎng)度的“字節(jié)串”映射為一個(gè)128bit的大整數(shù),并且通過(guò)該128bit反推原始字符串是困難的,換句話(huà)說(shuō)就是,即使你看到源程序和算法描述,也無(wú)法將一個(gè)MD5的值變換回原始的字符串。MD5被廣泛用于系統(tǒng)的登陸認(rèn)證上,當(dāng)用戶(hù)登錄的時(shí)候,系統(tǒng)把用戶(hù)輸入的密碼進(jìn)行MD5Hash運(yùn)算,然后再去和保存在文件系統(tǒng)中的MD5值進(jìn)行比較,進(jìn)而確定輸入的密碼是否正確。通過(guò)這樣的步驟,系統(tǒng)在并不知道用戶(hù)密碼的明碼的情況下就可以確定用戶(hù)登錄系統(tǒng)的合法性,可以避免用戶(hù)的密碼被具有系統(tǒng)管理員權(quán)限的用戶(hù)獲取。

基于此,本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)方法,還可以包括以下步驟:提取安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng)中攜帶的響應(yīng)信息,根據(jù)提取的響應(yīng)信息對(duì)SQL注入漏洞進(jìn)行風(fēng)險(xiǎn)評(píng)估。

具體地,安全攻擊HTTP請(qǐng)求返回的HTTP響應(yīng)中攜帶的響應(yīng)信息可以包括:攻擊類(lèi)型信息、攻擊業(yè)務(wù)類(lèi)型信息和發(fā)起攻擊的網(wǎng)站地址信息。具體實(shí)施時(shí),可以根據(jù)攻擊類(lèi)型信息以及預(yù)先存儲(chǔ)的攻擊類(lèi)型信息與攻擊向量的對(duì)應(yīng)關(guān)系,確定SQL注入漏洞對(duì)應(yīng)的攻擊向量,根據(jù)攻擊業(yè)務(wù)類(lèi)型信息以及預(yù)先存儲(chǔ)的攻擊業(yè)務(wù)類(lèi)型信息與攻擊結(jié)果向量之間的對(duì)應(yīng)關(guān)系,確定SQL注入漏洞對(duì)應(yīng)的攻擊結(jié)果向量,以及根據(jù)發(fā)起攻擊的網(wǎng)絡(luò)地址信息,統(tǒng)計(jì)針對(duì)SQL注入漏洞發(fā)起SQL注入攻擊的網(wǎng)絡(luò)地址數(shù)量(即攻擊源IP數(shù)量),再根據(jù)統(tǒng)計(jì)的網(wǎng)絡(luò)地址數(shù)量以及預(yù)先存儲(chǔ)的網(wǎng)絡(luò)地址數(shù)量與攻擊普遍性向量之間的對(duì)應(yīng)關(guān)系,確定SQL注入漏洞對(duì)應(yīng)的攻擊普遍性向量,最后根據(jù)SQL注入漏洞對(duì)應(yīng)的攻擊向量、攻擊結(jié)果向量和攻擊普遍性向量共同確定SQL注入漏洞對(duì)應(yīng)的風(fēng)險(xiǎn)等級(jí)。

用公式表述如下:

風(fēng)險(xiǎn)等級(jí)=攻擊向量*攻擊普遍性向量*攻擊結(jié)果向量

其中:

比如,當(dāng)攻擊類(lèi)型為“盲注攻擊,有編碼”、攻擊源IP數(shù)量>2、攻擊業(yè)務(wù)類(lèi)型為“可查詢(xún)密碼數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù)”時(shí),對(duì)應(yīng)的風(fēng)險(xiǎn)等級(jí)=1*2*3=6,風(fēng)險(xiǎn)等級(jí)的數(shù)值越大,SQL注入攻擊風(fēng)險(xiǎn)越高。

因?yàn)樗鸭怂锌梢烧?qǐng)求的響應(yīng)信息,能直接評(píng)估漏洞帶來(lái)的影響,比如攻擊請(qǐng)求能訪(fǎng)問(wèn)哪些表,獲取哪些數(shù)據(jù),擁有哪些權(quán)限等。對(duì)安全攻擊HTTP請(qǐng)求返回的HTTP響應(yīng)檢測(cè)出的SQL注入漏洞進(jìn)行風(fēng)險(xiǎn)評(píng)估后,將風(fēng)險(xiǎn)評(píng)估結(jié)果以及攔截的HTTP響應(yīng)反饋給網(wǎng)站管理員,網(wǎng)站管理員根據(jù)風(fēng)險(xiǎn)評(píng)估結(jié)果及攔截的HTTP響應(yīng)對(duì)SQL注入攻擊漏洞進(jìn)行防護(hù)處理。

本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)方法,通過(guò)防火墻對(duì)客戶(hù)端向服務(wù)端發(fā)送的HTTP請(qǐng)求進(jìn)行檢測(cè),將檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求,并根據(jù)服務(wù)端向請(qǐng)求端返回的包含有安全攻擊HTTP請(qǐng)求的對(duì)應(yīng)的HTTP響應(yīng),檢測(cè)是否存在SQL注入漏洞,上述過(guò)程中,防火墻允許部分安全攻擊HTTP請(qǐng)求發(fā)送到服務(wù)端,再對(duì)安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng)進(jìn)行分析判斷出SQL注入漏洞之后再對(duì)其進(jìn)行攔截,從而能夠準(zhǔn)確定位SQL注入漏洞,且能夠使得網(wǎng)站有針對(duì)性的根據(jù)確認(rèn)出的SQL注入漏洞進(jìn)行防護(hù),提高了SQL注入漏洞檢測(cè)的準(zhǔn)確性,幫助網(wǎng)站發(fā)現(xiàn)真實(shí)的SQL注入漏洞。

基于同一發(fā)明構(gòu)思,本發(fā)明實(shí)施例中還提供了SQL注入攻擊檢測(cè)系統(tǒng),由于上述系統(tǒng)解決問(wèn)題的原理與SQL注入攻擊檢測(cè)方法相似,因此上述系統(tǒng)的實(shí)施可以參見(jiàn)方法的實(shí)施,重復(fù)之處不再贅述。

本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)系統(tǒng)可以應(yīng)用于防火墻中。如圖3所示,其為本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)系統(tǒng)在防火墻中的應(yīng)用結(jié)構(gòu)示意圖,可以包括:

檢測(cè)模塊31,用于針對(duì)請(qǐng)求端向服務(wù)端發(fā)送的超文本傳輸協(xié)議HTTP請(qǐng)求,檢測(cè)所述HTTP請(qǐng)求中包含的危險(xiǎn)攻擊HTTP請(qǐng)求和/或安全攻擊HTTP請(qǐng)求;

第一處理模塊32,用于對(duì)于檢測(cè)到的安全攻擊HTTP請(qǐng)求發(fā)送給所述服務(wù)端,并攔截檢測(cè)到的危險(xiǎn)攻擊HTTP請(qǐng)求;

漏洞確認(rèn)模塊33,用于針對(duì)所述服務(wù)端向所述請(qǐng)求端返回的、所述安全攻擊HTTP請(qǐng)求對(duì)應(yīng)的HTTP響應(yīng),如果檢測(cè)到所述HTTP響應(yīng)中包含預(yù)設(shè)的第一特征信息,則確認(rèn)存在SQL注入漏洞。

其中,所述檢測(cè)模塊31,具體用于根據(jù)預(yù)設(shè)的第二特征信息檢測(cè)所述HTTP請(qǐng)求中包含的危險(xiǎn)攻擊HTTP請(qǐng)求;和/或

根據(jù)預(yù)設(shè)的第三特征信息檢測(cè)所述HTTP請(qǐng)求中包含的安全攻擊HTTP請(qǐng)求。

可選地,本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)系統(tǒng),還可以包括:

提取模塊,用于在所述漏洞確認(rèn)模塊確認(rèn)存在SQL注入漏洞之后,提取所述HTTP響應(yīng)中攜帶的響應(yīng)信息;

風(fēng)險(xiǎn)評(píng)估模塊,用于根據(jù)提取的響應(yīng)信息對(duì)SQL注入漏洞進(jìn)行風(fēng)險(xiǎn)評(píng)估。較佳地,所述響應(yīng)信息可以包括攻擊類(lèi)型信息、攻擊業(yè)務(wù)類(lèi)型信息和發(fā)起攻擊的網(wǎng)絡(luò)地址信息。

可選地,本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)系統(tǒng),還可以包括:

第一確定模塊,用于根據(jù)所述攻擊類(lèi)型信息以及預(yù)先存儲(chǔ)的攻擊類(lèi)型信息與攻擊向量的對(duì)應(yīng)關(guān)系,確定所述SQL注入漏洞對(duì)應(yīng)的攻擊向量;

第二確定模塊,用于根據(jù)所述攻擊業(yè)務(wù)類(lèi)型信息以及預(yù)先存儲(chǔ)的攻擊業(yè)務(wù)類(lèi)型信息與攻擊結(jié)果向量之間的對(duì)應(yīng)關(guān)系,確定所述SQL注入漏洞對(duì)應(yīng)的攻擊結(jié)果向量;

統(tǒng)計(jì)模塊,用于根據(jù)發(fā)起攻擊的網(wǎng)絡(luò)地址信息,統(tǒng)計(jì)針對(duì)所述SQL注入漏洞發(fā)起SQL注入攻擊的網(wǎng)絡(luò)地址數(shù)量;

第三確定模塊,用于根據(jù)統(tǒng)計(jì)的網(wǎng)絡(luò)地址數(shù)量以及預(yù)先存儲(chǔ)的網(wǎng)絡(luò)地址數(shù)量與攻擊普遍性向量之間的對(duì)應(yīng)關(guān)系,確定所述SQL注入漏洞對(duì)應(yīng)的攻擊普遍性向量;

第四確定模塊,用于根據(jù)所述SQL注入漏洞對(duì)應(yīng)的攻擊向量、攻擊結(jié)果向量和攻擊普遍性向量確定所述SQL注入漏洞對(duì)應(yīng)的風(fēng)險(xiǎn)等級(jí)。

可選地,本發(fā)明實(shí)施例提供的SQL注入攻擊檢測(cè)系統(tǒng),還可以包括:

攔截模塊,用于在所述漏洞確認(rèn)模塊確認(rèn)存在SQL注入漏洞之后,攔截所述服務(wù)端向所述請(qǐng)求端返回的、所述安全攻擊HTTP請(qǐng)求對(duì)應(yīng)HTTP響應(yīng)。

為了描述的方便,以上各部分按照功能劃分為各模塊(或單元)分別描述。當(dāng)然,在實(shí)施本發(fā)明時(shí)可以把各模塊(或單元)的功能在同一個(gè)或多個(gè)軟件或硬件中實(shí)現(xiàn)。

本領(lǐng)域內(nèi)的技術(shù)人員應(yīng)明白,本發(fā)明的實(shí)施例可提供為方法、系統(tǒng)、或計(jì)算機(jī)程序產(chǎn)品。因此,本發(fā)明可采用完全硬件實(shí)施例、完全軟件實(shí)施例、或結(jié)合軟件和硬件方面的實(shí)施例的形式。而且,本發(fā)明可采用在一個(gè)或多個(gè)其中包含有計(jì)算機(jī)可用程序代碼的計(jì)算機(jī)可用存儲(chǔ)介質(zhì)(包括但不限于磁盤(pán)存儲(chǔ)器、CD-ROM、光學(xué)存儲(chǔ)器等)上實(shí)施的計(jì)算機(jī)程序產(chǎn)品的形式。

本發(fā)明是參照根據(jù)本發(fā)明實(shí)施例的方法、設(shè)備(系統(tǒng))、和計(jì)算機(jī)程序產(chǎn)品的流程圖和/或方框圖來(lái)描述的。應(yīng)理解可由計(jì)算機(jī)程序指令實(shí)現(xiàn)流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結(jié)合??商峁┻@些計(jì)算機(jī)程序指令到通用計(jì)算機(jī)、專(zhuān)用計(jì)算機(jī)、嵌入式處理機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器以產(chǎn)生一個(gè)機(jī)器,使得通過(guò)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備的處理器執(zhí)行的指令產(chǎn)生用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的裝置。

這些計(jì)算機(jī)程序指令也可存儲(chǔ)在能引導(dǎo)計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備以特定方式工作的計(jì)算機(jī)可讀存儲(chǔ)器中,使得存儲(chǔ)在該計(jì)算機(jī)可讀存儲(chǔ)器中的指令產(chǎn)生包括指令裝置的制造品,該指令裝置實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能。

這些計(jì)算機(jī)程序指令也可裝載到計(jì)算機(jī)或其他可編程數(shù)據(jù)處理設(shè)備上,使得在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行一系列操作步驟以產(chǎn)生計(jì)算機(jī)實(shí)現(xiàn)的處理,從而在計(jì)算機(jī)或其他可編程設(shè)備上執(zhí)行的指令提供用于實(shí)現(xiàn)在流程圖一個(gè)流程或多個(gè)流程和/或方框圖一個(gè)方框或多個(gè)方框中指定的功能的步驟。

盡管已描述了本發(fā)明的優(yōu)選實(shí)施例,但本領(lǐng)域內(nèi)的技術(shù)人員一旦得知了基本創(chuàng)造性概念,則可對(duì)這些實(shí)施例做出另外的變更和修改。所以,所附權(quán)利要求意欲解釋為包括優(yōu)選實(shí)施例以及落入本發(fā)明范圍的所有變更和修改。

顯然,本領(lǐng)域的技術(shù)人員可以對(duì)本發(fā)明進(jìn)行各種改動(dòng)和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本發(fā)明也意圖包含這些改動(dòng)和變型在內(nèi)。

當(dāng)前第1頁(yè)1 2 3 
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
富蕴县| 色达县| 金湖县| 阿克陶县| 龙胜| 唐海县| 双鸭山市| 邵阳市| 罗田县| 绥棱县| 临邑县| 华亭县| 互助| 甘孜| 康乐县| 精河县| 固安县| 博客| 吴旗县| 盐边县| 蕲春县| 扎赉特旗| 怀来县| 达尔| 武山县| 九寨沟县| 麟游县| 鹿邑县| 五河县| 台东市| 曲水县| 泸西县| 济南市| 镶黄旗| 西安市| 淮滨县| 大埔区| 华容县| 宁夏| 沛县| 和政县|