檢測(cè)你的Web系統(tǒng)有多少安全漏洞
發(fā)表時(shí)間:2023-07-12 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]Internet的開放性使得Web系統(tǒng)面臨入侵攻擊的威脅, 而建立一個(gè)安全的Web系統(tǒng)一直是人們的目標(biāo)。 一個(gè)實(shí)用的方法是, 建立比較容易實(shí)現(xiàn)的相對(duì)安全的系統(tǒng), 同時(shí)按照一定的安全策略建立相應(yīng)的安...
Internet的開放性使得Web系統(tǒng)面臨入侵攻擊的威脅, 而建立一個(gè)安全的Web系統(tǒng)一直是人們的目標(biāo)。 一個(gè)實(shí)用的方法是, 建立比較容易實(shí)現(xiàn)的相對(duì)安全的系統(tǒng), 同時(shí)按照一定的安全策略建立相應(yīng)的安全輔助系統(tǒng), 漏洞掃描器就是這樣一類安全輔助系統(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ò)的, 它通過執(zhí)行一些腳本文件模擬對(duì)系統(tǒng)進(jìn)行攻擊的行為并記錄系統(tǒng)的反應(yīng), 從而發(fā)現(xiàn)其中的漏洞。 利用被動(dòng)式策略的掃描稱為系統(tǒng)安全掃描, 利用主動(dò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)的問題, 發(fā)現(xiàn)系統(tǒng)的漏洞。 它的缺點(diǎn)是與平臺(tái)相關(guān), 升級(jí)復(fù)雜。
3.基于目標(biāo)的漏洞檢測(cè)技術(shù)。 它采用被動(dòng)的、非破壞性的辦法檢查系統(tǒng)屬性和文件屬性, 如數(shù)據(jù)庫、注冊(cè)號(hào)等。 通過消息文摘算法, 對(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ù)同原來的檢驗(yàn)數(shù)相比較。 一旦發(fā)現(xiàn)改變就通知管理員。
4. 基于網(wǎng)絡(luò)的檢測(cè)技術(shù)。 它采用積極的、非破壞性的辦法來檢驗(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ù)常被用來進(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)估工作, 其掃描原理和工作原理為:通過遠(yuǎn)程檢測(cè)目標(biāo)主機(jī)TCP/IP不同端口的服務(wù), 記錄目標(biāo)的回答。 通過這種方法, 可以搜集到很多目標(biāo)主機(jī)的各種信息(例如:是否能用匿名登錄, 是否有可寫的FTP目錄, 是否能用Telnet, httpd是否是用root在運(yùn)行)。
在獲得目標(biāo)主機(jī)TCP/IP端口和其對(duì)應(yīng)的網(wǎng)絡(luò)訪問服務(wù)的相關(guān)信息后, 與網(wǎng)絡(luò)漏洞掃描系統(tǒng)提供的漏洞庫進(jìn)行匹配, 如果滿足匹配條件, 則視為漏洞存在。 此外, 通過模擬黑客的進(jìn)攻手法, 對(duì)目標(biāo)主機(jī)系統(tǒng)進(jìn)行攻擊性的安全漏洞掃描, 如測(cè)試弱勢(shì)口令等, 也是掃描模塊的實(shí)現(xiàn)方法之一。 如果模擬攻擊成功, 則視為漏洞存在。
在匹配原理上, 網(wǎng)絡(luò)漏洞掃描器采用的是基于規(guī)則的匹配技術(shù), 即根據(jù)安全專家對(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)漏洞庫, 然后再在此基礎(chǔ)之上構(gòu)成相應(yīng)的匹配規(guī)則, 由程序自動(dòng)進(jìn)行系統(tǒng)漏洞掃描的分析工作。
所謂基于規(guī)則是基于一套由專家經(jīng)驗(yàn)事先定義的規(guī)則的匹配系統(tǒng)。 例如, 在對(duì)TCP80端口的掃描中, 如果發(fā)現(xiàn)/cgi-bin/phf/cgi-bin/Count.cgi, 根據(jù)專家經(jīng)驗(yàn)以及CGI程序的共享性和標(biāo)準(zhǔn)化, 可以推知該WWW服務(wù)存在兩個(gè)CGI漏洞。 同時(shí)應(yīng)當(dāng)說明的是, 基于規(guī)則的匹配系統(tǒng)有其局限性, 因?yàn)樽鳛檫@類系統(tǒng)的基礎(chǔ)的推理規(guī)則一般都是根據(jù)已知的安全漏洞進(jìn)行安排和策劃的, 而對(duì)網(wǎng)絡(luò)系統(tǒng)的很多危險(xiǎn)的威脅是來自未知的安全漏洞, 這一點(diǎn)和PC殺毒很相似。
這種漏洞掃描器是基于瀏覽器/服務(wù)器(B/S)結(jié)構(gòu)。 它的工作原理是:當(dāng)用戶通過控制平臺(tái)發(fā)出了掃描命令之后, 控制平臺(tái)即向掃描模塊發(fā)出相應(yīng)的掃描請(qǐng)求, 掃描模塊在接到請(qǐng)求之后立即啟動(dòng)相應(yīng)的子功能模塊, 對(duì)被掃描主機(jī)進(jìn)行掃描。 通過分析被掃描主機(jī)返回的信息進(jìn)行判斷, 掃描模塊將掃描結(jié)果返回給控制平臺(tái), 再由控制平臺(tái)最終呈現(xiàn)給用戶。
另一種結(jié)構(gòu)的掃描器是采用插件程序結(jié)構(gòu)。 可以針對(duì)某一具體漏洞, 編寫對(duì)應(yīng)的外部測(cè)試腳本。 通過調(diào)用服務(wù)檢測(cè)插件, 檢測(cè)目標(biāo)主機(jī)TCP/IP不同端口的服務(wù), 并將結(jié)果保存在信息庫中, 然后調(diào)用相應(yīng)的插件程序, 向遠(yuǎn)程主機(jī)發(fā)送構(gòu)造好的數(shù)據(jù), 檢測(cè)結(jié)果同樣保存于信息庫, 以給其他的腳本運(yùn)行提供所需的信息, 這樣可提高檢測(cè)效率。 如, 在針對(duì)某FTP服務(wù)的攻擊中, 可以首先查看服務(wù)檢測(cè)插件的返回結(jié)果, 只有在確認(rèn)目標(biāo)主機(jī)服務(wù)器開啟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ù)器來完成。 漏洞掃描器的發(fā)展趨勢(shì)
值得我們注意的是漏洞掃描軟件從最初的專門為UNIX系統(tǒng)編寫的一些只具有簡(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è)試手段, 主掃描程序通過調(diào)用插件的方法來執(zhí)行掃描。 僅僅是添加新的插件就可以使軟件增加新功能, 掃描更多漏洞。 在插件編寫規(guī)范公布的情況下, 用戶或者第三方公司甚至可以自己編寫插件來擴(kuò)充軟件的功能。 同時(shí)這種技術(shù)使軟件的升級(jí)維護(hù)都變得相對(duì)簡(jiǎn)單, 并具有非常強(qiáng)的擴(kuò)展性。
2. 使用專用腳本語言。 這其實(shí)就是一種更高級(jí)的插件技術(shù), 用戶可以使用專用腳本語言來擴(kuò)充軟件功能。 這些腳本語言語法通常比較簡(jiǎn)單易學(xué), 往往用十幾行代碼就可以定制一個(gè)簡(jiǎn)單的測(cè)試, 為軟件添加新的測(cè)試項(xiàng)。 腳本語言的使用, 簡(jiǎn)化了編寫新插件的編程工作, 使擴(kuò)充軟件功能的工作變得更加容易, 也更加有趣。
3. 由漏洞掃描程序到安全評(píng)估專家系統(tǒng)。 最早的漏洞掃描程序只是簡(jiǎn)單地把各個(gè)掃描測(cè)試項(xiàng)的執(zhí)行結(jié)果羅列出來, 直接提供給測(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ò)安全沒有系統(tǒng)的解決方案。 未來的安全掃描系統(tǒng), 應(yīng)該不但能夠掃描安全漏洞, 還能夠智能化地協(xié)助網(wǎng)絡(luò)信息系統(tǒng)管理人員評(píng)估本網(wǎng)絡(luò)的安全狀況, 給出安全建議, 成為一個(gè)安全評(píng)估專家系統(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é)果顯示沒有漏洞, 但這并不表明系統(tǒng)沒有漏洞, 因?yàn)橛性S多漏洞是尚未發(fā)現(xiàn)的, 我們只能針對(duì)已知的漏洞進(jìn)行測(cè)試。
2.B級(jí):具有一些泄漏服務(wù)器版本信息之類的不是很重要內(nèi)容的漏洞, 或者提供容易造成被攻擊的服務(wù), 如允許匿名登錄, 這種服務(wù)可能會(huì)造成許多其它漏洞。
3.C級(jí):具有危害級(jí)別較小的一些漏洞, 如可以驗(yàn)證某賬號(hào)的存在, 可以造成列出一些頁面目錄、文件目錄等, 不會(huì)造成嚴(yán)重后果的漏洞。
4.D級(jí):具有一般的危害程度的漏洞。 如拒絕服務(wù)漏洞,造成Web信息系統(tǒng)不能正常工作;可以讓黑客獲得重要文件的訪問權(quán)的漏洞等。
5.E級(jí):具有嚴(yán)重危害程度的漏洞。 如存在緩沖區(qū)溢出漏洞, 存在木馬后門, 存在可以讓黑客獲得根用戶權(quán)限或根用戶的shell漏洞,根目錄被設(shè)置一般用戶可寫等一些后果非常嚴(yán)重的漏洞。
另外, 我們需要強(qiáng)調(diào)的是:漏洞的產(chǎn)生主要源于Web信息系統(tǒng)的不正當(dāng)配置以及其提供的服務(wù)自身的弱點(diǎn)。 前面我們?cè)敿?xì)介紹了如何使用漏洞掃描來進(jìn)行風(fēng)險(xiǎn)評(píng)估。 其實(shí)還有一個(gè)非常重要的問題我們不能忽略, 那就是需要檢測(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ù)本身都必然存在著某些缺陷, 而這些缺陷很有可能被高明的黑客利用來對(duì)系統(tǒng)進(jìn)行攻擊。 所以, 提供特定服務(wù)的服務(wù)器應(yīng)該盡可能開放提供服務(wù)必不可少的端口, 而將與服務(wù)器服務(wù)無關(guān)的服務(wù)關(guān)閉, 比如:一臺(tái)作為www和ftp服務(wù)器的機(jī)器, 應(yīng)該只開放80和25端口, 而將其他無關(guān)的服務(wù)如關(guān)掉, 以減少系統(tǒng)漏洞。
因此, 我們需要針對(duì)Web系統(tǒng)的實(shí)際用途使用相關(guān)的工具來對(duì)系統(tǒng)開放的網(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)的安全性。
上面是電腦上網(wǎng)安全的一些基礎(chǔ)常識(shí),學(xué)習(xí)了安全知識(shí),幾乎可以讓你免費(fèi)電腦中毒的煩擾。