隨著Internet的不斷發(fā)展,信息技術(shù)已經(jīng)對經(jīng)濟(jì)發(fā)展、社會進(jìn)步產(chǎn)生了巨大的推動力。當(dāng)今社會高度的計算機(jī)化信息資源對任何人無論在任何時候、任何地方都變得極有價值。不管是存儲在工作站、服務(wù)器中還是流通于Internet上的信息,都已轉(zhuǎn)變成為一個關(guān)系事業(yè)成敗的策略點(diǎn),因此,保證信息資源的安全就顯得格外重要。目前,國內(nèi)網(wǎng)絡(luò)安全產(chǎn)品主要是以硬件為主,其中包括防火墻、入侵檢測系統(tǒng)(IDS)、入侵防御系統(tǒng)(IPS)、防病毒網(wǎng)關(guān)、虛擬專用網(wǎng)(VPN)以及物理隔離卡等產(chǎn)品,其中防火墻、入侵檢測系統(tǒng)、VPN應(yīng)用較為廣泛。漏洞掃描系統(tǒng)也是網(wǎng)絡(luò)安全產(chǎn)品中不可缺少的一部分,有效的安全掃描是增強(qiáng)計算機(jī)系統(tǒng)安全性的重要措施之一,它能夠預(yù)先評估和分析系統(tǒng)中存在的各種安全隱患。換言之,漏洞掃描就是對系統(tǒng)中重要的數(shù)據(jù)、文件等進(jìn)行檢查,發(fā)現(xiàn)其中可被黑客所利用的漏洞。隨著黑客入侵手段的日益復(fù)雜和通用系統(tǒng)不斷發(fā)現(xiàn)的安全缺陷,預(yù)先評估和分析網(wǎng)絡(luò)系統(tǒng)中存在的安全問題已經(jīng)成為網(wǎng)絡(luò)管理員們的重要需求。漏洞掃描的結(jié)果實際上就是系統(tǒng)安全性能的一個評估報告,它指出了哪些攻擊是可能的,因此成為網(wǎng)絡(luò)安全解決方案中的一個重要組成部分。
漏洞掃描技術(shù)的原理
漏洞掃描系統(tǒng)是用來自動檢測遠(yuǎn)程或本地主機(jī)安全漏洞的程序(安全漏洞通常指硬件、軟件、協(xié)議的具體實現(xiàn)或系統(tǒng)安全策略方面存在的安全缺陷)。漏洞掃描按功能大致可分為:操作系統(tǒng)漏洞掃描、網(wǎng)絡(luò)漏洞掃描和數(shù)據(jù)庫漏洞掃描。若針對檢測對象的不同,漏洞掃描還可分為網(wǎng)絡(luò)掃描、操作系統(tǒng)掃描、WWW服務(wù)掃描、數(shù)據(jù)庫掃描以及最近出現(xiàn)的無線網(wǎng)絡(luò)掃描。目前,漏洞掃描,從底層技術(shù)來劃分,也可以分為基于網(wǎng)絡(luò)的掃描和基于主機(jī)的掃描這兩種類型。
漏洞掃描主要通過以下兩種方法來檢測目標(biāo)主機(jī)是否存在漏洞:在端口掃描后得知目標(biāo)主機(jī)開啟的端口以及端口上的網(wǎng)絡(luò)服務(wù),將這些相關(guān)信息與網(wǎng)絡(luò)漏洞掃描系統(tǒng)提供的漏洞庫進(jìn)行匹配,查看是否有滿足匹配條件的漏洞存在(如圖1所示);通過模擬黑客的攻擊手法,對目標(biāo)主機(jī)系統(tǒng)進(jìn)行攻擊性的安全漏洞掃描,如測試弱勢口令等。一旦模擬攻擊成功,則表明目標(biāo)主機(jī)系統(tǒng)存在安全漏洞,下面列出兩種漏洞掃描實現(xiàn)的方法。
(1) 漏洞庫的特征匹配方法
基于網(wǎng)絡(luò)系統(tǒng)漏洞庫的漏洞掃描的關(guān)鍵部分就是它所使用的漏洞特征庫。通過采用基于規(guī)則的模式特征匹配技術(shù),即根據(jù)安全專家對網(wǎng)絡(luò)系統(tǒng)安全漏洞、黑客攻擊案例的分析和系統(tǒng)管理員對網(wǎng)絡(luò)系統(tǒng)安全配置的實際經(jīng)驗,可以形成一套標(biāo)準(zhǔn)的網(wǎng)絡(luò)系統(tǒng)漏洞庫,然后再在此基礎(chǔ)之上構(gòu)成相應(yīng)的匹配規(guī)則,由掃描程序自動進(jìn)行漏洞掃描。若沒有被匹配的規(guī)則,系統(tǒng)的網(wǎng)絡(luò)連接是禁止的。
因此,漏洞庫信息的完整性和有效性決定了漏洞掃描系統(tǒng)的性能,漏洞庫的修訂和更新的性能也會影響漏洞掃描系統(tǒng)運(yùn)行的時間。因此,漏洞庫的編制不僅要對每個存在安全隱患的網(wǎng)絡(luò)服務(wù)建立對應(yīng)的漏洞庫文件,而且應(yīng)當(dāng)能滿足前面所提出的性能要求。
(2)功能模塊(插件)技術(shù)
插件是由腳本語言編寫的子程序,掃描程序可以通過調(diào)用它來執(zhí)行漏洞掃描,檢測出系統(tǒng)中存在的一個或多個漏洞。添加新的插件就可以使漏洞掃描軟件增加新的功能,掃描出更多的漏洞。插件編寫規(guī)范化后,甚至用戶自己都可以用Perl、C等腳本語言編寫的插件來擴(kuò)充漏洞掃描軟件的功能。這種技術(shù)使漏洞掃描軟件的升級維護(hù)變得相對簡單,而專用腳本語言的使用也簡化了編寫新插件的編程工作,使漏洞掃描軟件具有很強(qiáng)的擴(kuò)展性。
基于網(wǎng)絡(luò)的漏洞掃描技術(shù)
基于網(wǎng)絡(luò)的漏洞掃描器,就是通過網(wǎng)絡(luò)來掃描遠(yuǎn)程計算機(jī)中TCP/IP不同端口的服務(wù),然后將這些相關(guān)信息與系統(tǒng)的漏洞庫進(jìn)行模式匹配,如果特征匹配成功,則認(rèn)為安全漏洞存在;或者通過模擬黑客的攻擊手法對目標(biāo)主機(jī)進(jìn)行攻擊,如果模擬攻擊成功,則認(rèn)為安全漏洞存在。
網(wǎng)絡(luò)漏洞掃描系統(tǒng)(簡稱掃描器),是指通過網(wǎng)絡(luò)遠(yuǎn)程檢測目標(biāo)網(wǎng)絡(luò)和主機(jī)系統(tǒng)漏洞的程序,它對網(wǎng)絡(luò)系統(tǒng)和設(shè)備進(jìn)行安全漏洞檢測和分析,從而發(fā)現(xiàn)可能被入侵者非法利用的漏洞。漏洞掃描器多數(shù)采用基于特征的匹配技術(shù),與基于誤用檢測技術(shù)的入侵檢測系統(tǒng)相似。掃描器首先通過請求/應(yīng)答,或通過執(zhí)行攻擊腳本,來搜集目標(biāo)主機(jī)上的信息,然后在獲取的信息中尋找漏洞特征庫定義的安全漏洞,若匹配成功,則認(rèn)為安全漏洞存在??梢钥吹剑踩┒茨芊癜l(fā)現(xiàn)很大程度上取決于漏洞特征的定義?;诰W(wǎng)絡(luò)的漏洞掃描器,一般有以下幾個主要模塊組成(如圖2所示):
漏洞數(shù)據(jù)庫模塊:漏洞數(shù)據(jù)庫包含了各種操作系統(tǒng)的各種漏洞信息,以及如何檢測漏洞的指令。由于新的漏洞會不斷出現(xiàn),該數(shù)據(jù)庫需要經(jīng)常更新,以便能夠檢測到新發(fā)現(xiàn)的漏洞。
掃描引擎模塊:掃描引擎是掃描器的主要部件。根據(jù)用戶配置控制臺部分的相關(guān)設(shè)置,掃描引擎組裝好相應(yīng)的數(shù)據(jù)包,發(fā)送到目標(biāo)系統(tǒng),將接收到的目標(biāo)系統(tǒng)的應(yīng)答數(shù)據(jù)包與漏洞數(shù)據(jù)庫中的漏洞特征進(jìn)行比較,來判斷所選擇的漏洞是否存在。
掃描知識庫模塊:通過查看內(nèi)存中的配置信息,該模塊監(jiān)控當(dāng)前活動的掃描,將要掃描的漏洞的相關(guān)信息提供給掃描引擎,同時還接收掃描引擎返回的掃描結(jié)果。
結(jié)果存儲器和報告生成工具:報告生成工具,利用當(dāng)前活動掃描知識庫中存儲的掃描結(jié)果,生成掃描報告。掃描報告將告訴用戶配置控制臺設(shè)置了哪些選項,根據(jù)這些設(shè)置,掃描結(jié)束后,在哪些目標(biāo)系統(tǒng)上發(fā)現(xiàn)了哪些漏洞。
基于主機(jī)的漏洞掃描技術(shù)
主機(jī)漏洞掃描器則通過在主機(jī)本地的代理程序?qū)ο到y(tǒng)配置、注冊表、系統(tǒng)日志、文件系統(tǒng)或數(shù)據(jù)庫活動進(jìn)行監(jiān)視掃描,搜集他們的信息,然后與系統(tǒng)的漏洞庫進(jìn)行比較,如果滿足匹配條件,則認(rèn)為安全漏洞存在。比如,利用低版本的DNS Bind漏洞,攻擊者能夠獲取root權(quán)限,侵入系統(tǒng)或者攻擊者能夠在遠(yuǎn)程計算機(jī)中執(zhí)行惡意代碼。使用基于網(wǎng)絡(luò)的漏洞掃描工具,能夠監(jiān)測到這些低版本的DNS Bind是否在運(yùn)行。一般來說,基于網(wǎng)絡(luò)的漏洞掃描工具可以看作為一種漏洞信息收集工具,根據(jù)不同漏洞的特性,構(gòu)造網(wǎng)絡(luò)數(shù)據(jù)包,發(fā)給網(wǎng)絡(luò)中的一個或多個目標(biāo)服務(wù)器,以判斷某個特定的漏洞是否存在。
漏洞掃描技術(shù)中存在的問題
網(wǎng)絡(luò)安全掃描產(chǎn)品的核心功能在于檢測目標(biāo)網(wǎng)絡(luò)設(shè)備存在的各種網(wǎng)絡(luò)安全漏洞,針對發(fā)現(xiàn)的網(wǎng)絡(luò)安全漏洞提供詳盡的檢測報告和切實可行的網(wǎng)絡(luò)安全漏洞解決方案,使系統(tǒng)管理員在黑客入侵之前將系統(tǒng)可能存在的各種網(wǎng)絡(luò)安全漏洞修補(bǔ)好,避免黑客的入侵而造成不同程度的損失。
網(wǎng)絡(luò)漏洞掃描系統(tǒng)發(fā)展迅速,產(chǎn)品種類繁多,且各具特點(diǎn),在功能和性能上存在著一定的差異。漏洞掃描系統(tǒng)大多采用軟件產(chǎn)品來實現(xiàn),也有廠家采用硬件產(chǎn)品來實現(xiàn)漏洞掃描。通常以三種形式出現(xiàn):單一的掃描軟件,安裝在計算機(jī)或掌上電腦上,例如ISS Internet Scanner;基于客戶機(jī)(管理端)/服務(wù)器(掃描引擎)模式或瀏覽器/服務(wù)器模式,通常為軟件,安裝在不同的計算機(jī)上,也有將掃描引擎做成硬件的,例如Nessus;其他安全產(chǎn)品的組件,例如防御安全評估就是防火墻的一個組件。在安全掃描中,硬件設(shè)備的資源能夠承受多數(shù)量的主機(jī)。與通常的軟件掃描器相比,由于承載的硬件嵌入系統(tǒng)平臺經(jīng)過特別優(yōu)化,其掃描效率遠(yuǎn)遠(yuǎn)高于一般的安全掃描軟件。本文分別介紹了基于網(wǎng)絡(luò)的漏洞掃描工具和基于主機(jī)的漏洞掃描工具,現(xiàn)有的漏洞掃描系統(tǒng)基本上是采用上述的兩種方法來完成對漏洞的掃描,但是這兩種方法在不同程度上也各有不足之處,主要表現(xiàn)在:
(1)系統(tǒng)配置特征規(guī)則庫問題
網(wǎng)絡(luò)系統(tǒng)漏洞庫是基于漏洞庫的漏洞掃描的靈魂所在,而系統(tǒng)漏洞的確認(rèn)是以系統(tǒng)配置特征規(guī)則庫為基礎(chǔ)的。但是,這樣的系統(tǒng)配置特征規(guī)則庫存在其局限性。專家建議,系統(tǒng)配置特征規(guī)則庫應(yīng)能不斷地被擴(kuò)充和修正,這樣也是對系統(tǒng)漏洞庫的擴(kuò)充和修正,但這些又需要專家的指導(dǎo)和參與才能夠?qū)崿F(xiàn)。
(2)針對漏洞庫信息要求
漏洞庫信息是基于網(wǎng)絡(luò)系統(tǒng)漏洞庫的漏洞掃描的主要判斷依據(jù)。如果漏洞庫信息不全面或得不到即時的更新,不但不能發(fā)揮漏洞掃描的作用,還會給系統(tǒng)管理員以錯誤的引導(dǎo),從而對系統(tǒng)的安全隱患不能采取有效措施并及時消除。專家建議,在按照某一標(biāo)準(zhǔn)設(shè)計漏洞庫的同時,還應(yīng)該讓漏洞庫信息具備完整性、有效性、簡易性等特點(diǎn),這樣即使是用戶自己也易于對漏洞庫進(jìn)行添加配置,從而實現(xiàn)對漏洞庫的即時更新。
結(jié)束語
漏洞掃描技術(shù)是一門新興的技術(shù),它從另一個角度解決網(wǎng)絡(luò)安全問題。具體來講,防火墻技術(shù)是被動防御,而漏洞掃描技術(shù)則是主動防御。與防火墻、入侵檢測等技術(shù)相比,它從另一個角度來解決網(wǎng)絡(luò)安全上的問題。本文就網(wǎng)絡(luò)安全掃描技術(shù)與其包含端口漏洞掃描技術(shù)的一些具體內(nèi)容進(jìn)行了闡述和分析。隨著網(wǎng)絡(luò)的發(fā)展和內(nèi)核的進(jìn)一步修改,新的掃描技術(shù)及對入侵性的漏洞掃描的新防御技術(shù)還會誕生,而到目前為止還沒有一種完全成熟、高效的漏洞掃描防御技術(shù);同時,漏洞掃描面向的漏洞包羅萬象,而且漏洞的數(shù)目也在持續(xù)地增加。就目前的漏洞掃描技術(shù)而言,將結(jié)合人工智能、模式識別等知識逐漸地被提高,但是自動化的漏洞掃描無法得以完全實現(xiàn),而且新的難題也將不斷涌現(xiàn),因此網(wǎng)絡(luò)安全掃描技術(shù)仍有待更進(jìn)一步地研究和完善。
總之,網(wǎng)絡(luò)安全掃描系統(tǒng),是維護(hù)網(wǎng)絡(luò)安全所必備的系統(tǒng)級網(wǎng)絡(luò)安全產(chǎn)品之一,其存在的重要性和必要性正被廣大用戶所接受和認(rèn)可。