[導(dǎo)讀]一種基于滲透性測試的Web漏洞掃描系統(tǒng)設(shè)計與實現(xiàn)
0 引 言
CNCERT/CC 2006年的工作報告中顯示,隨著互聯(lián)網(wǎng)的快速發(fā)展,我國公共互聯(lián)網(wǎng)用戶數(shù)量已超過1.37億。在網(wǎng)絡(luò)發(fā)展的同時,互聯(lián)網(wǎng)作為一個運行系統(tǒng)和一個社會公共環(huán)境,所面對的和隱藏的安全威脅也越來越復(fù)雜,越來越嚴重。報告顯示,2006年CNCERT/CC接收國內(nèi)26 476件非掃描類網(wǎng)絡(luò)安全事件報告中有24 477件是由于Web引起的。從2003年~2006年中國Web攻擊事件統(tǒng)計中不難發(fā)現(xiàn),通過Web漏洞進行攻擊事件正在逐年迅速的增長。通過Web漏洞進行攻擊成了網(wǎng)絡(luò)漏洞攻擊的主要方式與手段。
國內(nèi)外的許多學(xué)術(shù)機構(gòu)、企業(yè)和標準化組織在Web漏洞探測方面做了大量的工作。Web漏洞探測系統(tǒng)日趨成熟,當(dāng)前,比較成熟的漏洞掃描工具有Whisker及Nikto和Nessus。但由于安全產(chǎn)品特殊應(yīng)用需求以及各個組織的工具自身的技術(shù)與安全防護問題,使得這些產(chǎn)品不能很好地被推廣或普及。對具體項目需求,設(shè)計并實現(xiàn)一個Web漏洞掃描系統(tǒng)是非常必要的。
1 Web漏洞掃描原理
Web漏洞掃描方法主要有兩類:信息獲取和模擬攻擊。信息獲取就是通過與目標主機TCP/IP的Http服務(wù)端口發(fā)送連接請求,記錄目標主機的應(yīng)答。通過目標主機應(yīng)答信息中狀態(tài)碼和返回數(shù)據(jù)與Http協(xié)議相關(guān)狀態(tài)碼和預(yù)定義返回信息做匹配,如果匹配條件則視為漏洞存在。模擬攻擊就是通過使用模擬黑客攻擊的方法,對目標主機Web系統(tǒng)進行攻擊性的安全漏洞掃描,比如認證與授權(quán)攻擊、支持文件攻擊、包含文件攻擊、SQL注入攻擊和利用編碼技術(shù)攻擊等對目標系統(tǒng)可能存在的已知漏洞進行逐項進行檢查,從而發(fā)現(xiàn)系統(tǒng)的漏洞。遠程字典攻擊也是漏洞掃描中模擬攻擊的一種,其原理與其他攻擊相差較大,若攻擊成功,可以直接得到登陸目標主機系統(tǒng)的用戶名和口令。
Web漏洞掃描原理就是利用上面的掃描方法,通過分析掃描返回信息,來判斷在目標系統(tǒng)上與測試代碼相關(guān)的漏洞是否存在或者相關(guān)文件是否可以在某種程度上得以改進,然后把結(jié)果反饋給用戶端(即瀏覽端),并給出相關(guān)的改進意見。
2 Web漏洞掃描系統(tǒng)設(shè)計與實現(xiàn)
Web漏洞掃描系統(tǒng)設(shè)計的基本要求是能夠找到Web應(yīng)用程序的錯誤以及檢測Web服務(wù)器以及CGI的安全性,其中也包括認證機制、邏輯錯誤、無意泄露Web內(nèi)容以及其環(huán)境信息以及傳統(tǒng)的二進制應(yīng)用漏洞(例:緩沖區(qū)溢出等)。同時要求漏洞掃描功能能夠更新及時。本系統(tǒng)結(jié)合國內(nèi)外其他Web漏洞掃描系統(tǒng)設(shè)計思想的優(yōu)點,采用Browser/Server/Database(瀏覽器/服務(wù)器/數(shù)據(jù)庫)和模塊化的軟件開發(fā)思路,通過滲透性檢測的方法對目標系統(tǒng)進行掃描。
2.1 系統(tǒng)總體結(jié)構(gòu)設(shè)計
本文設(shè)計開發(fā)的是一個B/S模式的Web漏洞掃描系統(tǒng)。它包括客戶端及服務(wù)端兩個部分,運行環(huán)境為Linux系統(tǒng)。首先:使用B/S結(jié)構(gòu)使得用戶的操作不再與系統(tǒng)平臺相關(guān),同時使得客戶操作更方便、直觀。其次,系統(tǒng)把漏洞掃描檢測部分從整個系統(tǒng)中分離出來,使用專門的文件庫進行存放(稱為插件)。如果發(fā)現(xiàn)新的漏洞并找到了新的檢測方法,只要在相關(guān)文件夾中增加一個相應(yīng)的新的攻擊腳本記錄,即可以實現(xiàn)對漏洞的滲透性測試,同時也實現(xiàn)了及時的升級功能。最后,系統(tǒng)從多個角度來提高漏洞掃描系統(tǒng)的掃描速度以及減少在用客戶端與服務(wù)端之間的信息傳輸量,以提高系統(tǒng)的運行效率。其總體結(jié)構(gòu)設(shè)計如圖1所示。
圖1中給出了漏洞掃描系統(tǒng)模型的系統(tǒng)結(jié)構(gòu)圖。該漏洞檢測系統(tǒng)主要分成四部分:
(1)主控程序。采用多線程處理方式,它接收多個客戶端提交的用戶指令后,再次利用多線程技術(shù)調(diào)用相關(guān)的插件腳本,利用滲透性測試對目標系統(tǒng)進行檢測,并將結(jié)果和進程信息傳回客戶端顯示并保存在客戶端本地,以方便用戶查看詳細信息。
(2)客戶端,即控制平臺。B/S結(jié)構(gòu)比傳統(tǒng)的C/S結(jié)構(gòu)優(yōu)越的地方在于方便性和與平臺無關(guān)性,用戶通過Web瀏覽器設(shè)定掃描參數(shù),提交給服務(wù)器端,控制服務(wù)器端進行掃描工作。同時,對服務(wù)器返回的各種檢測結(jié)果進行相應(yīng)的顯示、匯總和保存。
(3)插件系統(tǒng)。它保存現(xiàn)在已知各種漏洞檢測方法的插件,合理安排插件之間的執(zhí)行順序,使掃描按既定的順序進行,以加快掃描速度提高掃描的效率與準確性。
(4)數(shù)據(jù)庫,即探測數(shù)據(jù)庫,是系統(tǒng)的核心。它保存已知各類Web漏洞的滲透性的探測數(shù)據(jù)即攻擊代碼或信息獲取代碼,比如SQL注入攻擊、跨站點腳本攻擊、會話攻擊或輸入驗證編碼信息等,逐條給目標發(fā)送探測數(shù)據(jù),通過把返回信息與預(yù)先設(shè)定的“返回信息”和狀態(tài)碼進行匹配,進而獲得目標返回系統(tǒng)的健壯信息。
在規(guī)劃系統(tǒng)體系組成部分的基礎(chǔ)上,如何把這些組成模塊有機地集成為一個系統(tǒng)也是設(shè)計本系統(tǒng)的重點。我們要求服務(wù)器端同時處理多用戶的連接,因此首先要進行多線程處理。在進行單用戶處理中,當(dāng)用戶登陸時,檢測服務(wù)器對用戶的用戶名和密碼進行認證,判斷用戶是否具有使用權(quán)限。用戶認證通過后,檢測服務(wù)器給客戶端發(fā)送可使用的基本檢測信息??蛻舳私邮盏椒?wù)器的這些信息后,根據(jù)具體的使用要求選擇和填寫各種檢測腳本要求的參數(shù),或使用默認參數(shù),然后返回給服務(wù)器端。服務(wù)器端建立新的進程,開始一個新的漏洞檢測任務(wù),對目標系統(tǒng)進行掃描。
2.2客戶端的實現(xiàn)
網(wǎng)絡(luò)的發(fā)展要求在任何地點進行登陸并進行掃描工作,并且漏洞檢測參數(shù)繁多、設(shè)置掃描參數(shù)具有很高的復(fù)雜性,所以選擇現(xiàn)在流行的Web頁面作為客戶端。這樣就可以在世界的任何地點,任何環(huán)境使用客戶端,用簡單的圖形化界面進行參數(shù)設(shè)定和系統(tǒng)的控制工作。
客戶端在認證通過后,開始接收服務(wù)器發(fā)送過來的各種待設(shè)定的參數(shù)及相關(guān)信息以供用戶選擇。用戶根據(jù)相關(guān)幫助信息及自己相關(guān)的要求設(shè)定參數(shù),同時設(shè)定目標系統(tǒng)的IP地址(或主機名)和端口號等參數(shù)。根據(jù)客戶端的參數(shù)設(shè)定,服務(wù)端建立掃描任務(wù),對目標系統(tǒng)進行檢測掃描。
檢測過程中,客戶可以自行設(shè)定是否實時顯示服務(wù)端掃描狀態(tài)信息及結(jié)果信息,以及在客戶端是否保存相關(guān)信息,便于用戶對掃描任務(wù)進行實時的控制,從而制定相應(yīng)的安全策略。
[!--empirenews.page--]2.3通信協(xié)議設(shè)計
自從1990年以來,人們就用Http協(xié)議進行Web數(shù)據(jù)傳輸,Http協(xié)議是一種在TCP/IP之上的request/response型協(xié)議。多數(shù)Http數(shù)據(jù)傳輸由請求服務(wù)器上的某種資源開始,通過網(wǎng)絡(luò)上的一些中介,如代理、網(wǎng)關(guān)等到達服務(wù)器,而后服務(wù)器處理請求并送回應(yīng)答。但是Http 1.0并不完全支持各層代理、緩沖、持續(xù)的連接以及虛擬主機等技術(shù)。Http請求及應(yīng)答數(shù)據(jù)包如圖2所示。
對于目標系統(tǒng)Web漏洞掃描,使用滲透性的探測方法,滲透性探測方法主要通過更改Http請求信息包中的某些信息,從目標系統(tǒng)的應(yīng)答信息包中獲取狀態(tài)信息及相關(guān)內(nèi)容以判斷目標系統(tǒng)的輸入或軟件錯誤,或其他一些配置信息,所以要求開發(fā)者可以自定義Http請求信息包。
Libwhisker是一個全面的API,是由一些不同的與Web應(yīng)用程序相交互的功能模塊構(gòu)成的數(shù)據(jù)庫,它有如下的特點:
(1)可以與Http 0.9,1.0以及1.1相通信;
(2)可以建立持續(xù)的連接;
(3)能有效地支持代理;
(4)支持Anti-IDS技術(shù);
(5)支持SSL;
(6)支持Basic和NTLM認證。
所以使用Libwhisker與Http通信,以通過Libwhisker來自定義Http協(xié)議信息包以及提供相應(yīng)的支持。
2.4特征信息數(shù)據(jù)庫
此漏洞掃描系統(tǒng)的核心就是特征信息數(shù)據(jù)庫,特征信息數(shù)據(jù)庫保存了遠程Web系統(tǒng)可能存在的各類Web隱患和漏洞的獲取或攻擊信息或代碼。通過給遠程Web系統(tǒng)發(fā)送此數(shù)據(jù)庫中的數(shù)據(jù)以獲得目標Web系統(tǒng)的安全性。
考慮到信息的共性與個性、方便性等因素,特征數(shù)據(jù)庫信息大體分為以下幾類:
(1)Web系統(tǒng)軟件版本信息數(shù)據(jù)庫:此類信息以檢測當(dāng)前Web系統(tǒng)相應(yīng)軟件的版本隱患及其漏洞信息,以及Web系統(tǒng)相應(yīng)軟件版本最新信息,并給出相關(guān)的提示。
(2)Web系統(tǒng)授權(quán)信息:此類信息以檢測當(dāng)前Web相應(yīng)系統(tǒng)資源的授權(quán)情況以及漏洞信息。
(3)漏洞控測信息數(shù)據(jù)庫:此類數(shù)據(jù)庫是最主要的信息數(shù)據(jù)庫,包含各類Web服務(wù)器中存在的各種隱患和漏洞探測信息。具體而言分為以下幾個大類:認證攻擊、授權(quán)攻擊、識別“支持”文件、識別包含文件、目錄攻擊、識別錯誤、一般的輸入驗證、源代碼泄露、URL編碼、Unicode編碼、Base64編碼、識別請求方法、SQL注入、會話攻擊、目錄遍歷攻擊以及跨站點腳本攻擊等。
特征信息數(shù)據(jù)庫各記錄分別為:
Web服務(wù)器類別、檢測目標URI、預(yù)設(shè)返回信息、Http方法、描述信息。
2.5 Web漏洞掃描系統(tǒng)的實現(xiàn)
由于允許多用戶同時使用服務(wù)器端,要求針對不同目標的掃描、檢測任務(wù)同時進行,所以執(zhí)行掃描機制就成了服務(wù)器端設(shè)計中的首要問題。根據(jù)服務(wù)器并行處理的理論,而且使用B/S的總體結(jié)構(gòu),考慮到開發(fā)語言和開發(fā)環(huán)境,對于掃描服務(wù)器的構(gòu)架選擇Linux平臺下的PERL開發(fā)語言,使用并發(fā)服務(wù)器的模型。
并發(fā)服務(wù)器的思想是每一個客戶的請求并不由服務(wù)器直接處理,而是由服務(wù)器創(chuàng)建相應(yīng)的子進程進行處理。對于每一個子進程而言,客戶可以設(shè)定其掃描范圍包括不只一個目標地址,同樣由服務(wù)器創(chuàng)建相應(yīng)的子進程(即二級進程)來處理,以提高系統(tǒng)的掃描速度。利用Linux下的fork函數(shù)來完成一、二級進程處理功能。其流程如圖3所示。
另外,由于PERL本身的效率問題,為進一步提高漏洞掃描系統(tǒng)的性能,對目標系統(tǒng)首先利用現(xiàn)階段已經(jīng)非常成熟的工具NMAP進行端口掃描,以獲得開放的端口,在此基礎(chǔ)上進行進一步的端口掃描,以判斷在此端口上是否提供的是Web服務(wù)。
為進一步加快掃描速度,系統(tǒng)使用掃描知識庫來保存已掃描過的主機信息,在獲取用戶請求以后,首先檢測知識庫,若有知識庫中保存相關(guān)信息,則不進行新的掃描工作,只需調(diào)用相關(guān)的知識庫信息返回給用戶即可。
在對端口滲透性探測的實現(xiàn)方式上,使用插件腳本的方式來進行。用戶可以通過參數(shù)選取相應(yīng)的插件執(zhí)行,以進行更為完整的漏洞掃描。插件可以動態(tài)地升級,其實現(xiàn)方式是每次升級插件時都將已升級的插件根據(jù)既定的順序添加在插件調(diào)用清單當(dāng)中,在插件執(zhí)行過程中,主控程序根據(jù)插件調(diào)用清單中的插件執(zhí)行順序依次調(diào)用插件。插件的執(zhí)行結(jié)果擴充了各類數(shù)據(jù)庫探測信息,這樣即可以增加各類特殊的信息,進行更為深入的掃描目標Web系統(tǒng)以發(fā)現(xiàn)更新、更多的漏洞信息。
3結(jié)語
提出對Web系統(tǒng)進行安全掃描的必要性,以及Web漏洞掃描的基本原理,在此基礎(chǔ)上提出并設(shè)計了一個完整的Web漏洞掃描系統(tǒng),介紹了它的協(xié)議基礎(chǔ)以及組成模塊。
本文設(shè)計的Web漏洞掃描系統(tǒng)已經(jīng)完全實現(xiàn),并經(jīng)過測試,該掃描器基于瀏覽器/服務(wù)器結(jié)構(gòu),可以掃描UNIX/Windows等多種平臺下的Web系統(tǒng),與同類產(chǎn)品相比,可以看出該掃描器具有如下特點:利用多進程/知識庫等技術(shù)加快了掃描速度;掃描封裝在插件中使系統(tǒng)具有可擴展性;使用B/S結(jié)構(gòu)使得用戶操作方便,掃描結(jié)果詳盡。此掃描系統(tǒng)實現(xiàn)了Web隱患掃描和漏洞檢測,并可以提供漏洞的修補建議,將會在很大程度上確保Web系統(tǒng)安全。
本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
美國紐約州阿蒙克2022年10月20日 /美通社/ -- IBM(NYSE: IBM)發(fā)布 2022 年第三季度業(yè)績報告。 IBM 董事長兼首席執(zhí)行官 Arvind Kri...
關(guān)鍵字:
IBM
軟件
BSP
云平臺
成都2022年10月19日 /美通社/ -- 近期,平安養(yǎng)老險積極籌備個人養(yǎng)老金的產(chǎn)品設(shè)計和系統(tǒng)開發(fā)工作,發(fā)展多樣化的養(yǎng)老金融產(chǎn)品,推動商業(yè)養(yǎng)老保險、個人養(yǎng)老金、專屬商業(yè)養(yǎng)老保險等產(chǎn)品供給。 搭養(yǎng)老政策東風(fēng) ...
關(guān)鍵字:
溫度
BSP
東風(fēng)
大眾
廣東佛山2022年10月19日 /美通社/ -- 空間是人居生活的基礎(chǔ)單元,承載著生存與活動的最基本功能。而對于理想空間的解構(gòu)意義卻在物理性容器之外,體現(xiàn)出人們對于空間和生活深層關(guān)系的思考,同時也塑造著人與空間的新型連接...
關(guān)鍵字:
溫度
BSP
智能化
進程
上海2022年10月19日 /美通社/ -- 10月17日晚間,安集科技披露業(yè)績預(yù)告。今年前三季度,公司預(yù)計實現(xiàn)營業(yè)收入7.54億元至8.33億元,同比增長60.24%至77.03%;歸母凈利潤預(yù)計為1.73億...
關(guān)鍵字:
電子
安集科技
BSP
EPS
北京2022年10月19日 /美通社/ -- 10月18日,北京市經(jīng)濟和信息化局發(fā)布2022年度第一批北京市市級企業(yè)技術(shù)中心創(chuàng)建名單的通知,諾誠健華正式獲得"北京市企業(yè)技術(shù)中心"認定。 北京市企業(yè)技...
關(guān)鍵字:
BSP
ARMA
COM
代碼
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關(guān)鍵字:
IDC
BSP
數(shù)字化
數(shù)據(jù)中心
上海2022年10月18日 /美通社/ -- 2022年9月5日,是首都銀行集團成立60周年的紀念日。趁著首都銀行集團成立60周年與首都銀行(中國)在華深耕經(jīng)營12年的“大日子”,圍繞作為外資金融機構(gòu)對在華戰(zhàn)略的構(gòu)想和業(yè)...
關(guān)鍵字:
數(shù)字化
BSP
供應(yīng)鏈
控制
東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...
關(guān)鍵字:
溫控
精密儀器
半導(dǎo)體制造
BSP
廣州2022年10月18日 /美通社/ -- 10月15日,第 132 屆中國進出口商品交易會("廣交會")于"云端"開幕。本屆廣交會上高新技術(shù)企業(yè)云集,展出的智能產(chǎn)品超過140,...
關(guān)鍵字:
中國智造
BSP
手機
CAN
要問機器人公司哪家強,波士頓動力絕對是其中的佼佼者。近來年該公司在機器人研發(fā)方面獲得的一些成果令人印象深刻,比如其開發(fā)的機器人會后空翻,自主爬樓梯等。這不,波士頓動力又發(fā)布了其機器人組團跳男團舞的新視頻,表演的機器人包括...
關(guān)鍵字:
機器人
BSP
工業(yè)機器人
現(xiàn)代汽車
南京2022年10月17日 /美通社/ -- 日前《2022第三屆中國高端家電品牌G50峰會》于浙江寧波落幕,來自兩百余名行業(yè)大咖、專家學(xué)者共同探討了在形勢依然嚴峻的當(dāng)下,如何以科技創(chuàng)新、高端化轉(zhuǎn)型等手段,幫助...
關(guān)鍵字:
LINK
AI
BSP
智能家電
SAIHUB CAB 025M成功獲得安全試驗所UL美國與加拿大認證證書 新加坡2022年10月17日 /美通社/ -- SAI.TECH Global Corporation("SAI.TECH"...
關(guān)鍵字:
AI
BSP
PS
清潔能源
鄭州2022年10月17日 /美通社/ -- 近日,《福布斯》發(fā)布了"2022年全球最佳雇主榜單"(The World's Best Employers 2022),中國平安再度上榜并排名全...
關(guān)鍵字:
福布斯
ST
TI
BSP
通過第二項3nm設(shè)計選用擴展技術(shù)領(lǐng)先地位 第三季度強勁的貿(mào)易和設(shè)計選用反映出我們結(jié)合了IP和定制硅的混合業(yè)務(wù)模式 自2022年9月1日起,OpenFive首次并入集團 盡管宏觀環(huán)境困難,但管理層仍對業(yè)務(wù)...
關(guān)鍵字:
BSP
ALPHA
PEN
Silicon
歐洲藥品管理局人用藥品管理委員會 (CHMP) 的積極建議是基于 EFFISAYIL® 1 研究結(jié)果,該研究是針對泛發(fā)性膿皰型銀屑病 (GPP) 發(fā)作患者的最大的臨床研究[1] 與斑塊狀銀屑病不同,GP...
關(guān)鍵字:
HM
BSP
GP
FOR
流體動壓滑動軸承為風(fēng)機發(fā)展書寫嶄新篇章 軸承滑動層增材制造與精加工為工業(yè)級大規(guī)模生產(chǎn)鋪平道路 軸承設(shè)計從綜合性系統(tǒng)理念出發(fā) 德國施韋因富特和漢堡2022年10月17日 /美通社/ -- 舍弗勒推出了采...
關(guān)鍵字:
齒輪箱
滑動軸承
風(fēng)力渦輪機
BSP
上海2022年10月17日 /美通社/ -- Brother內(nèi)置墨倉彩色噴墨一體機DCP-C421W新上市。此次Brother創(chuàng)新引入"按需打印,按頁付費"...
關(guān)鍵字:
DC
打印機
BSP
DESIGN
慕尼黑2022年10月17日 /美通社/ -- TUV南德意志集團(以下簡稱"TUV南德")在EcoVadis全球企業(yè)社會責(zé)任評級中以總分71分榮獲金獎。...
關(guān)鍵字:
OV
ADIS
BSP
COM
上海2022年10月17日 /美通社/ -- 10月12日,"華東理工大學(xué)-珀金埃爾默化工青年教師獎教金"儀式圓滿舉行。華東理工大學(xué)副校長閻海峰,珀金埃爾默全球副總裁、大中華區(qū)銷售與服務(wù)總經(jīng)...
關(guān)鍵字:
BSP
核心技術(shù)
上海2022年10月14日 /美通社/ -- 近日,上海安勢信息技術(shù)有限公司的清源SCA工具在騰訊成功部署。 開源軟件在促進全球的技術(shù)創(chuàng)新方面發(fā)揮著越來越重要的作用,企業(yè)越來越依賴開源軟件來加速開發(fā)與創(chuàng)新,根據(jù) Gar...
關(guān)鍵字:
開源
開源軟件
組件
數(shù)據(jù)庫