首頁 > 文章中心 > 正文

          網絡安全掃描探討

          前言:本站為你精心整理了網絡安全掃描探討范文,希望能為你的創作提供參考價值,我們的客服老師可以幫助你提供個性化的參考范文,歡迎咨詢。

          網絡安全掃描探討

          摘要:網絡安全掃描技術是一種有效的主動防御技術,目前已經成為網絡安全研究中的熱點之一,針對發現漏洞的網絡安全掃描技術進行分析和研究具有重要的現實意義。

          關鍵詞:安全掃描;漏洞;網絡安全

          1引言

          安全掃描也稱為脆弱性評估,它是檢測遠程或本地系統安全脆弱性的一種安全技術。其基本原理是采用模擬黑客攻擊的方式對目標可能存在的已知安全漏洞進行逐項檢測,以便對工作站、服務器、交換機、數據庫等各種對象進行安全漏洞檢測。借助于掃描技術,人們可以發現網絡和主機存在的對外開放的端口、提供的服務、某些系統信息、錯誤的配置、已知的安全漏洞等。故安全掃描技術是一種極為有效的主動防御技術,能發現隱患于未然,如果結合入侵檢測系統和防火墻等其他安全技術,能為網絡提供全方位的保護。安全掃描技術目前應用非常廣泛。

          2端口掃描技術

          TCP協議和UDP協議是TCPIIP協議傳輸層中兩個用于控制數據傳輸的協議。

          TCP和UDP用端口號來唯一地標識一種網絡應用。TCP和UDP端口號用16位二進制數表示,理論上,每一個協議可以擁有65535個端口。因此,端口掃描無論是對網絡管理員還是對網絡攻擊者來說,都是一個必不可少的利器。

          TCP/IP協議上的端口有TCP端口和UDP端口兩類。由于TCP協議是面向連接的協議,針對TCP掃描方法比較多,掃描方法從最初的一般探測發展到后來的躲避IDS和防火墻的高級掃描技術。針對TCP端口的掃描,最早出現的是全連接掃描,隨著安全技術的發展,出現了以躲避防火墻為目的的TCPSYN掃描以及其他一些秘密掃描技術,比如TCPFIN掃描、TCPACK掃描、NULL掃描、XMAS掃描、SYN/ACK掃描和Dumb掃描等。UDP端口的掃描方法相對比較少,只有UDPICMP端口不可達掃描和利用socket函數xecvfrom和write來判斷的掃描。目前,端口掃描技術已經發展得非常豐富和完善。端口掃描主要可分為開放掃描、半開放掃描、秘密掃描等。

          1)TCPconnect掃描

          這是最基本的TCP掃描方法。使用操作系統提供的connect()系統調用來與目標主機的TCP端口進行連接。如果connect()連接成功,說明目標端口處于監聽狀態。若連接失敗,則說明該端口沒有開放。TCPconnect()方法的最大的優點是,不需要任何特殊權限。系統中任何用戶都可以調用connect()函數。另一個優點就是速度快。但TCPconnectU方法的缺點是它很容易被發覺,并且容易被防火墻過濾掉。同時目標主機的日志文件會記錄一系列的有關該服務的連接建立并馬上斷開的錯誤信息。

          2)TCPSYN掃描

          該技術通常稱為“半開放”的掃描,這是因為掃描程序不需要建立一個完全的TCP連接。掃描程序發送的是一個SYN數據包,就像準備建立一個實際的連接并等待回應一樣(TCP通過“三次握手”來建立一個TCP連接)。若返回SYN}ACK數據包則表示目標端口處于監聽狀態,而若返回RST數據包則表示該端口沒有開放。如果收到SYN}ACK數據包,則掃描程序再發送一個RST數據包來終止該連接過程。SYN掃描技術的優點是一般不會在目標主機上留下記錄。而該方法的缺點是,必須要有管理員權限自己構造SYN數據包才能使用這種掃描方式。

          3)TCPFIN掃描

          有時很可能SYN掃描都不夠隱蔽。有些防火墻和包過濾系統能監視并限制可以接收SYN的端口,并能檢查到這些掃描。相反,FIN數據包可能會沒有任何麻煩的通過。這種掃描方法的思想是不開放的端口會用RST來應答FIN數據包。而開放的端口會忽略對FIN數據包的應答。不過,該方法和系統的實現相關。有的系統不管端口是否開放,都回復RST,這樣,該掃描方法就不適用了。當然,大多數情況下該方法是有效的。

          4)TCP反向ident掃描

          ident協議(RFC1413)可以獲取任何使用TCP連接進程的運行用戶名,即使該進程沒有發起連接。因此可以,比如說連接到HTTP端口,然后用identd來獲取HTTP服務程序是否以管理員用戶運行。該方法需要和目標端口建立了一個完整的TCP連接。

          5)FTP返回攻擊掃描

          FTP協議(RFC959)的一個特性是它支持“”FTP連接??梢詮谋镜赜嬎銠C連接到目標主機FTP協議解釋器,以建立控制連接。這樣,向目標主機的協議解釋器發送建立數據傳輸進程的請求,就可以請求FTP服務器向Internet上任何地方發送文件。該掃描方法就是使用PORT命令來聲明本地的客戶數據傳輸進程正在被動的在掃描目標主機的某個端口監聽。然后再試圖用LIST命令請求列出當前目錄,服務器將結果通過數據傳輸進程發送到指定掃描目標主機的端口。如果目標主機正在該端口監聽,傳輸就會成功(產生一個150或226的應答)。否則,會出現連接被拒絕錯誤(426應答)。這樣就探測到目標主機端口是否開放的信息。這種方法的優點很明顯,它不容易被追蹤,并可能穿過防火墻。主要缺點是速度很慢,而且有的FTP服務器能發現這種掃描而關閉功能。因此該方法只能適用于部分FTP服務器。

          3操作系統檢測技術

          1應用層探測技術

          通過向目標主機發送應用服務連接或訪問目標主機開放的有關記錄就可能探測出目標主機的操作系統(包括相應的版本號)。

          2TCP/IP堆棧特征探測技術

          目前流行的TCP/IP堆棧特征探測技術有:

          (1)FIN探測

          通過發送一個FIN數據包到一個打開的端口,并等待回應。RFC793定義的標準行為是“不”響應,但諸如Windows,BSD,CISCO等操作系統會回應一個RESET包。大多數的探測器都使用了這項技術。

          (2)BOGUS標記位探測

          通過發送一個SYN包,它含有沒有定義TCP標記的TCP頭。那么在Linux系統的回應中仍舊會包含這個沒有定義的標記,而在一些別的系統則會在收到該包之后關閉連接。利用這個特性,可以區分一些操作系統。

          (3)TCPISN取樣

          這是利用尋找初始化序列規定長度與特定的操作系統相匹配的方法。利用它可以對許多系統分類,如較早的UNIX系統是64K長度。一些新的UNIX系統則是隨機增長的長度,而Windows平臺則使用“基于時間”方式產生的ISN會隨著時間的變化而有著相對固定的增長。

          4漏洞檢測技術

          漏洞檢測就是通過采用一定的技術主動地去發現系統中的安全漏洞。漏洞檢測可以分為對未知漏洞的檢測和對已知漏洞的檢測。未知漏洞檢測的目的在于發現軟件系統中可能存在但尚未發現的漏洞。已知漏洞的檢測主要是通過采用模擬黑客攻擊的方式對目標可能存在的己知安全漏洞進行逐項檢測,可以對工作站、服務器、交換機、數據庫等各種對象進行安全漏洞檢測安全掃描技術,檢測系統是否存在已公布的安全漏洞。

          漏洞掃描技術是建立在端口掃描技術和遠程操作系統識別技術的基礎之上的,漏洞掃描主要通過以下兩種方法來檢查目標主機是否存在漏洞:

          1、特征匹配方法

          基于網絡系統漏洞庫的漏洞掃描的關鍵部分就是它所使用的漏洞特征庫。通過采用基于規則的模式特征匹配技術,即根據安全專家對網絡系統安全漏洞、黑客攻擊案例的分析和系統管理員對網絡系統安全配置的實際經驗,可以形成一套標準的網絡系統漏洞庫,然后再在此基礎之上構成相應的匹配規則,由掃描程序自動進行漏洞掃描。若沒有被匹配的規則,系統的網絡連接是禁止的。

          2、插件技術

          插件是由腳本語言編寫的子程序,掃描程序可以通過調用它來執行漏洞掃描,檢測出系統中存在的一個或多個漏洞。添加新的插件就可以使漏洞掃描軟件增加新的功能,掃描出更多的漏洞。

          端口掃描和操作系統檢測只是最基本的信息探測,攻擊者感興趣的往往是在這些信息的基礎上找到其存在的薄弱環節,找到錯誤的配置或者找出存在的危害性較大的系統漏洞。這些漏洞包括錯誤配置、簡單口令、網絡協議漏洞以及其他已知漏洞。

          參考文獻

          [1]劉健,曹耀欽,網絡隱蔽掃描技術的研究,計算機工程與設計,2004

          [2]張玉清、戴祖鋒、謝崇斌,安全掃描技術,清華大學出版社,2004

          [3]張平、蔣凡,一種改進的網絡安全掃描工具,計算機工程,2001