專利名稱::一種網(wǎng)絡(luò)攻擊的防范方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及WEB應(yīng)用入侵檢測領(lǐng)域,尤其涉及一種網(wǎng)絡(luò)攻擊的防范方法。
背景技術(shù):
:對業(yè)務(wù)網(wǎng)站利用提交內(nèi)容的攻擊是基于B/S架構(gòu)的業(yè)務(wù)系統(tǒng)的經(jīng)常受到的一種攻擊,這種攻擊的特征是利用通過B/S界面提交數(shù)據(jù)時加入可執(zhí)行字符,當這些內(nèi)容被服務(wù)器解析并處理時,由于業(yè)務(wù)軟件的漏洞,將這些應(yīng)該只作為事實性數(shù)據(jù)字符的內(nèi)容作為可執(zhí)行語句的一部分而在其環(huán)境中執(zhí)行,從而造成業(yè)務(wù)系統(tǒng)執(zhí)行外部命令,這種攻擊的后果包括非法獲取數(shù)據(jù)庫的數(shù)據(jù)、破壞數(shù)據(jù)庫的完整性,甚至達到執(zhí)行任意命令的目的。目前,防止這種攻擊的主要防范手段有兩類基于業(yè)務(wù)邏輯的審查和通用的審查?;跇I(yè)務(wù)邏輯的審査主要在業(yè)務(wù)系統(tǒng)中實現(xiàn),根據(jù)業(yè)務(wù)邏輯和各個輸入域的含義,檢查輸入的合理性,過濾可執(zhí)行字符和其他具有語法意義的字符,但這種方法的缺點是必須在每一個不同業(yè)務(wù)系統(tǒng)中實現(xiàn),對于現(xiàn)存業(yè)務(wù)系統(tǒng)改造成本很高,有時甚至是不可能的。通用的審查一般可以與業(yè)務(wù)無關(guān)的方法實現(xiàn),但其缺點為,因為沒有和業(yè)務(wù)系統(tǒng)掛鉤,過濾審查很難確定某一個特征字是否為攻擊字符,很多具有語法意義的字符經(jīng)常被認為正常數(shù)據(jù)提交的合理字符,并且很容易發(fā)生誤檢,就會造成業(yè)務(wù)系統(tǒng)無法正常工作。
發(fā)明內(nèi)容本發(fā)明的目的在于提供一種網(wǎng)絡(luò)攻擊的防范方法,保證對正常業(yè)務(wù)所提交數(shù)據(jù)的語義不變,避免對業(yè)務(wù)系統(tǒng)的影響的條件下防范網(wǎng)絡(luò)攻擊。為達到上述目的,本發(fā)明提供的網(wǎng)絡(luò)安全的防范方法,包括(1)由任一客戶端給網(wǎng)站服務(wù)端發(fā)送一個請求。(2)網(wǎng)站服務(wù)端接收這一請求。(3)網(wǎng)站服務(wù)端將這一請求中具有語法意義的字符轉(zhuǎn)換為多字節(jié)字符集的對應(yīng)字符。經(jīng)過這一轉(zhuǎn)換,當應(yīng)用軟件把經(jīng)轉(zhuǎn)換后的內(nèi)容放入語句中時,這一符號已不具有語法意義,從而,只會被當作業(yè)務(wù)內(nèi)容而進入語句,從而不會起到語句分割的作用,從而就不會起到攻擊的作用,同時,這一轉(zhuǎn)換不會破壞應(yīng)用軟件的業(yè)務(wù)邏輯。在應(yīng)用軟件中經(jīng)轉(zhuǎn)換后的內(nèi)容和未經(jīng)轉(zhuǎn)換前的內(nèi)容具有相同的語義。(4)網(wǎng)站服務(wù)端將轉(zhuǎn)換字符的請求解析執(zhí)行后向客戶端返回一個網(wǎng)頁。在實際的可執(zhí)行成分注入攻擊中,對于系統(tǒng)的分析往往采用嘗試/錯誤的方法,就是說,利用系統(tǒng)對嘗試攻擊內(nèi)容的錯誤信息來找出有效的攻擊方法的。為了避免找出系統(tǒng)漏洞,本方法采用攔截系統(tǒng)錯誤提示頁面,而以一個通用的錯誤顯示頁面代替。這樣,攻擊者就很難找到系統(tǒng)漏洞的細節(jié)了。為了避免業(yè)務(wù)系統(tǒng)錯誤信息被攻擊客戶端截獲,可以在攔截后進行必要分析,以確定錯誤信息中是否含有數(shù)據(jù)庫或其他可執(zhí)行成分要攻擊的目標的信息。網(wǎng)站的錯誤頁面通常都以HTTP中返回碼的5xx(500到599)來表示,這些信息常常含有一些特征字,數(shù)據(jù)庫服務(wù)器的錯誤信息常含有一些關(guān)鍵信息,本方法將含有這些關(guān)鍵信息的頁面阻截,以通用的錯誤顯示頁面代替。為了使這一過濾方法使用于不同的保護對象(業(yè)務(wù)種類),本方法還引用業(yè)務(wù)配置的方法,使得這些過濾可以針對不同業(yè)務(wù)對不同的關(guān)鍵字和符號進行轉(zhuǎn)換。同時,錯誤頁面的內(nèi)容也可以因業(yè)務(wù)而單獨配置。有益效果本發(fā)明提出的方法可以有效地挫敗可執(zhí)行成分注入攻擊。同時,對業(yè)務(wù)邏輯的影響卻遠比阻截可疑字符小得多。具體實施方式用本發(fā)明的方法構(gòu)造一個網(wǎng)站安全防范系統(tǒng)??蛻舳说恼埱笸ㄟ^網(wǎng)關(guān)到達網(wǎng)站服務(wù)端,網(wǎng)站服務(wù)端對所傳輸?shù)膬?nèi)容進行過濾,找出其中具有SQL語言語法意義的單詞和符號,例如SELECT,UPDATE,DELETE,TRANCATE,、,,:'(雙減號),"'(單引號)等。將這些字符按照GB2312編碼轉(zhuǎn)換為對應(yīng)的中文符號,如下表所示<table>tableseeoriginaldocumentpage5</column></row><table><table>tableseeoriginaldocumentpage6</column></row><table>對于在這一范圍外的字符,不做轉(zhuǎn)換。將經(jīng)上述轉(zhuǎn)換后的輸入字符串傳給網(wǎng)站服務(wù)。將這一轉(zhuǎn)換作用于l.l所述的SQL例子中。S卩,設(shè)SQL模板為SELECTusername,phone,idnumberFROMuserWHEREid='%s'用戶輸入為a';DELETEfromuser;-國'則,用戶輸入被轉(zhuǎn)換為a';DELETEfromuser;——將這一經(jīng)轉(zhuǎn)換的輸入放入上述的SQL語句模板中,得到SELECTusername,phone,idnumberFROMuserWHEREid='a';DELETEfromuser;--'由于上述的引號、分號、關(guān)鍵字DELETE都被轉(zhuǎn)換為多字節(jié)字符,它們已不具有SQL語法作用,被攻擊的程序會試圖尋找用戶名為a';DELETEfromuser;--的用戶。當然找不到。但和未經(jīng)轉(zhuǎn)換的SQL語句不同,它不會刪除數(shù)據(jù)庫表user。除此轉(zhuǎn)換外,服務(wù)還對來自網(wǎng)站服務(wù)的錯誤頁面作如下的轉(zhuǎn)換網(wǎng)關(guān)對HTTP返回碼在500到599范圍內(nèi)的頁面換以以下的頁面"輸入錯誤'<輸入內(nèi)容>,。請重新輸入。"在上述的例子中的輸入字符串的情況下,用戶將會看到如下錯誤信息輸入錯誤<a';DELETEfromuser;——'。請重新輸入。攻擊沒有成功。權(quán)利要求1、一種網(wǎng)絡(luò)攻擊的防范方法,其特征在于,包括下列步驟(1)由任一客戶端給網(wǎng)站服務(wù)端發(fā)送一個請求;(2)網(wǎng)站服務(wù)端接收這一請求;(3)網(wǎng)站服務(wù)端將這一請求中具有語法意義的字符轉(zhuǎn)換為多字節(jié)字符集中的對應(yīng)字符;(4)網(wǎng)站服務(wù)端將轉(zhuǎn)換字符的請求解析執(zhí)行后向客戶端返回一個網(wǎng)頁。2、根據(jù)權(quán)利要求l所述的網(wǎng)絡(luò)攻擊的防范方法,其特征在于,服務(wù)端攔截通常系統(tǒng)錯誤提示頁面并向客戶端返回一個通用的錯誤顯示頁面代替。3、根據(jù)權(quán)利要求2所述的網(wǎng)絡(luò)攻擊的防范方法,其特征在于,服務(wù)端攔截的通常系統(tǒng)錯誤的提示頁面為HTTP錯誤碼500到599范圍的錯誤頁面。4、根據(jù)權(quán)利要求2或3所述的網(wǎng)絡(luò)攻擊的防范方法,其特征在于,還包括一個構(gòu)造業(yè)務(wù)配置系統(tǒng),使得這些過濾可以針對不同業(yè)務(wù)對不同的關(guān)鍵字和符號進行轉(zhuǎn)換。5、根據(jù)權(quán)利要求2或3所述的網(wǎng)絡(luò)攻擊的防范方法,其特征在于,這個業(yè)務(wù)配置系統(tǒng)配置錯誤頁面的內(nèi)容可以因不同的業(yè)務(wù)系統(tǒng)而配置不同的通用錯誤顯示頁面。6、根據(jù)權(quán)利要求4所述的網(wǎng)絡(luò)攻擊的防范方法,其特征在于,這個業(yè)務(wù)配置系統(tǒng)配置錯誤頁面的內(nèi)容可以因不同的業(yè)務(wù)系統(tǒng)而配置不同的通用錯誤顯示頁面。全文摘要本發(fā)明涉及一種網(wǎng)絡(luò)攻擊的防范方法,包括下列步驟(1)由任一客戶端給網(wǎng)站服務(wù)端發(fā)送一個請求;(2)網(wǎng)站服務(wù)端接收這一請求;(3)網(wǎng)站服務(wù)端將這一請求中具有語法意義的字符轉(zhuǎn)換為多字節(jié)字符集中的對應(yīng)字符;(4)網(wǎng)站服務(wù)端將轉(zhuǎn)換字符的請求解析執(zhí)行后向客戶端返回一個網(wǎng)頁。本發(fā)明的有益效果本發(fā)明提出的方法可以有效地挫敗可執(zhí)行成分注入攻擊。同時,對業(yè)務(wù)邏輯的影響卻遠比阻截可疑字符小得多。文檔編號H04L29/06GK101217537SQ20071030683公開日2008年7月9日申請日期2007年12月28日優(yōu)先權(quán)日2007年12月28日發(fā)明者董韶瑜申請人:董韶瑜