A:
漏洞掃描就是對(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)管理員掌握它以后又可以有效的防范黑客入侵。
$ m- F- I" ^2 z, o% ?7 p7 i. A9 a F 四種漏洞掃描技術(shù)
( {# X9 G0 a+ V& Q. f% D& i) U$ f" F' _" {/ { 漏洞掃描通常采用兩種策略,第一種是被動(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)式策略的掃描稱為系統(tǒng)安全掃描,利用主動(dòng)式的策略掃描稱為網(wǎng)絡(luò)安全掃描。
! h( A6 T B7 m/ O. t- P! }7 b4 @ 漏洞掃描有以下四種檢測(cè)技術(shù):
# H+ X, e2 U: P. ]6 Q4 |# s) t' r; J* D y* ]* U$ T; E! b1 r 1.基于應(yīng)用的檢測(cè)技術(shù)。它采用被動(dòng)的、非破壞性的辦法檢查應(yīng)用軟件包的設(shè)置,發(fā)現(xiàn)安全漏洞。
7 E7 V% a5 Y4 `7 ~( {% H' A* L9 d: ~7 v 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ù)雜。
/ T7 G- a& {" o; h+ i) x" [* R" @$ d: E2 z+ C 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 m; E( d/ r& T3 P" z; O5 k9 N4 z( K 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ò)的性能。
1 f% a/ ^8 o6 J! z9 K/ O# K% X' W% a' W# v Z 網(wǎng)絡(luò)漏洞掃描
1 N; W0 Q2 z- j4 a& b/ A- @* S( O9 l 在上述四種方式當(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ī)的各種信息(例如:是否能用匿名登錄,是否有可寫的FTP目錄,是否能用Telnet,httpd是否是用root在運(yùn)行)。
( t, h. r% h8 b- a& f# \0 X4 Z1 p2 r( [6 R3 D- b; Z 在獲得目標(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)方法之一。如果模擬攻擊成功,則視為漏洞存在。
% O; l: b, w+ ~- t( g0 |/ l) [$ P% h5 r* O6 T! Q 在匹配原理上,網(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)漏洞庫(kù),然后再在此基礎(chǔ)之上構(gòu)成相應(yīng)的匹配規(guī)則,由
程序自動(dòng)進(jìn)行系統(tǒng)漏洞掃描的分析工作。
" }0 G4 J( T6 n0 d$ d! l/ w9 O6 h6 B' h 所謂基于規(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)說(shuō)明的是,基于規(guī)則的匹配系統(tǒng)有其局限性,因?yàn)樽鳛檫@類系統(tǒng)的基礎(chǔ)的推理規(guī)則一般都是根據(jù)已知的安全漏洞進(jìn)行安排和策劃的,而對(duì)網(wǎng)絡(luò)系統(tǒng)的很多危險(xiǎn)的威脅是來(lái)自未知的安全漏洞,這一點(diǎn)和PC殺毒很相似。
1 `8 a; u9 J5 a& X, Z9 K2 p4 Q2 F3 i& p5 S4 A" A" F d 這種漏洞掃描器是基于
瀏覽器/服務(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)給用戶。
* M5 j3 q/ @+ _+ ^9 R" h# {) M- W3 N3 Y2 g& I+ Q; n2 L1 E 另一種結(jié)構(gòu)的掃描器是采用插件程序結(jié)構(gòu)??梢葬槍?duì)某一具體漏洞,編寫對(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ù)器開啟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ì)
% Z. y; P1 O5 q ?/ o* ]6 W' q0 m: e; @; L 值得我們注意的是漏洞掃描軟件從最初的專門為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)行選用:
# }" E* K: M4 M' @# a$ _& d O4 I7 c; q9 s) X5 r 1.使用插件或者叫做功能模塊技術(shù)。每個(gè)插件都封裝一個(gè)或者多個(gè)漏洞的測(cè)試手段,主掃描程序通過(guò)調(diào)用插件的方法來(lái)執(zhí)行掃描。僅僅是添加新的插件就可以使軟件增加新功能,掃描更多漏洞。在插件編寫規(guī)范公布的情況下,用戶或者第三方公司甚至可以自己編寫插件來(lái)擴(kuò)充軟件的功能。同時(shí)這種技術(shù)使軟件的升級(jí)維護(hù)都變得相對(duì)簡(jiǎn)單,并具有非常強(qiáng)的擴(kuò)展性。
) N" P. ~ k% L, e* _/ F" ~. K2 W- W$ e$ B _1 ^& m& A, p 2.使用專用腳本語(yǔ)言。這其實(shí)就是一種更高級(jí)的插件技術(shù),用戶可以使用專用腳本語(yǔ)言來(lái)擴(kuò)充軟件功能。這些腳本語(yǔ)言語(yǔ)法通常比較簡(jiǎn)單易學(xué),往往用十幾行代碼就可以定制一個(gè)簡(jiǎn)單的測(cè)試,為軟件添加新的測(cè)試項(xiàng)。腳本語(yǔ)言的使用,簡(jiǎn)化了編寫新插件的編程工作,使擴(kuò)充軟件功能的工作變得更加容易,也更加有趣。
8 }# F; v. C; s: w; x s0 e9 P- j9 e7 w/ ~9 z4 ` 3.由漏洞掃描程序到安全評(píng)估專家系統(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)估專家系統(tǒng)。
# ]8 t# c: {5 M! a. W' U) D M: H) ^; g9 U$ C. F Web系統(tǒng)的風(fēng)險(xiǎn)等級(jí)評(píng)估
2 ]' f( R: P5 y4 a* a) f! f* w* e* U7 D% x 在實(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í)。
) E" z, }5 P0 `2 P3 u9 C- u: _( C 劃分的風(fēng)險(xiǎn)評(píng)估級(jí)別如下:
/ @# J$ ~" [0 A R7 Y' }3 m5 P0 i1 V' v N2 R/ v0 k7 V8 E l.A級(jí):掃描結(jié)果顯示沒(méi)有漏洞,但這并不表明系統(tǒng)沒(méi)有漏洞,因?yàn)橛性S多漏洞是尚未發(fā)現(xiàn)的,我們只能針對(duì)已知的漏洞進(jìn)行測(cè)試。
& w1 M- ]" {+ t0 r8 S. x7 ]8 z5 `; o! C% o! g" w! L1 B) V 2.B級(jí):具有一些泄漏服務(wù)器版本信息之類的不是很重要內(nèi)容的漏洞,或者提供容易造成被攻擊的服務(wù),如允許匿名登錄,這種服務(wù)可能會(huì)造成許多其它漏洞。
; c- j/ p9 C) P O0 Y1 j, C+ t/ H5 r; c! _- S1 [; R: |2 C: w/ D 3.C級(jí):具有危害級(jí)別較小的一些漏洞,如可以驗(yàn)證某賬號(hào)的存在,可以造成列出一些頁(yè)面目錄、文件目錄等,不會(huì)造成嚴(yán)重后果的漏洞。
# K. ~7 J# B X, w u0 V& S, m6 S8 S, V 4.D級(jí):具有一般的危害程度的漏洞。如拒絕服務(wù)漏洞,造成Web信息系統(tǒng)不能正常工作;可以讓黑客獲得重要文件的訪問(wèn)權(quán)的漏洞等。
& J) i. q1 x _9 q4 v* Z M! w- V) |- W" b) Y& b 5.E級(jí):具有嚴(yán)重危害程度的漏洞。如存在緩沖區(qū)溢出漏洞,存在
木馬后門,存在可以讓黑客獲得根用戶權(quán)限或根用戶的shell漏洞,根目錄被設(shè)置一般用戶可寫等一些后果非常嚴(yán)重的漏洞。
* k, p" a5 ~8 \7 }5 \: ?8 T" ?+ Q3 k/ N0 \- ?7 I( J% L* K# B 另外,我們需要強(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)該盡可能開放提供服務(wù)必不可少的端口,而將與服務(wù)器服務(wù)無(wú)關(guān)的服務(wù)關(guān)閉,比如:一臺(tái)作為www和ftp服務(wù)器的機(jī)器,應(yīng)該只開放80和25端口,而將其他無(wú)關(guān)的服務(wù)如關(guān)掉,以減少系統(tǒng)漏洞。
# U2 B: q$ i% Z8 [6 t" j8 b/ H! p, K6 @ D$ D6 b! H 因此,我們需要針對(duì)Web系統(tǒng)的實(shí)際用途使用相關(guān)的
工具來(lái)對(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)的安全性。
; Y9 R( S0 Q9 S# L. c7 v( C2 |; _4 u5 V9 t 本文來(lái)自“十萬(wàn)個(gè)為什么”
電腦學(xué)習(xí)網(wǎng)
http://www.why100000.com