• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于自動(dòng)化滲透測(cè)試的分析

      2015-08-10 10:30:24李浩杰裘國永
      電子設(shè)計(jì)工程 2015年22期
      關(guān)鍵詞:掃描器誤報(bào)覆蓋率

      李浩杰,裘國永

      (陜西師范大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,陜西 西安 710119)

      Web應(yīng)用程序是互聯(lián)網(wǎng)上傳遞信息最流行的方式。由于其分布性和開放性的特點(diǎn),使得Web應(yīng)用程序面臨諸多潛在的安全攻擊。例如SQL注入[1]、文件包含、目錄遍歷、參數(shù)篡改等,可能管理員配置了正確的防火墻和WAF,但是這些安全防御軟件仍然存在策略性的繞過。因此,需要定期的對(duì)Web應(yīng)用進(jìn)行掃描,由于手動(dòng)測(cè)試的復(fù)雜性和費(fèi)時(shí)的特點(diǎn),自動(dòng)化的滲透測(cè)試工具的出現(xiàn)就可以幫助我們完成這項(xiàng)工作。主要有兩種方法來測(cè)試Web應(yīng)用程序的漏洞:白盒測(cè)試和黑盒測(cè)試。白盒測(cè)試:也就是對(duì)Web應(yīng)用程序源代碼的分析。這可以通過手動(dòng)或者使用像FORTIFY這樣的代碼分析工具來完成。黑盒測(cè)試:在代碼執(zhí)行過程中查找漏洞。這種方法也被稱為滲透測(cè)試,掃描器并不清楚Web應(yīng)用程序的內(nèi)部信息,它是通過在Web的HTTP請(qǐng)求中使用模糊測(cè)試技術(shù)。本論文就是通過對(duì)比3款自動(dòng)化滲透測(cè)試工具掃描的結(jié)果,找到Web應(yīng)用程序中常見的安全漏洞,并分析使用工具掃描漏洞的一些局限性。

      1 試驗(yàn)內(nèi)容

      在正式的試驗(yàn)之前,要先明確一些關(guān)注的重點(diǎn):

      1)掃描器檢測(cè)到的漏洞的覆蓋率。

      2)檢測(cè)結(jié)果中的誤報(bào)[2]。

      3)Web應(yīng)用程序中常見的漏洞類型。

      實(shí)驗(yàn)步驟包括:

      1)準(zhǔn)備階段:挑選進(jìn)行測(cè)試的Web應(yīng)用程序和掃描器。

      2)執(zhí)行階段:使用漏洞掃描器來掃描Web服務(wù)以識(shí)別出潛在的漏洞。

      3)驗(yàn)證階段:通過手動(dòng)測(cè)試來確認(rèn)由掃描器識(shí)別出來的漏洞。

      4)分析階段:對(duì)實(shí)驗(yàn)結(jié)果數(shù)據(jù)進(jìn)行系統(tǒng)化分析。

      1.1 挑選測(cè)試用到的Web應(yīng)用程序

      Web應(yīng)用程序可能由各種開發(fā)語言編寫,不可能對(duì)所有涉及到的技術(shù)進(jìn)行測(cè)試,為此,我們隨機(jī)的挑選一些用PHP語言編寫的,能夠免費(fèi)下載使用的,涵蓋諸多應(yīng)用領(lǐng)域(包括電子商務(wù)、論壇、博客等等)的20個(gè)Web應(yīng)用程序進(jìn)行測(cè)試。在挑選的過程中,因?yàn)橐韵碌囊恍┰颍枰獙⑵鋪G棄[3],即:

      無效的WSDL:至少有一個(gè)掃描器不符合WSDL的語法描述。

      無法檢索WSDL:至少有一個(gè)掃描器找不到WSDL。

      沒有發(fā)現(xiàn)方法:Web服務(wù)沒有操作來掃描。

      認(rèn)證要求:某個(gè)操作需要認(rèn)證,這意味著有些服務(wù)是不能完全檢測(cè)到的。

      未處理的異常:測(cè)試中斷并且/或者有一個(gè)掃描器異常關(guān)閉。

      通信錯(cuò)誤:至少有一個(gè)掃描器因?yàn)镠TTP請(qǐng)求或者SSL連接錯(cuò)誤問題而不能進(jìn)行完整請(qǐng)求。

      掃描問題:至少有一個(gè)掃描器報(bào)告了一個(gè)像“無法添加事務(wù)”或“不能渲染對(duì)象”這樣的通用錯(cuò)誤。

      1.2 漏洞掃描器的選擇

      在試驗(yàn)中我們使用了3款知名的商業(yè)Web漏洞掃描器:AWVS、HP WebInspect以及 IBM Rational AppScan。

      AWVS,全稱為 Acunetix Web Vulnerability Scanner。 它是一個(gè)自動(dòng)化的Web應(yīng)用程序測(cè)試工具,審計(jì)、檢查漏洞。如SQL 注入、XSS[4](跨站腳本)、CSRF(跨站請(qǐng)求偽造)等等。

      HP WebInspect:WebInspect是最準(zhǔn)確和全面的自動(dòng)化的Web應(yīng)用程序和Web服務(wù)漏洞評(píng)估解決方案。惠普WebInspect可以提供快速掃描功能、廣泛的安全評(píng)估范圍以及準(zhǔn)確的Web應(yīng)用程序安全掃描結(jié)果。該工具具有開創(chuàng)性的評(píng)估技術(shù)、包括同時(shí)爬行和審計(jì)以及并發(fā)掃描。它是一個(gè)廣泛的可用于基于Web的應(yīng)用程序的滲透測(cè)試工具。

      IBM Rational AppScan:它是Web應(yīng)用程序滲透測(cè)試舞臺(tái)上使用廣泛的工具之一,有助于安全人員進(jìn)行Web應(yīng)用程序自動(dòng)化漏洞測(cè)試評(píng)估。它可以自動(dòng)進(jìn)行漏洞評(píng)估、掃描和檢測(cè)所有常見的Web應(yīng)用程序漏洞,包括SQL注入、跨站腳本、緩沖區(qū)溢出和Flash/Flex應(yīng)用程序。

      2 測(cè)試數(shù)據(jù)

      2.1 總體結(jié)果分析

      在本地使用虛擬機(jī)搭建環(huán)境,對(duì)上述挑選的20個(gè)Web應(yīng)用程序使用掃描器AWVS、WebInspect和AppScan進(jìn)行掃描測(cè)試。

      表1 存在漏洞的測(cè)試網(wǎng)站Tab.1 Vulnerabilities in tested websites

      從表1可以看到:對(duì)每一款掃描器而言,表中體現(xiàn)的是檢測(cè)到的漏洞的總數(shù)量以及每種掃描器檢測(cè)到的漏洞情況。掃描器指出了五種不同類型的漏洞,即:SQL注入、代碼執(zhí)行、緩沖區(qū)溢出、用戶名/密碼泄露以及服務(wù)器路徑暴漏。

      圖1 檢測(cè)到的應(yīng)用程序錯(cuò)誤Fig.1 Application errors detected

      掃描器將因?yàn)闊o效的參數(shù)而導(dǎo)致的應(yīng)用程序錯(cuò)誤歸類為低的安全問題。實(shí)際上,這些錯(cuò)誤是基于這樣一個(gè)事實(shí),就是輸入的參數(shù)沒有進(jìn)行正確的檢查(例如:該應(yīng)用程序可能有魯棒性問題)。正如圖1所示,3款掃描器檢測(cè)到了不同的應(yīng)用程序錯(cuò)誤。這明顯是依賴于每個(gè)掃描器所執(zhí)行的測(cè)試。盡管有一小部分情況下,應(yīng)用程序錯(cuò)誤可能會(huì)導(dǎo)致惡意的暴漏(例如:錯(cuò)誤信息泄露敏感的服務(wù)代碼或結(jié)構(gòu)信息),在大多數(shù)情況下,它們并不是安全漏洞。因此,可以將它們排除在進(jìn)一步分析之外。

      正如在表1中看到的,不同的掃描器檢測(cè)到了不同類型的漏洞。唯一的例外就是所有的掃描器都報(bào)告了SQL注入漏洞。這暗示了掃描器執(zhí)行了不同形式的滲透測(cè)試并且不同掃描器得到的掃描結(jié)果可能很難進(jìn)行比較。這樣的結(jié)果給我們的啟示就是:為了得到一個(gè)較好的漏洞覆蓋率,在滲透測(cè)試的時(shí)候,需要使用多款掃描器而不是僅依賴于一種掃描器。

      正如前面所述,SQL注入是唯一一個(gè)3款掃描器都檢測(cè)到的漏洞。然而,不同掃描器報(bào)告了不同的Web服務(wù)中的不同漏洞。實(shí)際上,掃描器AWVS檢測(cè)到的SQL注入漏洞的數(shù)目要遠(yuǎn)高于掃描器WebInspect和AppScan所檢測(cè)到的SQL注入漏洞。

      2.2 誤報(bào)分析

      到目前為止,顯示的結(jié)果還沒有考慮誤報(bào)(就是說掃描器檢測(cè)到了漏洞但是實(shí)際中并不存在)的問題。眾所周知,誤報(bào)是不可避免。這樣的話,決定手動(dòng)來確認(rèn)每一個(gè)檢測(cè)到的漏洞是否存在。

      確認(rèn)漏洞的存在性而不能訪問程序的源代碼是一項(xiàng)困難的任務(wù)。因此,定義了一套規(guī)則和相應(yīng)的檢查來對(duì)掃描器檢測(cè)到的漏洞分為3類:確實(shí)是誤報(bào)、確認(rèn)是漏洞以及不確定。

      當(dāng)滿足下列條件之一的,檢測(cè)到的漏洞就歸類為誤報(bào):

      1)對(duì)于SQL注入漏洞,如果得到的錯(cuò)誤/應(yīng)答與應(yīng)用程序的魯棒性問題相關(guān)并且不是一個(gè)SQL命令。

      2)在Web服務(wù)中響應(yīng)的錯(cuò)誤并不是由掃描器的注入引起的。換句話說,當(dāng)Web服務(wù)因有效的輸入而執(zhí)行的時(shí)候,相同的問題就會(huì)出現(xiàn)。

      3)對(duì)于路徑和用戶名/密碼泄露,當(dāng)喚醒Web服務(wù)的時(shí)候,Web服務(wù)返回的信息與客戶端提交的信息是一樣的。也就是說,沒有信息泄露。

      檢測(cè)到的漏洞如果滿足下列條件之一就歸類為確認(rèn)的漏洞[5]:

      1)對(duì)于SQL注入漏洞,如果是注入的值引發(fā)導(dǎo)致數(shù)據(jù)庫服務(wù)的異常。

      2)可能訪問未授權(quán)的服務(wù)或Web頁面(例如:用SQL注入繞過認(rèn)證過程)。

      3)對(duì)于路徑泄露,可能觀測(cè)到服務(wù)器中文件或文件夾的位置。

      4)對(duì)于緩沖區(qū)溢出,如果服務(wù)器不回答請(qǐng)求或者引起特別是與緩沖區(qū)溢出有關(guān)的異常。

      如果這些規(guī)則中沒有一個(gè)滿足的,那么就沒有辦法確認(rèn)該漏洞是否真的存在。這些情況就歸類為無法確定。圖2顯示了SQL注入漏洞的結(jié)果。

      圖2 SQL注入漏洞的誤報(bào)Fig.2 False positives for SQL injection

      正如圖2所示,用AWVS掃描到的SQL注入漏洞中,相對(duì)來說,不確定的數(shù)據(jù)結(jié)果是比較低的。但是對(duì)于WebInspect和AppScan來講,這個(gè)比例就相對(duì)來說是相當(dāng)高的。這意味著對(duì)于AWVS這款掃描器而言,誤報(bào)的結(jié)果是相對(duì)準(zhǔn)確的。確定的誤報(bào)對(duì)掃描器AWVS來說是比較高的,相對(duì)而言,對(duì)于AppScan也是比較高的。只有掃描器WebInspect顯示0誤報(bào)。

      表2顯示了其他漏洞的誤報(bào)結(jié)果。

      表2 其他漏洞的誤報(bào)Tab.2 False positives of other vulnerabilities

      2.3 覆蓋率分析

      我們關(guān)心的另一個(gè)很重要的方面就是檢測(cè)到的漏洞的覆蓋率。覆蓋率是檢測(cè)到的漏洞數(shù)量與總漏洞數(shù)量的比。很明顯,在該試驗(yàn)中,我們不可能知道總共又多少漏洞,因?yàn)椴煌膾呙杵鞯玫降膾呙杞Y(jié)果是不一樣的。因此,不可能計(jì)算出檢測(cè)到的漏洞覆蓋率。然而,對(duì)于目前已經(jīng)得到的檢測(cè)結(jié)果數(shù)據(jù),我們可以得到一個(gè)近似的漏洞覆蓋率。

      實(shí)際上,我們知道檢測(cè)到的漏洞 (相對(duì)于移除誤報(bào)后3款掃描器檢測(cè)到的漏洞的總和)的總數(shù)量以及每個(gè)掃描器檢測(cè)到的漏洞的數(shù)量?;谶@些信息來可以對(duì)每一款掃描器獲取一個(gè)積極的覆蓋率指標(biāo)(實(shí)際的覆蓋率要比表現(xiàn)出來的數(shù)字低)。很明顯,這對(duì)SQL注入漏洞是中肯的,因?yàn)樗撬袙呙杵鞫紮z測(cè)到的唯一一種類型。

      表3顯示的是覆蓋率結(jié)果。正如表3所示的那樣,有12個(gè)SQL注入漏洞被檢測(cè)到了(和前面一樣,我們決定包含不確定的情況為存在的漏洞)。每個(gè)掃描器檢測(cè)了這些漏洞中的一小群部分,結(jié)果就是檢測(cè)覆蓋率的一部分。掃描器AWVS表現(xiàn)了良好的結(jié)果。相反,掃描器WebInspect和AppScan的覆蓋率就比較低了。

      表3 SQL注入的覆蓋率Tab.3 Coverage for SQL injection

      下面對(duì)前面的一些分析做一下總結(jié):第一個(gè)就是,對(duì)于同一個(gè)Web應(yīng)用程序,不同的掃描器會(huì)檢測(cè)到不同類型的漏洞。SQL注入漏洞是所有掃描器都檢測(cè)到的唯一類型。只有掃描器AppScan檢測(cè)到了緩沖區(qū)溢出、用戶名和密碼泄露以及服務(wù)器端路徑暴漏等漏洞。WebInspect只檢測(cè)到了SQL注入漏洞。SQL注入漏洞是在所有受測(cè)試的Web應(yīng)用程序中發(fā)現(xiàn)的主要的漏洞類型。

      而對(duì)于掃描器檢測(cè)結(jié)果中出現(xiàn)的誤報(bào)問題。實(shí)際上,掃描器中AWVS和AppScan的誤報(bào)比例已經(jīng)超過了30%。只有WebInspect表現(xiàn)出了0誤報(bào),但是該掃描器檢測(cè)到的3個(gè)SQL注入漏洞中就有1個(gè)是不能確定的(不能手動(dòng)確認(rèn)是一個(gè)真正的漏洞還是誤報(bào))。

      掃描器WebInspect和AppScan有一個(gè)很低的覆蓋率,低于17%,然而掃描器AWVS表現(xiàn)出了高達(dá)67%的覆蓋率。請(qǐng)注意,這個(gè)數(shù)是一個(gè)樂觀的覆蓋率,因?yàn)槭軠y(cè)試的掃描器的實(shí)際覆蓋率肯定要比觀測(cè)到的數(shù)值低。

      圖3體現(xiàn)出了每種類型的漏洞的最終分布,在移除了確認(rèn)的誤報(bào)但是要包括那些不確定的情形(例如:掃描器的樂觀估計(jì))。正如前文所述,主要的漏洞是SQL注入。在發(fā)現(xiàn)的漏洞中占據(jù)了80%。這是一個(gè)重要的發(fā)現(xiàn),因?yàn)榘l(fā)現(xiàn)在很多的案例中該高危漏洞都存在。

      圖3 每種漏洞的分布Fig.3 Vulnerabilities distributed per type

      3 結(jié)束語

      本文進(jìn)行了一次試驗(yàn)探索,通過使用3款商業(yè)的漏洞掃描器對(duì)20個(gè)公開的Web應(yīng)用程序進(jìn)行安全漏洞檢測(cè),證實(shí)了許多Web應(yīng)用程序在部署之前沒有進(jìn)行合適的安全測(cè)試。對(duì)于挑選Web漏洞掃描器以對(duì)Web應(yīng)用程序進(jìn)行安全檢查并不是一件容易的事。首先,不同的掃描器會(huì)檢測(cè)到不同類型的漏洞。其次,存在的誤報(bào)也不容忽視,這嚴(yán)重影響到了檢測(cè)漏洞的精確性。最后,在某些情況下,檢測(cè)到的漏洞的覆蓋率是很低的,說明仍然有沒有檢測(cè)到的漏洞。而SQL注入漏洞在受測(cè)試的Web服務(wù)中是普遍存在的,因?yàn)樗鼈冋紦?jù)了所有檢測(cè)到的漏洞的80%左右。在今后的工作中,基于這次的試驗(yàn)研究,借鑒不同掃描工具形成優(yōu)勢(shì)互補(bǔ),促進(jìn)Web應(yīng)用程序的安全研究。

      [1]秦廣贊,郭帆,徐芳,等.一種防SQL注入的靜態(tài)分析方法[J].計(jì)算機(jī)工程與科學(xué),2013,35(2):68-73.

      [2]Jayakanthan N,Sivakumar R.A Novel Frame Work to Detect Malicious Attacks in Web Applications[J].International Journal Research in Computer Application&Information Technology,2014,2(1):23-28.

      [3]馮谷,高鵬.新型SQL注入技術(shù)研究與分析[J].計(jì)算機(jī)科學(xué),2012,39(11):415-417.

      [4]Navdeep Kaur,Parminder Kaur.Input Validation Vulnerabilities in Web Applications[J].Journal of Software Engineering,2014,8(3):116-126.

      [5]符泉麟.基于OWASP的WEB應(yīng)用安全檢測(cè)與防范[J].微型電腦應(yīng)用,2012,28(8):51-53.

      [6]Williams J,Wichers D.2013.OWASP TOP10-2013:The ten most critical web application security risks[BE/OL].http://www.owasp.org.cn/owasp-project/download/OWASPTop10 2013V1.2.pdf.

      [7]Hossain Shahriar*,Sarah M.North,YoonJi Lee,Roger Hu.Server-side code injection attack detection based on Kullback-Leibler distance[J].Internet Technology and Secured Transactions,2014,5(3):240-253.

      [8]賈文超,汪永益,施凡,等.基于動(dòng)態(tài)污點(diǎn)傳播模型的DOM XSS檢測(cè)漏洞[J].計(jì)算機(jī)應(yīng)用研究,2014,31(7):2119-2126.

      [9]邢斌,高嶺,孫騫,等.一種自動(dòng)化的滲透測(cè)試系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)應(yīng)用研究,2010,27(4):1384-1387.

      猜你喜歡
      掃描器誤報(bào)覆蓋率
      民政部等16部門:到2025年村級(jí)綜合服務(wù)設(shè)施覆蓋率超80%
      我國全面實(shí)施種業(yè)振興行動(dòng) 農(nóng)作物良種覆蓋率超過96%
      家用燃?xì)鈭?bào)警器誤報(bào)原因及降低誤報(bào)率的方法
      煤氣與熱力(2021年6期)2021-07-28 07:21:40
      各類氣體報(bào)警器防誤報(bào)漏報(bào)管理系統(tǒng)的應(yīng)用
      基于噴丸隨機(jī)模型的表面覆蓋率計(jì)算方法
      SICK TIM351迷你型激光掃描器
      基于覆蓋率驅(qū)動(dòng)的高性能DSP指令集驗(yàn)證方法
      戒指掃描器
      利用彩色掃描器對(duì)有色污布測(cè)色及對(duì)洗凈性進(jìn)行評(píng)價(jià)
      探秘“折骨精”的盜號(hào)伎倆
      宜阳县| 和田市| 麻栗坡县| 抚顺县| 图片| 宁城县| 刚察县| 延边| 孟连| 惠水县| 山东| 井陉县| 洞口县| 长治市| 许昌市| 堆龙德庆县| 安泽县| 云龙县| 辉县市| 哈密市| 九寨沟县| 上蔡县| 含山县| 巢湖市| 越西县| 衡水市| 鞍山市| 凌海市| 靖江市| 巨鹿县| 喀什市| 星子县| 临城县| 新密市| 贵阳市| 万全县| 古田县| 乌兰察布市| 连城县| 绥中县| 响水县|