如何檢測(cè)Web系統(tǒng)安全漏洞
如何檢測(cè)Web系統(tǒng)安全漏洞
歡迎來(lái)到學(xué)習(xí)啦,病毒對(duì)電腦的危害是很大對(duì)的,今天小編教你如何檢測(cè)Web系統(tǒng)安全漏洞,歡迎大家閱讀借鑒。Internet的開(kāi)放性使得Web系統(tǒng)面臨入侵攻擊的威脅,而建立一個(gè)安全的Web系統(tǒng)一直是人們的目標(biāo)。一個(gè)實(shí)用的方法是,建立比較容易實(shí)現(xiàn)的相對(duì)安全的系統(tǒng),同時(shí)按照一定的安全策略建立相應(yīng)的安全輔助系統(tǒng),漏洞掃描器就是這樣一類(lèi)安全輔助系統(tǒng)。
漏洞掃描就是對(duì)計(jì)算機(jī)系統(tǒng)或者其他網(wǎng)絡(luò)設(shè)備進(jìn)行安全相關(guān)的檢測(cè),以找出安全隱患和可被黑客利用的漏洞。作為一種保證Web信息系統(tǒng)和網(wǎng)絡(luò)安全必不可少的手段,我們有必要仔細(xì)研究利用。值得注意的是,漏洞掃描軟件是把雙刃劍,黑客利用它入侵系統(tǒng),而系統(tǒng)管理員掌握它以后又可以有效的防范黑客入侵。
四種漏洞掃描技術(shù)
漏洞掃描通常采用兩種策略,第一種是被動(dòng)式策略,第二種是主動(dòng)式策略。所謂被動(dòng)式策略就是基于主機(jī)之上,對(duì)系統(tǒng)中不合適的設(shè)置、脆弱的口令以及其他與安全規(guī)則抵觸的對(duì)象進(jìn)行檢查;而主動(dòng)式策略是基于網(wǎng)絡(luò)的,它通過(guò)執(zhí)行一些腳本文件模擬對(duì)系統(tǒng)進(jìn)行攻擊的行為并記錄系統(tǒng)的反應(yīng),從而發(fā)現(xiàn)其中的漏洞。利用被動(dòng)式策略的掃描稱(chēng)為系統(tǒng)安全掃描,利用主動(dòng)式的策略掃描稱(chēng)為網(wǎng)絡(luò)安全掃描。
漏洞掃描有以下四種檢測(cè)技術(shù):
1.基于應(yīng)用的檢測(cè)技術(shù)。它采用被動(dòng)的、非破壞性的辦法檢查應(yīng)用軟件包的設(shè)置,發(fā)現(xiàn)安全漏洞。
2.基于主機(jī)的檢測(cè)技術(shù)。它采用被動(dòng)的、非破壞性的辦法對(duì)系統(tǒng)進(jìn)行檢測(cè)。通常,它涉及到系統(tǒng)的內(nèi)核、文件的屬性、操作系統(tǒng)的補(bǔ)丁等。這種技術(shù)還包括口令解密、把一些簡(jiǎn)單的口令剔除。因此,這種技術(shù)可以非常準(zhǔn)確地定位系統(tǒng)的問(wèn)題,發(fā)現(xiàn)系統(tǒng)的漏洞。它的缺點(diǎn)是與平臺(tái)相關(guān),升級(jí)復(fù)雜。
3.基于目標(biāo)的漏洞檢測(cè)技術(shù)。它采用被動(dòng)的、非破壞性的辦法檢查系統(tǒng)屬性和文件屬性,如數(shù)據(jù)庫(kù)、注冊(cè)號(hào)等。通過(guò)消息文摘算法,對(duì)文件的加密數(shù)進(jìn)行檢驗(yàn)。這種技術(shù)的實(shí)現(xiàn)是運(yùn)行在一個(gè)閉環(huán)上,不斷地處理文件、系統(tǒng)目標(biāo)、系統(tǒng)目標(biāo)屬性,然后產(chǎn)生檢驗(yàn)數(shù),把這些檢驗(yàn)數(shù)同原來(lái)的檢驗(yàn)數(shù)相比較。一旦發(fā)現(xiàn)改變就通知管理員。
4.基于網(wǎng)絡(luò)的檢測(cè)技術(shù)。它采用積極的、非破壞性的辦法來(lái)檢驗(yàn)系統(tǒng)是否有可能被攻擊崩潰。它利用了一系列的腳本模擬對(duì)系統(tǒng)進(jìn)行攻擊的行為,然后對(duì)結(jié)果進(jìn)行分析。它還針對(duì)已知的網(wǎng)絡(luò)漏洞進(jìn)行檢驗(yàn)。網(wǎng)絡(luò)檢測(cè)技術(shù)常被用來(lái)進(jìn)行穿透實(shí)驗(yàn)和安全審記。這種技術(shù)可以發(fā)現(xiàn)一系列平臺(tái)的漏洞,也容易安裝。但是,它可能會(huì)影響網(wǎng)絡(luò)的性能。
網(wǎng)絡(luò)漏洞掃描
在上述四種方式當(dāng)中,網(wǎng)絡(luò)漏洞掃描最為適合我們的Web信息系統(tǒng)的風(fēng)險(xiǎn)評(píng)估工作,其掃描原理和工作原理為:通過(guò)遠(yuǎn)程檢測(cè)目標(biāo)主機(jī)TCP/IP不同端口的服務(wù),記錄目標(biāo)的回答。通過(guò)這種方法,可以搜集到很多目標(biāo)主機(jī)的各種信息(例如:是否能用匿名登錄,是否有可寫(xiě)的FTP目錄,是否能用Telnet,httpd是否是用root在運(yùn)行)。
在獲得目標(biāo)主機(jī)TCP/IP端口和其對(duì)應(yīng)的網(wǎng)絡(luò)訪問(wèn)服務(wù)的相關(guān)信息后,與網(wǎng)絡(luò)漏洞掃描系統(tǒng)提供的漏洞庫(kù)進(jìn)行匹配,如果滿足匹配條件,則視為漏洞存在。此外,通過(guò)模擬黑客的進(jìn)攻手法,對(duì)目標(biāo)主機(jī)系統(tǒng)進(jìn)行攻擊性的安全漏洞掃描,如測(cè)試弱勢(shì)口令等,也是掃描模塊的實(shí)現(xiàn)方法之一。如果模擬攻擊成功,則視為漏洞存在。
在匹配原理上,網(wǎng)絡(luò)漏洞掃描器采用的是基于規(guī)則的匹配技術(shù),即根據(jù)安全專(zhuān)家對(duì)網(wǎng)絡(luò)系統(tǒng)安全漏洞、黑客攻擊案例的分析和系統(tǒng)管理員關(guān)于網(wǎng)絡(luò)系統(tǒng)安全配置的實(shí)際經(jīng)驗(yàn),形成一套標(biāo)準(zhǔn)的系統(tǒng)漏洞庫(kù),然后再在此基礎(chǔ)之上構(gòu)成相應(yīng)的匹配規(guī)則,由程序自動(dòng)進(jìn)行系統(tǒng)漏洞掃描的分析工作。
所謂基于規(guī)則是基于一套由專(zhuān)家經(jīng)驗(yàn)事先定義的規(guī)則的匹配系統(tǒng)。例如,在對(duì)TCP80端口的掃描中,如果發(fā)現(xiàn)/cgi-bin/phf/cgi-bin/Count.cgi,根據(jù)專(zhuān)家經(jīng)驗(yàn)以及CGI程序的共享性和標(biāo)準(zhǔn)化,可以推知該WWW服務(wù)存在兩個(gè)CGI漏洞。同時(shí)應(yīng)當(dāng)說(shuō)明的是,基于規(guī)則的匹配系統(tǒng)有其局限性,因?yàn)樽鳛檫@類(lèi)系統(tǒng)的基礎(chǔ)的推理規(guī)則一般都是根據(jù)已知的安全漏洞進(jìn)行安排和策劃的,而對(duì)網(wǎng)絡(luò)系統(tǒng)的很多危險(xiǎn)的威脅是來(lái)自未知的安全漏洞,這一點(diǎn)和PC殺毒很相似。
這種漏洞掃描器是基于瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)。它的工作原理是:當(dāng)用戶通過(guò)控制平臺(tái)發(fā)出了掃描命令之后,控制平臺(tái)即向掃描模塊發(fā)出相應(yīng)的掃描請(qǐng)求,掃描模塊在接到請(qǐng)求之后立即啟動(dòng)相應(yīng)的子功能模塊,對(duì)被掃描主機(jī)進(jìn)行掃描。通過(guò)分析被掃描主機(jī)返回的信息進(jìn)行判斷,掃描模塊將掃描結(jié)果返回給控制平臺(tái),再由控制平臺(tái)最終呈現(xiàn)給用戶。
另一種結(jié)構(gòu)的掃描器是采用插件程序結(jié)構(gòu)??梢葬槍?duì)某一具體漏洞,編寫(xiě)對(duì)應(yīng)的外部測(cè)試腳本。通過(guò)調(diào)用服務(wù)檢測(cè)插件,檢測(cè)目標(biāo)主機(jī)TCP/IP不同端口的服務(wù),并將結(jié)果保存在信息庫(kù)中,然后調(diào)用相應(yīng)的插件程序,向遠(yuǎn)程主機(jī)發(fā)送構(gòu)造好的數(shù)據(jù),檢測(cè)結(jié)果同樣保存于信息庫(kù),以給其他的腳本運(yùn)行提供所需的信息,這樣可提高檢測(cè)效率。如,在針對(duì)某FTP服務(wù)的攻擊中,可以首先查看服務(wù)檢測(cè)插件的返回結(jié)果,只有在確認(rèn)目標(biāo)主機(jī)服務(wù)器開(kāi)啟FTP服務(wù)時(shí),對(duì)應(yīng)的針對(duì)某FTP服務(wù)的攻擊腳本才能被執(zhí)行。采用這種插件結(jié)構(gòu)的掃描器,可以讓任何人構(gòu)造自己的攻擊測(cè)試腳本,而不用去了解太多掃描器的原理。這種掃描器也可以用做模擬黑客攻擊的平臺(tái)。采用這種結(jié)構(gòu)的掃描器具有很強(qiáng)的生命力,如著名的Nessus就是采用這種結(jié)構(gòu)。這種網(wǎng)絡(luò)漏洞掃描器的結(jié)構(gòu)如圖2所示,它是基于客戶端/服務(wù)器(C/S)結(jié)構(gòu),其中客戶端主要設(shè)置服務(wù)器端的掃描參數(shù)及收集掃描信息。具體掃描工作由服務(wù)器來(lái)完成。
漏洞掃描器的發(fā)展趨勢(shì)
值得我們注意的是漏洞掃描軟件從最初的專(zhuān)門(mén)為UNIX系統(tǒng)編寫(xiě)的一些只具有簡(jiǎn)單功能的小程序,發(fā)展到現(xiàn)在,已經(jīng)出現(xiàn)了多個(gè)運(yùn)行在各種操作系統(tǒng)平臺(tái)上的、具有復(fù)雜功能的商業(yè)程序。今后的發(fā)展趨勢(shì)主要有以下幾點(diǎn),我們可以根據(jù)實(shí)際Web信息系統(tǒng)風(fēng)險(xiǎn)評(píng)估的需求進(jìn)行選用:
1.使用插件或者叫做功能模塊技術(shù)。每個(gè)插件都封裝一個(gè)或者多個(gè)漏洞的測(cè)試手段,主掃描程序通過(guò)調(diào)用插件的方法來(lái)執(zhí)行掃描。僅僅是添加新的插件就可以使軟件增加新功能,掃描更多漏洞。在插件編寫(xiě)規(guī)范公布的情況下,用戶或者第三方公司甚至可以自己編寫(xiě)插件來(lái)擴(kuò)充軟件的功能。同時(shí)這種技術(shù)使軟件的升級(jí)維護(hù)都變得相對(duì)簡(jiǎn)單,并具有非常強(qiáng)的擴(kuò)展性。
2.使用專(zhuān)用腳本語(yǔ)言。這其實(shí)就是一種更高級(jí)的插件技術(shù),用戶可以使用專(zhuān)用腳本語(yǔ)言來(lái)擴(kuò)充軟件功能。這些腳本語(yǔ)言語(yǔ)法通常比較簡(jiǎn)單易學(xué),往往用十幾行代碼就可以定制一個(gè)簡(jiǎn)單的測(cè)試,為軟件添加新的測(cè)試項(xiàng)。腳本語(yǔ)言的使用,簡(jiǎn)化了編寫(xiě)新插件的編程工作,使擴(kuò)充軟件功能的工作變得更加容易,也更加有趣。
3.由漏洞掃描程序到安全評(píng)估專(zhuān)家系統(tǒng)。最早的漏洞掃描程序只是簡(jiǎn)單地把各個(gè)掃描測(cè)試項(xiàng)的執(zhí)行結(jié)果羅列出來(lái),直接提供給測(cè)試者而不對(duì)信息進(jìn)行任何分析處理。而當(dāng)前較成熟的掃描系統(tǒng)都能夠?qū)?duì)單個(gè)主機(jī)的掃描結(jié)果整理,形成報(bào)表,能夠并對(duì)具體漏洞提出一些解決方法。不足之處是對(duì)網(wǎng)絡(luò)的狀況缺乏一個(gè)整體的評(píng)估,對(duì)網(wǎng)絡(luò)安全沒(méi)有系統(tǒng)的解決方案。未來(lái)的安全掃描系統(tǒng),應(yīng)該不但能夠掃描安全漏洞,還能夠智能化地協(xié)助網(wǎng)絡(luò)信息系統(tǒng)管理人員評(píng)估本網(wǎng)絡(luò)的安全狀況,給出安全建議,成為一個(gè)安全評(píng)估專(zhuān)家系統(tǒng)。
Web系統(tǒng)的風(fēng)險(xiǎn)等級(jí)評(píng)估
在實(shí)現(xiàn)了對(duì)Web信息系統(tǒng)的安全掃描后,便可根據(jù)掃描結(jié)果,對(duì)Web信息系統(tǒng)的安全性能進(jìn)行評(píng)估,從而給出Web信息系統(tǒng)的風(fēng)險(xiǎn)狀況。這里,風(fēng)險(xiǎn)評(píng)估的依據(jù)是根據(jù)掃描結(jié)果,根據(jù)Web信息系統(tǒng)所具有的漏洞數(shù)目及漏洞的危害程度,將Web信息系統(tǒng)的安全狀態(tài)進(jìn)行分級(jí)。
劃分的風(fēng)險(xiǎn)評(píng)估級(jí)別如下:
l.A級(jí):掃描結(jié)果顯示沒(méi)有漏洞,但這并不表明系統(tǒng)沒(méi)有漏洞,因?yàn)橛性S多漏洞是尚未發(fā)現(xiàn)的,我們只能針對(duì)已知的漏洞進(jìn)行測(cè)試。
2.B級(jí):具有一些泄漏服務(wù)器版本信息之類(lèi)的不是很重要內(nèi)容的漏洞,或者提供容易造成被攻擊的服務(wù),如允許匿名登錄,這種服務(wù)可能會(huì)造成許多其它漏洞。
3.C級(jí):具有危害級(jí)別較小的一些漏洞,如可以驗(yàn)證某賬號(hào)的存在,可以造成列出一些頁(yè)面目錄、文件目錄等,不會(huì)造成嚴(yán)重后果的漏洞。
4.D級(jí):具有一般的危害程度的漏洞。如拒絕服務(wù)漏洞,造成Web信息系統(tǒng)不能正常工作;可以讓黑客獲得重要文件的訪問(wèn)權(quán)的漏洞等。
5.E級(jí):具有嚴(yán)重危害程度的漏洞。如存在緩沖區(qū)溢出漏洞,存在木馬后門(mén),存在可以讓黑客獲得根用戶權(quán)限或根用戶的shell漏洞,根目錄被設(shè)置一般用戶可寫(xiě)等一些后果非常嚴(yán)重的漏洞。
另外,我們需要強(qiáng)調(diào)的是:漏洞的產(chǎn)生主要源于Web信息系統(tǒng)的不正當(dāng)配置以及其提供的服務(wù)自身的弱點(diǎn)。前面我們?cè)敿?xì)介紹了如何使用漏洞掃描來(lái)進(jìn)行風(fēng)險(xiǎn)評(píng)估。其實(shí)還有一個(gè)非常重要的問(wèn)題我們不能忽略,那就是需要檢測(cè)Web信息系統(tǒng)到底提供了哪些服務(wù),因?yàn)樗苯雨P(guān)系到系統(tǒng)的漏洞的產(chǎn)生以及危害。一方面,Web信息系統(tǒng)為用戶提供了多種優(yōu)質(zhì)的網(wǎng)絡(luò)服務(wù),包括Http、Ftp、Smtp、Pop3等;另一方面,服務(wù)的增多意味著更多的風(fēng)險(xiǎn)。每種服務(wù)本身都必然存在著某些缺陷,而這些缺陷很有可能被高明的黑客利用來(lái)對(duì)系統(tǒng)進(jìn)行攻擊。所以,提供特定服務(wù)的服務(wù)器應(yīng)該盡可能開(kāi)放提供服務(wù)必不可少的端口,而將與服務(wù)器服務(wù)無(wú)關(guān)的服務(wù)關(guān)閉,比如:一臺(tái)作為www和ftp服務(wù)器的機(jī)器,應(yīng)該只開(kāi)放80和25端口,而將其他無(wú)關(guān)的服務(wù)如關(guān)掉,以減少系統(tǒng)漏洞。
因此,我們需要針對(duì)Web系統(tǒng)的實(shí)際用途使用相關(guān)的工具來(lái)對(duì)系統(tǒng)開(kāi)放的網(wǎng)絡(luò)服務(wù)及其端口等進(jìn)行有效地檢測(cè)和適時(shí)的處理,以及時(shí)關(guān)閉那些不必需要的服務(wù)和端口,以免為黑客和不法用戶利用,從而侵入信息系統(tǒng)。顯然,這是一項(xiàng)非常艱巨和長(zhǎng)期的工作,管理者們需要在技術(shù)和管理兩個(gè)層面上投入相當(dāng)?shù)奈锪拓?cái)力,從而保證Web信息系統(tǒng)的安全性。