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