1. 漏洞檢測的幾種方法
漏洞掃描有以下四種檢測技術:
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不同埠的服務,並將結果保存在信息庫中,然後調用相應的插件程序,向遠程主機發送構造好的數據,檢測結果同樣保存於信息庫,以給其他的腳本運行提供所需的信息,這樣可提高檢測效率。如,在針對某FTP服務的攻擊中,可以首先查看服務檢測插件的返回結果,只有在確認目標主機伺服器開啟FTP服務時,對應的針對某FTP服務的攻擊腳本才能被執行。採用這種插件結構的掃描器,可以讓任何人構造自己的攻擊測試腳本,而不用去了解太多掃描器的原理。這種掃描器也可以用做模擬黑客攻擊的平台。採用這種結構的掃描器具有很強的生命力,如著名的Nessus就是採用這種結構。這種網路漏洞掃描器的結構如圖2所示,它是基於客戶端/伺服器(C/S)結構,其中客戶端主要設置伺服器端的掃描參數及收集掃描信息。具體掃描工作由伺服器來完成。
2. 簡述網路安全掃描的內容
一次完整的網路安全掃描分為三個階段:
第一階段:發現目標主機或網路。
第二階段:發現目標後進一步搜集目標信息,包括操作系統類型、運行的服務以及服務軟體的
版本等。如果目標是一個網路,還可以進一步發現該網路的拓撲結構、路由設備以及各主機的信息。
第三階段:根據搜集到的信息判斷或者進一步測試系統是否存在安全漏洞。
網路安全掃描技術包括有PING掃射(Ping sweeP)、操作系統探測(Operating system identification)、如何探測訪問控制規則(firewalking)、埠掃描(Port scan)以及漏洞掃描
(vulnerability scan)等。這些技術在網路安全掃描的三個階段中各有體現。
網路安全掃描技術的兩大核心技術就是埠掃描技術與漏洞掃描技術,這兩種技術廣泛運用於
當前較成熟的網路掃描器中,如著名的Nmap和Nessus就是利用了這兩種技術。
網路安全掃描技術是新興的技術,它與防火牆、入侵檢測等技術相比,從另一個角度來解決網
絡安全上的問題。隨著網路的發展和內核的進一步修改,新的埠掃描技術及對入侵性的埠掃描的新防禦技術還會誕生,而到目前為止還沒有一種完全成熟、高效的埠掃描防禦技術;同時,漏洞掃描面向的漏洞包羅萬象,而且漏洞的數目也在繼續的增加。就目前的漏洞掃描技術而言,自動化的漏洞掃描無法得以完全實現,而且新的難題也將不斷涌現,因此網路安全掃描技術仍有待更進
一步的研究和完善。
3. 常用的網路安全工具有哪些
1、NMap
是一個開源且免費的安全掃描工具,可被用於安全審計和網路發現。能夠工作在Windows、Linux、HP-UX、Solaris、BSD(包括Mac OS)、以及AmigaOS上。Nmap可用於探測網路中那些可訪問的主機,檢測它們操作系統的類型和版本,正在提供的服務,以及正在使用的防火牆或數據包過濾器的信息等。由於它既帶有GUI界面,又提供命令行,因此許多網路與系統管理員經常將它運用到自己的日常工作中,其中包括:檢查開放的埠,維護服務的升級計劃,發現網路拓撲,以及監視主機與服務的正常運行時間等方面。
2、Wireshark
作為業界最好的工具之一,Wireshark可以提供免費且開源的滲透測試服務。通常,您可以把它當作網路協議分析器,以捕獲並查看目標系統與網路中的流量。它可以在Linux、Windows、Unix、Solaris、Mac OS、NetBSD、FreeBSD、以及其他操作系統上運行。Wireshark廣受教育工作者、安全專家、網路專業人員、以及開發人員的使用和喜愛。那些經由Wireshark還原的信息,可以被其圖形用戶界面(GUI)或TTY模式的TShark工具來查看。
3、Metasploit
作為一個安全項目,Metasploit可為用戶提供有關安全風險或漏洞等方面的重要信息。該開源的框架可以通過滲透測試服務,讓用戶獲悉各種應用程序、平台和操作系統上的最新漏洞,以及可以被利用的代碼。從滲透測試角度來看,Metasploit可以實現對已知漏洞的掃描,偵聽,利用,以及證據的收集。它提供可在Linux、Windows以及Apple Mac OS上運行的命令行和圖形用戶界面。雖然Metasploit是一種商業工具,但它附帶有一個開源的有限試用版。
4、Netsparker
作為一款商業化的安全測試工具,Netsparker是一個精確、自動化且易用的Web應用安全掃描程序。該工具可以被用於自動化地識別Web應用服務中的跨站點腳本(XSS)和SQL注入等安全風險。通過基於證據的掃描技術,它不僅可以生成風險報告,還能夠通過概念證明(Proof of Concept),來確認是否有誤報,並能減少手動驗證漏洞的時間。
5、Acunetix
是一款全自動化的Web漏洞掃描程序。它可以智能地檢測、識別並報告超過4500種Web應用漏洞,其中包括XSS XXE、SSRF、主機頭部注入(Host Header Injection)和SQL注入的所有變體。作為一種商業工具,Acunetix通過其DeepScan Crawler來掃描重AJAX(AJAX-heavy)客戶端類型的單頁面應用(SPA)和HTML5網站。
6、Nessus
是針對安全從業人員的漏洞評估解決方案。它能夠協助檢測和修復各種操作系統、應用程序、乃至設備上的漏洞、惡意軟體、配置錯誤、以及補丁的缺失。通過運行在Windows、Linux、Mac、Solaris上,用戶可以用它來進行IP與網站的掃描,合規性檢查,敏感數據搜索等測試。
7、W3af
作為一個免費工具,W3af是一個Web應用攻擊和審計框架。它通過搜索、識別和利用200多種已知的Web應用漏洞,來掌控目標網站的總體風險。這些漏洞包括:跨站點腳本(XSS)、SQL注入、未處理的應用錯誤、可被猜測的密鑰憑據、以及PHP錯誤配置等。W3af不但適用於Mac、Linux和Windows OS,而且提供控制台和圖形用戶界面。
8、Zed Attack Proxy
由OWASP開發的免費且開源的安全測試工具。它可以讓您在Web應用中發現一系列安全風險與漏洞。由於支持Unix/Linux、Windows和Mac OS,即使您是滲透測試的新手,也能輕松地上手該工具。
9、Burpsuite
作為一個嚴控「入侵者」掃描工具,Burpsuite被部分安全測試專家認為:「如果沒有它,滲透測試將無法開展。」雖然不是免費,但是Burpsuite提供豐富的功能。通常,人們可以在Mac OS X、Windows和Linux環境中使用它,以實現爬取內容和功能,攔截代理,以及掃描Web應用等測試目的。
10、Sqlninja
作為最好的開源滲透測試工具之一,Sqlninja可以利用Microsoft SQL Server作為後端,來檢測Web應用上的SQL注入威脅和漏洞。該自動化測試工具提供命令行界面,可以在Linux和Apple Mac OS X上被使用。Sqlninja具有包括:對遠程命令進行計數,DB指紋識別,及其檢測引擎等描述性功能。