版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 國內(nèi)圖書分類號: 密級:公開國際圖書分類號:西南交通大學(xué)研究生學(xué)位論文年姓申請學(xué)位級別王堂亟±業(yè)專 信。氳塞全指導(dǎo)老師威建淮直王二零一三年六月一令一二,牛/、月 :.:廠 : 西南交通大學(xué)學(xué)位論文版權(quán)使用授權(quán)書本學(xué)位論文作者完全了解學(xué)校有關(guān)保留、使用學(xué)位論文的規(guī)定,同意學(xué)校保留并向國家有關(guān)部門或機構(gòu)送交論文的復(fù)印件和電子版,允許論文被查閱和借閱。本人授權(quán)西南交通大學(xué)可以將本論文的全部或部分內(nèi)容編入有關(guān)數(shù)據(jù)庫進行檢索,可以采用影印、縮印或掃描等復(fù)印手段保存和匯編本學(xué)位論文。本學(xué)位論文屬于.保密口,在 年解密后適用本授權(quán)書;.不保密日,使用本授權(quán)書。請在以上方框內(nèi)打“巾指導(dǎo)老師簽名:學(xué)
2、位論文作者簽名:威牽日期:哆.專日期:加?多西南交通大學(xué)碩士學(xué)位論文主要工作貢獻聲明本人在學(xué)位論文中所做的主要工作或貢獻如下:.在漏洞測試方法方面,研究了現(xiàn)有的注入漏洞檢測技術(shù)及其存在的問題,發(fā)現(xiàn)這些技術(shù)對于那些加入防過濾機制的站點來說,不能很好地檢測到漏洞。故提出了一種改進的漏洞檢測方法,改進的重點是在傳統(tǒng)檢測方法的基礎(chǔ)上,加入了深度測試環(huán)節(jié),解決了傳統(tǒng)的漏洞檢測方法存在的若干問題,包括使用的測試用例不具代表性,測試用例較簡單以及不能及時分析漏洞形成的原因等問題。.在研究注入攻擊原理、過程的基礎(chǔ)上,發(fā)現(xiàn)單一的防范措施如使用參數(shù)化語句或者存儲過程,只能阻止一般的注入攻擊,都不能有效避免注入漏洞
3、的存在。因此本文探討了一種綜合性的防御框架,它包括三個部分,即存儲過程、參數(shù)化語句以及對存儲過程執(zhí)行權(quán)限的驗證。該框架彌補了單一防范措施存在的不足,能防范大部分注入攻擊,在很大程度上降低了系統(tǒng)遭注入攻擊的風(fēng)險。.在研究注入攻擊技術(shù)和漏洞檢測技術(shù)的基礎(chǔ)上,設(shè)計并實現(xiàn)了應(yīng)用注入漏洞測試系統(tǒng)。系統(tǒng)提供了諸如單一網(wǎng)站的掃描、觀察掃描過程以及輸出掃描報告等常規(guī)功能,同時也提供了多網(wǎng)站的掃描、孤立的掃描以及獲取網(wǎng)站后臺管理權(quán)限等不一樣的功能。本人鄭重聲明:所呈交的學(xué)位論文,是在導(dǎo)師指導(dǎo)下獨立進行研究工作所得的成果。除文中已經(jīng)注明引用的內(nèi)容外,本論文不包含任何其他個人或集體已經(jīng)發(fā)表或撰寫過的研究成果。對本文
4、的研究做出貢獻的個人和集體,均已在文中作了明確說明。本人完全了解違反上述聲明所引起的一切法律責任將由本人承擔。學(xué)位論文作者簽名:成曉禮日期:工,?多西南交通大學(xué)碩士研究生學(xué)位論文 第頁捅 要隨著計算機網(wǎng)絡(luò)技術(shù)的快速發(fā)展,技術(shù)在各個領(lǐng)域都得到了廣泛的應(yīng)用,應(yīng)用系統(tǒng)無處不在,隨之而來的是應(yīng)用系統(tǒng)面臨的安全風(fēng)險與日劇增。由于開發(fā)人員缺乏安全編程知識或經(jīng)驗,使得開發(fā)出來的應(yīng)用不可避免地出現(xiàn)一些漏洞,其中注入漏洞是最常見的漏洞之一。應(yīng)用漏洞檢測技術(shù),是一種針對應(yīng)用的積極防御技術(shù)。該技術(shù)在應(yīng)用尚未遭受攻擊前,模擬黑客攻擊的方式對目標系統(tǒng)進行各種探測,發(fā)現(xiàn)系統(tǒng)潛在的漏洞。由于應(yīng)用工作在應(yīng)用層協(xié)議上,所以傳統(tǒng)
5、的防火墻、等網(wǎng)絡(luò)層防護設(shè)備不能對其進行保護,此時就需要應(yīng)用漏洞檢測工具對系統(tǒng)的應(yīng)用層進行保護,二者互補不足,共同保護系統(tǒng)的安全。應(yīng)用漏洞種類很多,本文有針對性地研究了注入漏洞。在最新發(fā)布的應(yīng)用安全風(fēng)險報告中,其中注入漏洞高居榜首,可見該漏洞最受攻擊者關(guān)注,被利用的可能性很高,由此帶來的安全風(fēng)險也不斷增加,因此研究注入漏洞的檢測是一件十分有意義的工作。本文首先分析了應(yīng)用面臨的安全形勢,主流的應(yīng)用漏洞檢測產(chǎn)品,分析它們的優(yōu)點與不足。接著重點研究了注入漏洞形成的原因、具有的特點、攻擊的過程以及防御的對策,以及研究了注入漏洞的檢測技術(shù)。在此基礎(chǔ)上設(shè)計了應(yīng)用注入漏洞測試系統(tǒng)的基礎(chǔ)架構(gòu),描述了各主要組成模
6、塊的功能和工作原理,實現(xiàn)了系統(tǒng)原型;然后搭建測試環(huán)境,對系統(tǒng)的功能進行測試,基本達到預(yù)期的目標;最后分析了系統(tǒng)存在不足的地方以及提出了下一步的工作。關(guān)鍵詞:應(yīng)用;漏洞檢測;網(wǎng)絡(luò)爬蟲;注入西南交通大學(xué)碩士研究生學(xué)位論文 第頁皇皇皇 曼曼曼曼曼皇曼皇皇皇曼曼曼皇曼曼曼皇曼舅曼曼曼曼曼曼鼉曼曼曼皇苧鼉皇皇曼曼曼曼曼曼量曼曼曼量曼曼曼詈鼉曼鼉曼曼曼曼曼曼皇曼 ,., . . , . ., ,力., .,., . ., ,., .,證 .:; ;西南交通大學(xué)碩士研究生學(xué)位論文 第 頁目 錄第章緒論.研究背景及意義?.國內(nèi)外研究現(xiàn)狀?.國外研究現(xiàn)狀.國內(nèi)研究現(xiàn)狀.現(xiàn)有注入漏洞測試系統(tǒng)介紹.知識介紹?.應(yīng)用
7、架構(gòu).應(yīng)用安全測試.本文的主要研究內(nèi)容.論文的結(jié)構(gòu)第章注入攻擊技術(shù)研究.注入攻擊概述?.注入攻擊的概念?.注入攻擊產(chǎn)生的原因.注入攻擊的特點?.網(wǎng)絡(luò)爬蟲.注入攻擊技術(shù)原理?.注入攻擊的方式?.注入攻擊的過程?.注入攻擊示例?.注入攻擊的防范措施.現(xiàn)有的主要防范措施.現(xiàn)有防范措施存在的不足?.一種改進的注入防范框架.本章小結(jié).第章注入漏洞檢測技術(shù)研究?.傳統(tǒng)的漏洞檢測方法.敏感信息測試?.初步測試?.傳統(tǒng)檢測方法存在的問題?.基于等級劃分的漏洞檢測方法.初級漏洞的劃分.中級漏洞的劃分?第西南交通大學(xué)碩士研究生學(xué)位論文 頁.皇詈曼曼曼曼曼曼曼曼曼曼曼舅曼皇曼皇嘗曼?一 一一一一一?皇一一一一一一
8、一.高級漏洞的劃分.一種改進的漏洞檢測方法?.本章小結(jié).第章 應(yīng)用注入漏洞測試系統(tǒng)總體設(shè)計.系統(tǒng)需求分析.系統(tǒng)設(shè)計目標?.系統(tǒng)設(shè)計原則?.系統(tǒng)總體架構(gòu)設(shè)計.系統(tǒng)功能模塊設(shè)計.運行和開發(fā)環(huán)境?.本章小結(jié).第章 應(yīng)用注入漏洞測試系統(tǒng)的實現(xiàn)?.網(wǎng)絡(luò)爬蟲模塊.網(wǎng)絡(luò)爬蟲模塊的主要功能?.網(wǎng)絡(luò)爬蟲模塊的主要結(jié)構(gòu)?.網(wǎng)絡(luò)爬蟲模塊的實現(xiàn).漏洞檢測模塊.漏洞檢測模塊的主要功能?.漏洞檢測模塊的主要結(jié)構(gòu)?.漏洞檢測模塊的實現(xiàn).漏洞利用模塊.漏洞利用模塊的主要功能?.漏洞利用模塊的主要結(jié)構(gòu)?.漏洞利用模塊的實現(xiàn).管理界面模塊.系統(tǒng)測試.同類軟件的對比測試.本章小結(jié).總結(jié)與展望?.致謝.參考文獻攻讀碩士學(xué)位期間發(fā)表的
9、論文及科研成果?.西南交通大學(xué)碩士研究生學(xué)位論文 第頁擊者無須具備專業(yè)的注入知識,甚至在不熟悉相關(guān)知識的背景下,也可利用一些好的注入工具完成對應(yīng)用的攻擊。也就是說實施該類攻擊的門檻比較低,自然得到了廣大攻擊者的青睞。根據(jù)在年月公布的對網(wǎng)站威脅最高的十種攻擊中,近三年來,注入攻擊一直位居第一【】,由此可見其危害極大。本文設(shè)計的應(yīng)用注入漏洞測試系統(tǒng)工作在應(yīng)用層協(xié)議上,主要是對網(wǎng)站進行注入漏洞的檢測,通過提交具有特定漏洞特征的請求,根據(jù)服務(wù)器的應(yīng)答來判斷系統(tǒng)是否具有注入漏洞。若存在此類漏洞,則模擬黑客攻擊的方式對網(wǎng)站進行滲透測試,這樣可以讓用戶及時發(fā)現(xiàn)網(wǎng)站面臨的風(fēng)險,并進行補救,大大降低了網(wǎng)站被攻擊
10、的風(fēng)險。注入問題在安全中日益突出,因此進行注入漏洞的研究是一件很有意義的工作。組織發(fā)布的安全風(fēng)險報告 如表.所示:表 ? ? ? 注入跨站腳本冷 陋入失效的身份認證和會話管理玲 障入漏洞 喳站腳本跨站腳本玲 泌意文件執(zhí)行 陜效的身份認證和會話管理不安全的直接對象引用羚防安全的直接對象引用 疹安全的直接對象引用給 跨站請求偽造 跨站請求偽造 巨全配置錯誤敏感數(shù)據(jù)泄露巨處理露和 恰當?shù)腻e誤產(chǎn)全配置錯誤函數(shù)級訪問控制缺失蓮效的身份認證和會話管不安全的加密存儲跨站請求偽造冷陌安全的加密存儲 陋有限制訪問已知漏洞組件的使用江陌安全的通信 睜輸層保護不足未驗證的重定向和轉(zhuǎn)發(fā);隧有限制訪問 磚驗證的重定向和
11、轉(zhuǎn)發(fā).國內(nèi)外研究現(xiàn)狀對于注入攻擊的研究,主要集中在檢測和防范兩個方面。在檢測方面,國內(nèi)學(xué)者提出了很多檢測方法和策略【.】,而國外研究更多一些,提出了不少有效的檢測工具,國內(nèi)的一些工具則主要集中在注入攻擊方面。.國外研究現(xiàn)狀注入攻擊最早在國外被發(fā)現(xiàn),國外針對該類攻擊的檢測研究的比較多,集中在兩個方面:漏洞檢測和攻擊防御。其中漏洞檢測是國內(nèi)研究嚴重不足的地方。針對注入的檢測和防范主要方法有以下幾種:.編碼機制【,主要通過四種方法對注入攻擊進行防范:編碼用戶的輸入內(nèi)容、檢測用戶的輸入類型、正模式匹配、識別輸入源。西南交通大學(xué)碩士研究生學(xué)位論文 第頁.靜態(tài)分析,是指通過在應(yīng)用程序中分析查詢語句以檢測和
12、防止注入攻擊,其重點不是檢測注入攻擊,而是驗證用戶的輸入類型以減少潛在的注入攻擊。.】通過字符串分析庫驗證實時環(huán)境下用戶所輸入的內(nèi)容,以防止注入攻擊。但是如果攻擊者使用正常的類型和語法,該方法就不能有效的發(fā)揮作用,而且該方法也需要經(jīng)常修改應(yīng)用程序。.動態(tài)分析,不同于靜態(tài)分析,它在不對應(yīng)用程序做任何修改的前提下,能【】使用輸入流分析和輸入驗證分析建立夠找到注入攻擊的漏洞。如一個白盒,對輸入數(shù)據(jù)進行白盒測試以查找注入漏洞。由于不需要進行應(yīng)用程序調(diào)整,所以動態(tài)分析方法有很大的優(yōu)勢,但該方法的缺點是,應(yīng)用程序中的漏洞必須是已經(jīng)得到開發(fā)者確認的漏洞,不能全部發(fā)現(xiàn)那些沒有預(yù)先定義的攻擊。.結(jié)合靜態(tài)分析和動
13、態(tài)分析。這種方法充分利用了它們各自的優(yōu)點,如通過對比靜態(tài)查詢和動態(tài)查詢來對注入攻擊進行檢測,”】提出使用一個控制流圖對比并分析存儲過程和運行時的用戶的查詢以檢測注入攻擊。.隨機指令集基于隨機指令集的方法,它允許開發(fā)人員使用隨機指令代替普通的關(guān)鍵字來創(chuàng)建查詢語句,具體的實現(xiàn)是在查詢提交給數(shù)據(jù)庫執(zhí)行之前,通過代理服務(wù)器攔截查詢并且將其關(guān)鍵字隨機化。一般情況下,攻擊者構(gòu)造的查詢是不會使用隨機指令集的,因此,注入的結(jié)果就會變成有語法錯誤的查詢語句。但是該方法的缺點是只要隨機值被預(yù)測出來,便不能繼續(xù)對注入攻擊的檢測。.國內(nèi)研究現(xiàn)狀在注入攻擊方面,國內(nèi)相對起步較晚,對注入漏洞檢測的研究比較少,大多是根據(jù)注
14、入攻擊的原理和相關(guān)技術(shù)提出一些防御模型,主要包括以下幾個方面【.】:.提出一些針對注入攻擊的防范模型。通常應(yīng)用程序負責對用戶輸入進行合法性驗證,客戶端則沒有相應(yīng)的驗證機制,針對這一情況,有學(xué)者提出在客戶端和服務(wù)器端對用戶輸入都進行驗證的雙重驗證機制。.用戶輸入的合法性驗證。比如提供白名單或者黑名單機制就可以有效過濾一些特殊字符。.屏蔽錯誤提示。為了探測目標站點的服務(wù)器類型或后臺數(shù)據(jù)庫類型,攻擊者提交特殊構(gòu)造的請求,如果服務(wù)器返回錯誤提示,則攻擊者會從錯誤提示中找到相關(guān)線索,以便進行下一步的攻擊。.加強服務(wù)器自身的安全,安全配置數(shù)據(jù)庫,限制普通用戶的訪問權(quán)限。.使用參數(shù)化語句。開發(fā)人員主要通過用
15、戶輸入構(gòu)造動態(tài)字符串提交后臺數(shù)據(jù)庫執(zhí)西南交通大學(xué)碩士研究生學(xué)位論文 第頁行,使用參數(shù)化語句來代替動態(tài)構(gòu)造字符串方法,可以有效減少注入攻擊。.現(xiàn)有注入漏洞測試系統(tǒng)介紹目前市場上的應(yīng)用安全漏洞檢測產(chǎn)品基本上來自國外,如的、等由于是收費軟件,且價格較貴,操作也比較復(fù)雜,一般的中小企業(yè)無疑是負擔不起的。免費的瀏覽器插件 ,盡管能有效檢測網(wǎng)頁的表單項,但對動態(tài)的檢測無能為力。國內(nèi)的產(chǎn)品則是注重滲透攻擊,在漏洞檢測方面顯然存在不足之處。著名的和,包括掃描注入點、注入分析、遍歷網(wǎng)站目錄、上傳文件、獲取后臺管理權(quán)限等功能,是一款很優(yōu)秀的黑客工具。以下是幾種主流產(chǎn)品的介紹【矧:軟件名稱:開發(fā)者:運行平臺:/下載
16、地址:/././主要作用:通過網(wǎng)絡(luò)爬蟲測試網(wǎng)站的安全性,檢測主流的應(yīng)用程序攻擊,如注入、跨站腳本等。缺點:對含參數(shù)的鏈接及框架式的應(yīng)用程序的分析存在不足,且測試參數(shù)固定。.軟件名稱:開發(fā)者:運行平臺:下載地址:/./主要作用:檢測應(yīng)用程序中是否存在注入漏洞。缺點:只能針對表單進行測試,而且是單頁面的分析;不能對含參數(shù)的鏈接及框架式的應(yīng)用程序進行安全檢測。.軟件名稱:開發(fā)者:運行平臺:下載地址:/./主要作用:檢測常見的應(yīng)用程序漏洞,包括注入,跨站等漏洞。缺點:由于它只能對待測應(yīng)用進行黑盒測試,因此對于那些熟悉應(yīng)用程序源西南交通大學(xué)碩士研究生學(xué)位論文 第頁代碼的開發(fā)者來說,發(fā)揮的作用很有限。.軟
17、件名稱:開發(fā)者:聯(lián)盟運行平臺:/下載地址:/./主要作用:檢測應(yīng)用程序中是否存在注入漏洞。類型的網(wǎng)站進行檢測,測試用例的設(shè)計較簡單。缺點:只能針對另外,還有網(wǎng)絡(luò)上公開的免費注入工具,如、等,可以查看相關(guān)網(wǎng)站信息:/./??傮w說來,這些產(chǎn)品能夠發(fā)現(xiàn)一些站點的漏洞,但也存在一些不足的地方:.掃描針對性差,有一定的盲目性,浪費了系統(tǒng)的資源,導(dǎo)致掃描的效率不高。.漏洞測試用例比較簡單,對一部分頁面的檢測可能會出現(xiàn)差錯,結(jié)果導(dǎo)致誤報率增加。.國內(nèi)的產(chǎn)品基本上是重視入侵,忽視檢測,雖然入侵也能夠發(fā)現(xiàn)目標系統(tǒng)的一些漏洞,但同時很可能忽視了其它漏洞的存在。.存在掃描盲點,忽略了對一些孤立網(wǎng)頁的掃描,或是只能對
18、單個網(wǎng)站進行掃描。因此設(shè)計并實現(xiàn)一個能夠?qū)W(wǎng)站進行全面而又準確的注入漏洞掃描系統(tǒng)是必要的。這樣的系統(tǒng)針對性強,專注于注入漏洞,著重于檢測,而非滲透攻擊,測試用例較豐富,能夠有效檢測出網(wǎng)站潛在的注入漏洞。.知識介紹由于應(yīng)用是注入攻擊發(fā)生的平臺,因此了解的相關(guān)知識,能夠更好地認識注入攻擊。.曲應(yīng)用架構(gòu)應(yīng)用通過瀏覽器發(fā)送請求到服務(wù)端,在服務(wù)器端對請求做出響應(yīng)后,將處理后的結(jié)果以用戶能識別的形式返回到瀏覽器端。通常一個應(yīng)用程序由以下三層結(jié)構(gòu)組成【,如圖.所示:西南交通大學(xué)碩士研究生學(xué)位論文第頁邏轔綏 數(shù)據(jù)聯(lián)裟冢緩一一。圖? 應(yīng)用架構(gòu)三層模型.表示層表示層表示用戶接口部分,是用戶與系統(tǒng)交互的界面。該層負
19、責接收用戶的輸入,在對其進行必要的檢查后,再傳遞給中間層,中間層將處理后的結(jié)果以用戶能識別的方式返回到表示層。.中間層也稱為業(yè)務(wù)邏輯層,通常由服務(wù)器和應(yīng)用服務(wù)器組成。應(yīng)用的功能也主要由該層體現(xiàn)出來,顯然是整個分層模型中最重要的一層。這一層一方面為表示層提供功能調(diào)用,另一方面它也調(diào)用數(shù)據(jù)層提供的功能來連接和訪問數(shù)據(jù)庫。.數(shù)據(jù)層數(shù)據(jù)層主要是實現(xiàn)應(yīng)用程序與數(shù)據(jù)庫的交互,應(yīng)用程序在連接數(shù)據(jù)庫成功后,通過方式向數(shù)據(jù)庫提出數(shù)據(jù)處理請求,對其中的相關(guān)數(shù)據(jù)進行查詢、更新、刪除等操作,并將處理后的結(jié)果提交給服務(wù)器,再由服務(wù)器返回給客戶端。.應(yīng)用安全測試對于系統(tǒng)來說,由于其開發(fā)周期較短,開發(fā)人員技術(shù)水平參差不齊,
20、所以系統(tǒng)代碼存在安全缺陷的可能性很大,這里的缺陷也可稱為漏洞或。在漏洞未被非法利用的情況下,系統(tǒng)仍能正常工作,似乎看起來與沒有漏洞的系統(tǒng)一樣。一旦漏洞被黑客利用,后果可能是災(zāi)難性的。應(yīng)用安全測試,是以發(fā)現(xiàn)系統(tǒng)本身存在的漏洞為目的。不同于普通的功能測試,該類測試通常是模擬攻擊者的行為,用到的測試用例也是系統(tǒng)正常使用時不可能出現(xiàn)的,或者說不允許使用的非法輸入【。普通功能測試的重點在于驗證系統(tǒng)本身的功能是否達到系統(tǒng)設(shè)計的功能需求,而安全測試的重點則是盡力發(fā)現(xiàn)系統(tǒng)自身是否存在漏洞,漏洞本身的存在一般不影響系統(tǒng)的正常工作,也就是說不影響對系統(tǒng)功能的使用。,習(xí)安全測試,是一種著重于發(fā)現(xiàn)系統(tǒng)被入侵、滲透的深
21、層次問題,著眼于提前修復(fù)系統(tǒng)存在的安全漏洞,是一種積極的防忠于未然的做法【】。而傳統(tǒng)的防火墻、等只是作為被動防御的手段,只能系統(tǒng)遭受攻擊時才會發(fā)揮作用,只有將二者結(jié)合起來使用,才能更好地保護系統(tǒng)。西南交通大學(xué)碩士研究生學(xué)位論文 第頁曼曼曼鼉曼曼皇曼曼皇曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼鼉曼曼曼曼蔓曼曼曼曼曼曼曼曼曼 皇苧曼曼鼉曼窟曼皇蔓曼曼曼曼曼曼皇曼曼.本文的主要研究內(nèi)容本文主要研究了注入攻擊技術(shù)和注入漏洞檢測技術(shù),在此基礎(chǔ)上設(shè)計了應(yīng)用注入漏洞測試系統(tǒng)。系統(tǒng)首先對目標站點進行爬蟲,得到可能含有漏洞的站點列表,然后隨機選擇一個,在不影響網(wǎng)站正常運作的前提下,從攻擊者的角度對目標站點進行滲
22、透攻擊,最后得到掃描評估報告。以便在網(wǎng)站未遭受真正的攻擊之前,對其進行漏洞修補。主要內(nèi)容如下:.研究注入相關(guān)攻擊技術(shù)與防御技術(shù)。.在研究現(xiàn)有漏洞測試方法的基礎(chǔ)上,提出了一種改進的漏洞測試方法。.設(shè)計并實現(xiàn)應(yīng)用注入漏洞測試系統(tǒng)。.論文的結(jié)構(gòu)全文共分為六章:第一章緒論,介紹了課題的研究背景、研究意義、研究內(nèi)容以及的相關(guān)知識。第二章注入攻擊技術(shù)研究,介紹了注入攻擊的概念、特點、危害性、攻擊的過程以及防范注入攻擊的對策,在分析現(xiàn)有防范對策存在不足的基礎(chǔ)上,提出了一種綜合的注入防御框架。第三章注入漏洞檢測技術(shù)研究,首先介紹了傳統(tǒng)的漏洞檢測方法,并在分析其優(yōu)點與不足的基礎(chǔ)上,提出了一種改進的漏洞檢測方法。
23、第四章應(yīng)用注入漏洞測試系統(tǒng)總體設(shè)計,主要對系統(tǒng)的需求分析、整體結(jié)構(gòu)設(shè)計以及開發(fā)環(huán)境進行了說明。第五章應(yīng)用注入漏洞測試系統(tǒng)的實現(xiàn),按照對系統(tǒng)結(jié)構(gòu)的整體設(shè)計,實現(xiàn)各主要功能模塊,并對實現(xiàn)后的系統(tǒng)進行測試。第六章,總結(jié)與展望,對課題進行總結(jié),分析其中的不足,提出下一步的工作。西南交通大學(xué)碩士研究生學(xué)位論文 第頁第二章注入攻擊技術(shù)研究只有對攻擊技術(shù)有了足夠的認識,才能有針對性提出一些檢測方法。本章就注入攻擊的相關(guān)理論,做了詳細的分析和總結(jié)。.注入攻擊概述.注入攻擊的概念是主流數(shù)據(jù)庫使用的標準語言【】,大多數(shù)應(yīng)用都需要與數(shù)據(jù)庫進行交互。盡管不同的應(yīng)用可能由不同的編程語言實現(xiàn),但都提供了可編程的方法與數(shù)據(jù)
24、庫進行連接和交互。注入是指應(yīng)用程序未對用戶輸入進行過濾和有效的驗證,允許攻擊者在用戶輸入的查詢字符串后或是表單域里插入特殊的字符,構(gòu)造動態(tài)的語句,提交數(shù)據(jù)庫執(zhí)行,以達到注入的目的。注入漏洞是一種針對數(shù)據(jù)庫攻擊的漏洞,而不是數(shù)據(jù)庫本身存在漏洞,也不是服務(wù)器端或操作系統(tǒng)的漏洞,而是屬于應(yīng)用程序漏洞之。注入攻擊就其本質(zhì)而言,利用語法,針對應(yīng)用程序自身可能存在的漏洞,“當攻擊者能夠操作數(shù)據(jù),往應(yīng)用程序中插入一些語句時,注入攻擊就發(fā)生了,【。 攻擊者通過在查詢操作中插入一系列的將注入定義為【:語句到應(yīng)用程序中來操作數(shù)據(jù)。微軟技術(shù)中心從兩個方面進行了描述【】:腳給出本注入式的攻擊;惡意用戶輸入用來影響被執(zhí)
25、行的腳本。了注入的一個特征:“從一個數(shù)據(jù)庫獲得未經(jīng)授權(quán)的訪問和直接檢索”。.注入攻擊產(chǎn)生的原因應(yīng)用程序自身存在缺陷應(yīng)用程序自身存在缺陷是導(dǎo)致注入攻擊發(fā)生的主要原因。應(yīng)用開發(fā)周期短,加上開發(fā)人員的安全意識不夠或是安全編程經(jīng)驗不足,造成應(yīng)用程序存在漏洞的情況屢見不鮮。很多開發(fā)人員在開發(fā)的過程中,未對用戶的輸入進行合理有效的過濾和驗證,攻擊者通過在的請求字符串或表單域里輸入惡意的字符以構(gòu)造特殊的語句,提交后臺數(shù)據(jù)庫執(zhí)行,以達到其特殊目的。開發(fā)人員使用構(gòu)造動態(tài)字符串技術(shù)動態(tài)構(gòu)造字符串是一種編程技術(shù),它允許開發(fā)人員在應(yīng)用運行的過程中,根據(jù)用戶的輸入動態(tài)構(gòu)造語句。動態(tài)語句是在運行過程中構(gòu)造的,它根據(jù)用戶輸
26、入的不同條件得到不同的語句。而語句是在應(yīng)用配置的數(shù)據(jù)中被執(zhí)行,產(chǎn)生用戶所需要的信息,因此開發(fā)人員可以使用動態(tài)來創(chuàng)建通用、靈活的應(yīng)用。從表面上看來,動態(tài)技術(shù)使得應(yīng)用的創(chuàng)建變得簡單,然而也帶來了潛在的安西南交通大學(xué)碩士研究生學(xué)位論文 第 頁全隱患。當提交給后臺數(shù)據(jù)庫執(zhí)行的語句含有單引號時,會將單引號解析成代碼與數(shù)據(jù)間的分界線:假定單引號外面的內(nèi)容都是需要運行的代碼,而單引號里面的內(nèi)容都是數(shù)據(jù)。這時,我們只需在或網(wǎng)頁的表單字段輸入一個單引號,在被提交后,可以根據(jù)站點的響應(yīng)對是否存在注入漏洞作出快速判斷。下面是一個簡單應(yīng)用的源代碼,它將用戶輸入直接傳遞給動態(tài)創(chuàng)建的語句并執(zhí)行:、/一牛 一”】;:這是因
27、為單引號字符數(shù)據(jù)庫解析成了字符串分隔符,所以才會拋出上面的異常。在注入攻擊中,攻擊者往往使用該字符轉(zhuǎn)義開發(fā)人員的查詢以便構(gòu)造自己的查詢。既然單引號字符會被解析成字符串分隔符并作為代碼與數(shù)據(jù)間的分界線,可能有人認為只需對用戶輸入驗證、屏蔽單引號,就可以避免被注入,實際上很多應(yīng)用開發(fā)人員已經(jīng)陷入這種錯誤的思維模式。在處理數(shù)字數(shù)據(jù)時,不需要使用單引號把數(shù)據(jù)括起來,否則數(shù)字數(shù)據(jù)會被當做字符串處理。下面是一個簡單應(yīng)用的源代碼,它接受用戶的輸入并構(gòu)造動態(tài)語句。該腳本通過接受一個數(shù)字參數(shù)來顯示用戶的信息。假設(shè)該查詢參數(shù)是整數(shù),故在輸入的時候沒有加單引號。/”】;/ .;數(shù)據(jù)庫配置不當數(shù)據(jù)庫的配置不當也會引發(fā)
28、該類攻擊。就數(shù)據(jù)庫本身而言,由于它有較為完善的身份認證機制,一般情況下外界是無法直接訪問的,因此很難實施入侵。但是當數(shù)據(jù)庫配置在系統(tǒng)中時,如果權(quán)限設(shè)置不當,給予的權(quán)限較高,甚至賦予管理員的權(quán)限,則攻擊者可以任意操作數(shù)據(jù)庫中的數(shù)據(jù)。.注入攻擊的特點目前注入攻擊成為網(wǎng)絡(luò)攻擊的主要來源,在某些情況下注入漏洞的風(fēng)醫(yī).要遠高于所有其它漏洞,有以下特點【:.隱蔽性高只要攻擊者以合法用戶的身份登錄系統(tǒng)并使用其提供的服務(wù),那么注入跟普西南交通大學(xué)碩士研究生學(xué)位論文 第頁通的.網(wǎng)頁訪問差不多。由于該類攻擊使用的是協(xié)議的端口,普通的防火墻不對其告警,如果攻擊者不故意留下痕跡,而管理員又沒有查看后臺數(shù)據(jù)庫日志的習(xí)慣
29、,可能系統(tǒng)被入侵很長時間也不會被發(fā)覺。.廣泛性目前絕大部分系統(tǒng)都需要與數(shù)據(jù)庫進行連接,因此只要是需要提交數(shù)據(jù)到數(shù)據(jù)庫執(zhí)行的應(yīng)用程序,都有可能存在注入漏洞。.技術(shù)難度低攻擊者無需熟悉語法,甚至在不了解語法的情況下,使用黑客工具就可實施簡單的注入攻擊。當然資深的攻擊者,必須熟練掌握語法,才能保證成功實現(xiàn)注入的概率。.危害大倘若攻擊者成功實現(xiàn)注入攻擊,則可竊取數(shù)據(jù)庫中的敏感信息,攻擊者可以隨意修改、刪除數(shù)據(jù)庫中的數(shù)據(jù)。更為嚴重的是,如果數(shù)據(jù)庫設(shè)置權(quán)限較低,在攻擊者成功提升權(quán)限后,甚至可以滲透操作系統(tǒng),獲取系統(tǒng)的管理權(quán)限。.網(wǎng)絡(luò)爬蟲網(wǎng)絡(luò)爬蟲是一個網(wǎng)頁自動抓取程序,它為搜索引擎從互聯(lián)網(wǎng)上下載網(wǎng)頁,是搜索
30、引擎的重要組成部分【。它的主要任務(wù)是,從訪問網(wǎng)站的主頁開始,下載主頁的源碼,并提取其中的鏈接,再打開新的鏈接,下載子網(wǎng)頁的源碼,繼續(xù)提取其中的鏈接,不斷重復(fù)上述過程,直到滿足系統(tǒng)的某種標準為止【】網(wǎng)絡(luò)爬蟲流程如圖.:西南交通大學(xué)碩士研究生學(xué)位論文 第 頁網(wǎng)絡(luò)爬蟲流程圖網(wǎng)頁抓取策略,可以分為深度優(yōu)先遍歷、廣度優(yōu)先遍歷以及最佳優(yōu)先遍歷三種方式。本文設(shè)計的網(wǎng)絡(luò)爬蟲模塊選擇廣度優(yōu)先策略【,在模塊的實現(xiàn)中采用多線程并發(fā)爬行的設(shè)計,應(yīng)開啟多個爬行線程并讓等待中的線程阻塞,既能充分地利用閑置的網(wǎng)絡(luò)資源,又盡可能地減少了同時占有的線程數(shù)量,縮短線程執(zhí)行周期,從而提高了搜索的效率。.注入攻擊技術(shù)原理.注入攻擊的
31、方式注入攻擊的方式雖然有很多種,但就其本質(zhì)而言是一樣的,攻擊者都是利用用戶的輸入,構(gòu)造特殊的語句,提交后臺數(shù)據(jù)庫執(zhí)行,以達到其特殊目的。主要有以下幾種方式:重言式攻擊這種攻擊是攻擊者在語句的查詢條件中注入代碼實現(xiàn)的,使得條件字句的結(jié)果恒為真,目的通常是為了繞開服務(wù)器對用戶的身份認證,識別可注入的參數(shù)和提取數(shù)據(jù)庫中的數(shù)據(jù)。邏輯錯誤的查詢攻擊西南交通大學(xué)碩士研究生學(xué)位論文 第 頁 攻擊者故意用注入語句導(dǎo)致數(shù)據(jù)庫出現(xiàn)類型錯誤、語法錯誤或是邏輯錯誤,目的是識別可注入的參數(shù)、判斷數(shù)據(jù)庫的關(guān)系結(jié)構(gòu),這是攻擊者進行其他攻擊的前提條件。查詢攻擊關(guān)鍵字可以連接兩個不同的子句,在將兩個語句的查詢結(jié)果排序以后,刪除
32、重復(fù)的記錄以后,得到最后的結(jié)果集。攻擊者通過構(gòu)造查詢,并將其注入到正常的語句中,從而得到自己所需的信息。利用存儲過程攻擊存儲過程分為兩種:系統(tǒng)存儲過程和用戶自定義的存儲過程。系統(tǒng)存儲過程主要是為了方便系統(tǒng)管理員管理數(shù)據(jù)庫,比如了解數(shù)據(jù)庫信息、數(shù)據(jù)庫對象以及擴展數(shù)據(jù)庫的功能等。只要攻擊者確定了應(yīng)用后臺數(shù)據(jù)庫的類型,就能夠構(gòu)造命令來執(zhí)行數(shù)據(jù)庫所提供的存儲過程。很多程序員錯誤地認為使用存儲過程可以幫助應(yīng)用避免注入攻擊,而實際上存儲過程和普通的程序一樣存在風(fēng)險。附帶查詢攻擊在不改變原有語句的前提下,攻擊者嘗試在其后面加入新的查詢語句。這種攻擊一般依賴于數(shù)據(jù)庫配置,如果數(shù)據(jù)庫的配置不支持單個字符串中包含
33、多個查詢語句,則很難發(fā)生該類攻擊。盲注由于服務(wù)器沒有返回具體的數(shù)據(jù)或信息,則只能針對某一參數(shù)嘗試不同的輸入,根據(jù)相應(yīng)的結(jié)果來判斷該參數(shù)是否可以注入。替換編碼攻擊有不少應(yīng)用系統(tǒng)都加入防注入程序,攻擊者為了躲避防注入程序的過濾規(guī)則,就會對一些特殊字符進行或編碼,而不是直接使用特殊字符本身。.注入攻擊的過程注入攻擊一般分為以下幾個步驟【】:.尋找注入點注入點是指存在注入漏洞的網(wǎng)頁。靜態(tài)網(wǎng)頁不存在注入,通常是以或者結(jié)尾的。只有帶有查詢參數(shù)和需要訪問數(shù)據(jù)庫的動態(tài)網(wǎng)頁才有可能存在注入漏洞,也即那些帶有“”的。由于請求有和兩種方式,所以注入攻擊有注入和注入兩種方式。根據(jù)數(shù)據(jù)庫表本身的數(shù)據(jù)類型,可以把注入點類
34、型分為數(shù)字型、字符型和搜索型。數(shù)據(jù)類型的限制在數(shù)據(jù)庫創(chuàng)建表的時候就會出現(xiàn),具有不同數(shù)據(jù)類型的數(shù)據(jù)庫通常是不同的數(shù)據(jù)庫。比如就有很多自身的數(shù)據(jù)類型,但不管怎么去分類,常用的查詢數(shù)據(jù)類型總是以數(shù)字和字符來加以區(qū)分。.獲取數(shù)據(jù)庫類型信息西南交通大學(xué)碩士研究生學(xué)位論文 第頁曼曼蔓曼曼曼曼鼉曼曼曼曼曼皇曼曼曼皇曼鼉皇曼曼鼉曼曼皇曼曼曼一.一一一一一舅不同的數(shù)據(jù)庫,注入方法也不大一樣。就說和,它們都有自己的系統(tǒng)表,的系統(tǒng)表是,普通用戶有讀取表中內(nèi)容的權(quán)限。而的系統(tǒng)表是,普通用戶卻沒有權(quán)限讀取表中內(nèi)容。此外使用“,作為數(shù)據(jù)庫系統(tǒng)管理員賬戶,如果攻擊者確認應(yīng)用使用的是數(shù)據(jù)庫,可能采用默認口令破解手段去獲取系統(tǒng)
35、管理員賬戶信息。.猜測數(shù)據(jù)庫表名,字段名等敏感信息猜測數(shù)據(jù)庫表名、字段名不是一件簡單的任務(wù)【,為了提高猜解的成功率,需要在確認待破解表名和字段名的長度后,再進一步判斷表名和字段名。具體做法是在正常的后面添加對應(yīng)的測試語句,在請求提交后,根據(jù)服務(wù)器的響應(yīng)來做判斷。若提交后能得到正常的網(wǎng)頁內(nèi)容,則說明攻擊者假設(shè)的表名或字段名是正確的;反之就是錯誤的,就需要做進一步的假設(shè)繼續(xù)提交測試語句,直到能成功顯示網(wǎng)頁內(nèi)容時為止。.尋找系統(tǒng)管理后臺入口通常系統(tǒng)的注冊用戶只能以前臺登錄的方式去訪問服務(wù)器,系統(tǒng)管理后臺的入口地址是不向普通用戶開放的。然而很多系統(tǒng)管理后臺的入口地址大同小異,都是有跡可循的。在成功進入
36、管理后臺后,就可以利用之前得到的管理員信息登錄系統(tǒng),這時相當于掌握了整個系統(tǒng)的管理權(quán)限。.注入攻擊示例就可以判斷第一步:提交如下語句:/.該網(wǎng)站是的結(jié)構(gòu),如圖.:西南交通大學(xué)碩士研究生學(xué)位論文 第 頁二 .麓。一 , 。¨愛÷÷÷÷。;。贏囊麓曩妻纛惹?誓璧望曼卿國孿鼯國蠢羞別.塑壘墮羔堡豎:二:.卜壘羔二.曝一。.?參彩¨歪萄否“羲:夠圖攻擊過程步驟一第二步:需要判斷數(shù)據(jù)庫中的表結(jié)構(gòu),提交如下語句:/.木問,若返回網(wǎng)頁正常如圖,就表明存在一衣。囂戮戮戮琵鬣褫.鰱豳 描二÷.。一日。?;?一,醫(yī)贏麗意面瓦蕊善鬲蓐五萬夏磊習(xí)鬻
37、匿匱§贏?一骱幫助進 。:疊一囊文件蚴 嫡輯哩查著收稼夾氈 豆 ,童一童。, ??!?,.¨一。 、¨ , 。 。一落獺囊爨蠹鬣戳嬲轉(zhuǎn)臻黲黧滋自黝灝咎.鬟?童:二緩謄委。黲荔瑟瑟 豢頁面,蜜全鰳工魚嘞一翱黲.一 ,浚,彩渤獺一琵卜澎謄:;輛豢疊一之一。毒陵公圈一,黲,. 森;瓣三縫續(xù)輟:.業(yè)務(wù)鍘羧三維槿擬隨著計篁機固形圖像處理技術(shù)和處理能力的發(fā)展.三維梗擬技術(shù)的應(yīng)用越來越廣;乏,苴應(yīng)用領(lǐng)域電:商務(wù)貉幾乎囊括了軍事、教育、醫(yī)學(xué)、制造業(yè)、科學(xué)實驗等所有領(lǐng)域.太古軟件公司利用萁技術(shù)優(yōu)勢.開發(fā)了墩掇瑾變?nèi)S消防模擬訓(xùn)練智;軟件系蔓殼、城市梗擬系統(tǒng)等產(chǎn)品. 三維肖防梗損訓(xùn)練
38、智能軟件萊妻充三維消防梗擬訓(xùn)練智能軟件系兢是面向消防部隊指揮員以滅火技術(shù)、滅火戰(zhàn)術(shù)和火勢動態(tài)發(fā)展過產(chǎn)品鼴示程等為基礎(chǔ)的三維消防梗擬訓(xùn)練軟件系統(tǒng).用于消防部隊指揮員滅火作戰(zhàn)的訓(xùn)練.提出利用計苴機技術(shù).潮潮?.;.?譬罐建立一套以交互方式模擬接警、洞度、觀場指揮全過程梗擬訓(xùn)練累統(tǒng).采用了人工智能、專家系統(tǒng)、虛二娥攆叛豁擬觀實、多媒體等先進的計簟機理論與應(yīng)用技術(shù)?解決了消防部隊指揮員實戰(zhàn)訓(xùn)練無法解決的系列閻胚.鞋 劈纜孝漫赫.一.:.二.:.。.,.。.一。 。疊 瞎簍¨。,鶼奎尊地一“卜型.墮.堡壘竺.:.望壁壘壘垡塑塑耋堡蘭蘭筌鯊墮互二二二:二二壁竺墮墾里墼塑變圖攻擊過程步驟二第 頁西
39、南交通大學(xué)碩士研究生學(xué)位論文第三步:判斷數(shù)據(jù)庫表中字段的結(jié)構(gòu),提交如下語句:/.,若網(wǎng)頁正常返回如圖,/;就表明表中存在這兩個字段。蒺鬻霾鬻鬻寥捌零:攀匿蓐面蓼苓蕁幕簿萬曩墨習(xí)墮文件理綻輯癯 查看也 收藏夾曲王具瞧 幫助趣“ ?。÷。, 彈 : 。甏卻姆溺籀越黧瑟磣辮孥。戮霉戮努辮。? 。.。.穩(wěn):豳、暖薊頁面;安壘氌工具迨穆,卜綴每豫幕嗨 磐。?”?一.×韻苒隈公司髟。譬乞霉三縫綆擬照務(wù)捌表三維梗擬隨著計篡機圖形圖像處理技術(shù)和處理能力的笈展,三維模擬技術(shù)的應(yīng)用越來越廣泛,茸應(yīng)用領(lǐng)域籀幾乎囊括了軍事、教育、醫(yī)學(xué)、制造業(yè)、科學(xué)買驗等所有領(lǐng)域.太古歇件公司平用萁技術(shù)優(yōu)勢,開發(fā)了
40、虛掇理實三維消防梗擬訓(xùn)練智能軟件系統(tǒng)、城市梗擬系統(tǒng)等產(chǎn)品. 三維消防梗擬訓(xùn)練智能軟件系統(tǒng)三維消防梗擬訓(xùn)練智能軟件系統(tǒng)是面向消防部隊指揮員以滅火技術(shù)、滅火戰(zhàn)術(shù)和火努動態(tài)發(fā)展過產(chǎn)晶媵示程等為基礎(chǔ)的三維消防梗擬訓(xùn)練軟件系統(tǒng).用于消防部隊指揮員滅火作戰(zhàn)的訓(xùn)練.提出利用計簋機技術(shù)建立一套以交互方式梗擬接警、調(diào)度、現(xiàn)場指揮全過程模擬訓(xùn)練系統(tǒng).采用了人工智能、專家系統(tǒng)、虛三縫摸掇擬現(xiàn)實、多嬪體等先進的計簋機理論與應(yīng)用技術(shù),解決了消防部隊指揮員實戰(zhàn)訓(xùn)練無法解決的系列問題.瞧 努憋聲愛滲: ,。?疊董 。;簟譬矧簦鍪薯蠹警簍奠謄隆墮型國;孝黲黝塾也蘭:.塑:.盤二。.一二二。二.匱?。露摻瞬溪西爹薔?孬蠆圖攻擊
41、過程步驟三第四步:判斷管理員賬戶信息的長度,包括用戶名和密碼。首先判斷管理員賬戶的長度,提交語句:/.,提交后如果網(wǎng)頁返回正常,說明管理員賬戶的長度是。第五步:使用折半查找法猜解管理員賬戶信息的內(nèi)容,提交語句印朋呶岫., 確認后面各位的內(nèi)容。第六步:尋找網(wǎng)站管理后臺的入口地址,利用上面得到的賬戶信息登錄網(wǎng)站后臺管理系統(tǒng)。網(wǎng)站管理后臺如圖.:,?,確認第?位后,順序.西南交通大學(xué)碩士研究生學(xué)位論文 第 頁匾盈匿毯墨孤匿鍾孤重墨墨圓雹霍豳摩鬟豳嬲溺緩綴綴綴綴戮緩綴蒸緩戮藜毒捌捌雹飚。匝露畫畫霹燕?刁;蜃零囂眵蕁?露幕助逛她 編輯毽查看瞧收藏夾?工具。茹 ¨ ; ?;,一。¨
42、168;落嘲曦鎏裕謄獬蘩麟鬻熬麟礦一國網(wǎng)站配置圖三管理首頁 退出系統(tǒng)固歡迎你:;:。:文章管理動惑管理 動老添加 簍簡介管理辯凌蠹賽 爭書擺聘管理在緩演示 專羔豫戶管強 ÷。系統(tǒng)信息版權(quán)所有:設(shè)計制作:,技術(shù)支持:,二:.,:.:一¨薯 。 :一圖?攻擊過程步驟四.注入攻擊的防范措施系統(tǒng)存在注入漏洞的根本原因在于應(yīng)用根據(jù)用戶的非法輸入,動態(tài)構(gòu)造語句并提交給后臺數(shù)據(jù)庫解析執(zhí)行。因此,在程序中可以通過對用戶輸入數(shù)據(jù)進行有效的驗證、嚴格控制數(shù)據(jù)庫權(quán)限等方法來加以防范】。.現(xiàn)有的主要防范措施使用參數(shù)化語句參數(shù)化查詢是指在語句中嵌入一個或多個參數(shù)的查詢,這些嵌入到用戶輸入中的參數(shù)不會
43、被解析成命令而執(zhí)行,并且代碼不存在被注入的可能性。這種方法比傳統(tǒng)的使用字符串構(gòu)造技術(shù)來動態(tài)構(gòu)造并執(zhí)行語句的方法擁有更高的執(zhí)行效率,而且也大大提高了安全性。.提供了很多不同的訪問接口,它們可以通過.框架來參數(shù)西南交通大學(xué)碩士研究生學(xué)位論文 第 頁化語句,此外.還具備對提供的參數(shù)進行迸一步檢查的功能。根據(jù)正在訪問的數(shù)據(jù)庫類型的不同,.提供了四種不同的數(shù)據(jù)提供程序,如表.所示:表 .提供的四種數(shù)據(jù)提供程序數(shù)據(jù)提供程序 參數(shù)語法. .:. 帶問號占位符的定位參數(shù). 帶問號占位符的定位參數(shù)以下是一個易受攻擊的示例查詢,使用數(shù)據(jù)提供對其重寫為.格式的參數(shù)化語句:; “? 上“;,;/ ;.“”,.,.“,
44、., ;.“ ”】.“】;.;接下來使用數(shù)據(jù)提供程序重寫的同一格式的參數(shù)化語句:;:/?“:;,;/ .”,.,;.”,., ;.“”】;.“】;.;最后是使用數(shù)據(jù)提供程序重寫的同一格式的參數(shù)化語句:;西南交通大學(xué)碩士研究生學(xué)位論文 第 頁皇曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼皇蔓曼曼蔓曼蔓曼曼皇 鼉蔓曼皇鼉皇曼皇曼皇曼皇曼曼曼皇曼曼曼曼曼曼曼曼曼曼曼曼曼曼曼璺曼曼曼皇曼曼皇曼一 ”;宰 /.“”,., ;.“”,.,;.“”】.“】;.;檢驗用戶輸入的合法性前面提到的使用參數(shù)化查詢而避免使用動態(tài)來阻止注入的方法,顯然它不能作為唯一用于應(yīng)對注入的控制手段。檢驗應(yīng)用接收到的輸入的合法性也是一種強大的控
45、制手段。我們知道有兩種驗證用戶輸入的方法:白名單和黑名單,如果用戶的輸入包含了應(yīng)用未定義的標準內(nèi)容或是使用了應(yīng)用禁止的非法內(nèi)容,則會提示用戶要進行正確的輸入。此外還可以限制表單或查詢字符串的最大輸入長度。白名單驗證是只接受已有的良好輸入的操作,接受輸入后,還需驗證輸入是否符合所期望的的類型、大小、長度、數(shù)字范圍或其他格式標準。黑名單驗證是只拒絕已有的不良輸入的操作,它根據(jù)用戶的輸入內(nèi)容來查找是否存在已知的不良字符、字符串或模式。如果輸入中包含明顯的惡意內(nèi)容,則黑名單驗證會提示重新輸入。但是由于未知的不良字符列表很大,因此會造成黑名單內(nèi)容列表過大,檢索起來效率不高且不完整,而且及時更新這些列表很
46、困難。的優(yōu)勢在于提供了很多用于輸入驗證的內(nèi)置控件,其中以商控件和控斜最為常用。在應(yīng)用中使用這些控僻可以在客戶端對用戶的輸入進行驗證。下列代碼是使用控件驗證用戶名的示例,規(guī)定用戶名只能包含字母含大小寫并且長度介于到個字符之間?!啊薄?:“ “診使用錯誤提示屏蔽機制攻擊者往往通過提交構(gòu)造的語句,待服務(wù)器后臺處理后,若返回的網(wǎng)頁不正常就會出現(xiàn)錯誤提示,一般攻擊者都會從這些提示中得到有用的線索,為下一步的攻擊做準備。如果采用錯誤提示屏蔽機制的,攻擊者則不能獲取任何有用的信息。安全配置數(shù)據(jù)庫從本質(zhì)上看,注入攻擊的目標是后臺數(shù)據(jù)庫,因此保證它的安全非常有必要。西南交通大學(xué)碩士研究生學(xué)位論文 第頁常用措施有
47、以下幾點:限定應(yīng)用以較低權(quán)限訪問數(shù)據(jù)庫如果應(yīng)用傳遞給數(shù)據(jù)庫的所有語句都得到執(zhí)行的話,那么只要攻擊者控制了應(yīng)用提交的語句,就等于可以順利實施注入攻擊。顯然這樣的應(yīng)用有著巨大的安全風(fēng)險,就是因為數(shù)據(jù)庫分配給它的權(quán)限過大。比如說應(yīng)用使用某個內(nèi)置賬戶連接數(shù)據(jù)庫,而內(nèi)置賬戶有著強大的功能,可以在數(shù)據(jù)庫上執(zhí)行很多與程序無關(guān)的操作。應(yīng)該分配給應(yīng)用適合程序需求的權(quán)限,然后數(shù)據(jù)庫執(zhí)行與這種權(quán)限相對應(yīng)的操作,避免執(zhí)行超出這種權(quán)限的無關(guān)操作。就注入而言,這種關(guān)鍵性防御可顯著降低注入風(fēng)險,它在一定程度上限制了攻擊者利用易受攻擊的應(yīng)用訪問數(shù)據(jù)庫并執(zhí)行未經(jīng)授權(quán)的操作。使用存儲過程存儲過程是一組可以完成特定功能的語句的集合
48、,但需要在編譯和優(yōu)化后才可存放在數(shù)據(jù)庫里。由于存儲過程執(zhí)行效率高,能夠減少網(wǎng)絡(luò)流量的優(yōu)點,在應(yīng)用程序的開發(fā)中得到廣泛的使用。用戶只需指定存儲過程名稱和參數(shù)便可調(diào)用它,完成跟普通語句一樣的功能。因此可以把應(yīng)用程序涉及到的語句封裝到存儲過程中,并且只為它們賦予許可,禁止其它許可,如、等。加密敏感數(shù)據(jù)、保護數(shù)據(jù)庫中的敏感信息,不被非授權(quán)查看、更改,可以使用強大的加密技術(shù)它們進行加密處理。這樣即使攻擊者竊取了敏感信息,但也沒辦法直接獲取其中的真實內(nèi)容,還需費時費力去破解。就數(shù)據(jù)本身而言,如果不需要存儲,那么可以考慮用或一等哈希算法處理數(shù)據(jù)。使用哈希算法的優(yōu)勢在于它消除了與加密相關(guān)的密鑰管理問題。如果必
49、須存儲敏感數(shù)據(jù),則可以考慮或三重算法處理數(shù)據(jù)。不過這樣會產(chǎn)生一個如何保存密鑰的問題.能否把密鑰保存到一個攻擊者無法輕易訪河到的位置對應(yīng)用來說是個很大的挑戰(zhàn)。眾所周知的是,永遠別在客戶端存儲加密的密鑰,如果密鑰在運行時提供,并存放于服務(wù)器的內(nèi)存中才會比較理想。然而在很多企業(yè)級應(yīng)用環(huán)境中,在運行時產(chǎn)生密鑰通常很難實現(xiàn)或?qū)嵱?在服務(wù)器受保護的位置存放密鑰是個不錯的解決方法,此時攻擊者需要同時關(guān)注應(yīng)用服務(wù)器和后臺數(shù)據(jù)庫才能解密它,這樣無疑會加大破解的難度。.現(xiàn)有防范措施存在的不足以上介紹的針對注入的防范方法,在一定程度上能夠有效阻止一般的注入攻擊,但也有其局限性,主要體現(xiàn)在以下幾個方面:使用參數(shù)化語句
50、,雖然能夠保證用戶的輸入數(shù)據(jù)在傳遞給數(shù)據(jù)庫之前是未經(jīng)修改的,但是如果數(shù)據(jù)庫存儲有惡意的代碼或者存儲過程使用動態(tài)實現(xiàn),還西南交通大學(xué)碩士研究生學(xué)位論文 第頁是存在一定的風(fēng)險。驗證用戶輸入的合法性,通常使用白名單和黑名單方法。由于語法靈活多變,對于那些非法的特殊字符,由于存在很多變換的形式,因此要維護和更新白名單或黑名單也是一件很困難的事情。使用存儲過程,可以顯著提高數(shù)據(jù)庫的執(zhí)行效率,同時可以避免與程序無關(guān)的操作,但是存儲過程如果使用動態(tài)實現(xiàn),那么只要獲取了存儲過程的執(zhí)行權(quán)限,就可以任意地執(zhí)行其中的語句。安全配置數(shù)據(jù)庫,賦予應(yīng)用程序合理的權(quán)限,防止與程序本身無關(guān)的操作發(fā)生,雖然可以防范一部分攻擊,但前提是要保證應(yīng)用程序賬戶信息的安全。.一種改進的注入防范框架語言的靈活性,決定了注入攻擊的多樣性,任何一種單一的防范措施都不可能完全有效地阻止注入攻擊的發(fā)生。因此本節(jié)提
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 《巨匠童心》課件
- 《童年回憶的》課件
- 《客戶梳理技巧》課件
- 2024年黑龍江農(nóng)業(yè)工程職業(yè)學(xué)院單招職業(yè)技能測試題庫標準卷
- 四川省南充市2025屆高三上學(xué)期高考適應(yīng)性考試(一診)英語試卷含答案
- 單位管理制度匯編大全職員管理
- 單位管理制度合并選集人力資源管理
- 單位管理制度分享合集【人力資源管理篇】
- 單位管理制度分享大合集【人力資源管理篇】
- 單位管理制度范例匯編職員管理篇十篇
- 2021-2022學(xué)年四川省南充市九年級(上)期末數(shù)學(xué)試卷
- 2024政府采購評審專家考試題庫附含答案
- 《商務(wù)跟單工作流程》課件
- 中小學(xué)膳食經(jīng)費管理的目標與原則
- 2024高血壓的診斷與治療
- 重度子癇前期產(chǎn)后護理查房
- 制作課件wps教學(xué)課件
- 北京市海淀區(qū)2023屆高三上學(xué)期期末考試化學(xué)試卷 附解析
- MCN機構(gòu)簽約合同范本
- 2024年滬教版一年級上學(xué)期語文期末復(fù)習(xí)習(xí)題
- 2024廣東省廣州市天河區(qū)中考一模語文試題含答案解析
評論
0/150
提交評論