廣告廣告
  加入我的最愛 設為首頁 風格修改
首頁 首尾
 手機版   訂閱   地圖  簡體 
您是第 2441 個閱讀者
 
發表文章 發表投票 回覆文章
  可列印版   加為IE收藏   收藏主題   上一主題 | 下一主題   
upside 手機 葫蘆墩家族
個人頭像
個人文章 個人相簿 個人日記 個人地圖
特殊貢獻獎 社區建設獎 優秀管理員勳章
頭銜:反病毒 反詐騙 反虐犬   反病毒 反詐騙 反虐犬  
版主
分享: 轉寄此文章 Facebook Plurk Twitter 複製連結到剪貼簿 轉換為繁體 轉換為簡體 載入圖片
推文 x0
[資訊教學] 安全知識之網路掃描器概念與相關技術
安全知識之網路掃描器概念與相關技術
中國IT實驗室收集整理  2006-11-14
http://211.147.225.34/gate/big5/cisco....fety/530311.html

網路安全掃描器簡介

迅速發展的Internet給人們的生活、工作帶來了巨大的方便,但同時,也帶來了一些不容忽視的問題,網路資訊的安全保密問題就是其中之一。

網路的開放性以及駭客的攻擊是造成網路不安全的主要原因。科學家在設計Internet之初就缺乏對安全性的總體構想和設計,我們所用的TCP/IP 協議是建立在可信的環境之下,首先考慮的是網路互連,它是缺乏對安全方面的考慮的。而且TCP/IP協議是完全公開的,遠程訪問使許多攻擊者無須到現場就能夠得手,連接的主機基於互相信任的原則等等這一些性質使網路更加不安全。

先進的技術是實現網路資訊安全的有力武器,這些技術包括:密碼技術、身份驗證技術、訪問控制技術、安全內核技術、網路反病毒技術、資訊泄漏防治技術、防火牆技術、網路安全漏洞掃描技術、入侵檢測技術等。而在系統發生安全事故之前對其進行預防性檢查,及時發現問題並予以解決不失為一種很好的辦法,於是網路安全漏洞掃描技術應運而生。

1. 掃描器基本工作原理

掃描器是一種自動檢測遠程或本地主機安全脆弱點的程式,通過使用掃描器可以不留痕跡的發現遠程伺服器的各種TCP端口的分配及提供的服務和它們的軟體版本,這就能讓我們間接的或直觀的了解到遠程主機所存在的安全問題。

掃描器採用模擬攻擊的形式對目標可能存在的已知安全漏洞進行逐項檢查。目標可以是工作站、伺服器、交換機、數據庫應用等各種對象。然後根據掃描結果向系統管理員提供週密可靠的安全性分析報告,為提高網路安全整體水準產生重要依據。在網路安全體系的建設中,安全掃描工具花費低、效果好、見效快、與網路的運行相對對立、安裝運行簡單,可以大規模減少安全管理員的手工勞動,有利於保持全網安全政策的統一和穩定。

掃描器並不是一個直接的攻擊網路漏洞的程式,它僅僅能幫助我們發現目標機的某些存在的弱點。一個好的掃描器能對它得到的數據進行分析,幫助我們搜尋目標主機的漏洞。但它不會提供進入一個系統的詳細步驟。

掃描器應該有三項功能:發現一個主機和網路的能力;一旦發現一台主機,有發現什麼服務正運行在這臺主機上的能力;通過測試這些服務,發現這些漏洞的能力。

掃描器對Internet安全很重要,因為它能揭示一個網路的脆弱點。在任何一個現有的平臺上都有幾百個熟知的安全脆弱點。在大多數情況下,這些脆弱點都是唯一的,僅影響一個網路服務。人工測試單臺主機的脆弱點是一項極其繁瑣的工作,而掃描程式能輕易的解決這些問題。掃描程式開發者利用可得到的常用攻擊方法並把它們集成到整個掃描中,這樣使用者就可以通過分析輸出的結果發現系統的漏洞。

2.端口掃描介紹

真正的掃描器是TCP端口掃描器,這種程式可以選通TCP/IP端口和服務(比如,Telnet或FTP),並記錄目標的回答。通過這種方法,可以蒐集到關於目標主機的有用資訊(比如,一個匿旬用戶是否可以登錄等等)。而其他所謂的掃描器僅僅是UNIX網路應用程式,這些程式一般用於觀察某一服務是否正在一台遠程機器上正常工作,它們不是真正的掃描器,但也可以用於收集目標主機的資訊(UNIX平臺上通用的rusers和host命令就是這類程式的很好的例子)。

2.1 TCP SYN 掃描

掃描程式發送的SYN數據包,好像準備打開一個新的連接並等待反映一樣。一個SYN|ACK的返回資訊表示端口處於偵聽狀態。一個RST 返回表示端口沒有處於偵聽狀態。如果收到一個SYN|ACK,掃描程式必須再發送一個RST 信號,來關閉這個連接過程。

優點:不會在目標電腦上留下紀錄。
缺點:掃描程式必須要有root許可權才能建立自己的SYN數據包。

2.2 TCP FIN 掃描

關閉的端口會用適當的RST來回復FIN數據包,而打開的端口會忽略對FIN數據包的回復。

優點:FIN數據包可以不惹任何麻煩的通過。
缺點:這種方法和系統的實現有一定的關係,有些系統不論是打開的或關閉的端口對FIN數據包都要給以回復,這種情況下該方法就不實用了。

2.3 TCP connect()掃描

作業系統提供connect()系統調用,用來與每一個感興趣的目標電腦的端口進行連接。如果端口處於偵聽狀態,那麼connect()就能成功。否則,這個端口是不能用的,即沒有提供服務。

優點:系統中的任何用戶都有權利使用這個調用;如果對每個目標端口以線性的方式掃描,將會花費相當長的時間,但如果同時打開多個套接字,就能加速掃描。
缺點:很容易被發現,目標電腦的logs文件會顯示一連串連接和連接出錯的消息,並且能很快的將它關閉。  

3.掃描程式介紹

目前存在的掃描器產品主要可分為基於主機的和基於網路的兩種,前者主要關注軟體所在主機上面的風險漏洞,而後者則是通過網路遠程探測其他主機的安全風險漏洞。

國外,基於主機的產品主要有:AXENT公司的ESM,ISS公司的System Scanner等,基於網路的產品包括ISS公司的Internet Scanner、AXENT公司的NetRecon、NAI公司的CyberCops Scanner、Cisco的NetSonar等。目前國內有中科院網威工作室開發的NetPower產品出現,另外北方電腦公司(***)也有類似產品。 下面介紹一些可以在Internet上免費獲得的掃描程式。

3.1 NSS(網路安全掃描器)

(1) NSS由Perl語言編成,它最根本的價值在於速度,它運行速度非常快,可以執行下列常規檢查:
■Sendmail
■匿名FTP
■NFS出口
■TFTP
■Hosts.equiv
■Xhost

注:除非你擁有最高特權,否則NSS不允許你執行Hosts.equiv。

(2) 利用NSS,用戶可以增加更強大的功能,其中包括:
■AppleTalk掃描
■Novell掃描
■LAN管理員掃描
■可掃描子網

(3) NSS執行的進程包括:
■取得指定域的列表或報告,該域原本不存在這類列表
■用Ping命令確定指定主機是否是活性的
■掃描目標主機的端口
■報告指定地址的漏洞

(4) 提示
在對NSS進行解壓縮後,不能立即運行NSS,需要對它進行一些修改,必須設置一些環境變數,以適應你的機器配置。主要變數包括:
$TmpDir_NSS使用的臨時目錄
$YPX-ypx應用程式的目錄
$PING_可執行的ping命令的目錄
$XWININFO_xwininfo的目錄

如果你隱藏了Perl include目錄(目錄中有Perl include文件),並且在PATH環境變數中沒有包含該目錄,需要加上這個目錄;同時,用戶應該注意NSS需要ftplib.pl庫函數。NSS具有並行能力,可以在許多工作站之間進行分佈式掃描。而且,它可以使進程分支。在資源有限的機器上運行NSS(或未經允許運行NSS)應該避免這種情況,在代碼中有這方面的選項設置。

3.2 Strobe(超級優化TCP端口檢測程式)

strobe是一個TCP端口掃描器,它可以記錄指定機器的所有開放端口。strobe運行速度快(其作者聲稱在適中的時間內,便可掃描整個一個國家的機器)。

strobe的主要特點是,它能快速識別指定機器上正在運行什麼服務。strobe的主要不足是這類資訊是很有限的,一次strobe攻擊充其量可以提供給"入侵者"一個粗略的指南,告訴什麼服務可以被攻擊。但是,strobe用擴展的行命令選項彌補了這個不足。比如,在用大量指定端口掃描主機時,你可以禁止所有重復的端口描述(僅列印首次端口定義)。其他選項包括:

■定義起始和終止端口
■定義在多長時間內接收不到端口或主機響應,便終止這次掃描。
■定義使用的socket號碼
■定義strobe要捕捉的目標主機的文件

在獲得strobe的同時,必然獲得手冊頁面,這對於Solaris 2.3是一個明顯的問題,為了防止發生問題,必須禁止使用getpeername()。在行命令中加入-g 標誌就可以實現這一目的。同時,儘管strobe沒有對遠程主機進行廣泛測試,但它留下的痕跡與早期的ISS一樣明顯,被strobe掃描過的主機會知道這一切(這非常象在/var/adm/messages文件中執行連接請求)。

3.3 SATAN(安全管理員的網路分析工具)

SATAN是為UNIX設計的,它主要是用C和Perl語言編寫的(為了用戶介面的友好性,還用了一些HTML技術)。它能在許多類UNIX平臺上運行,有些根本不需要移植,而在其他平臺上也只是略作移植。

在Linux上運行SATAN有一個特殊問題,應用於原系統的某些規則在Linus平臺上會引起系統失效的致命缺陷;在tcp-scan模組中實現 select()調用也會產生問題;最後要說的是,如果用戶掃描一個完整子網,則會引進反向fping爆炸,也即套接字(socket)緩衝溢出。但是,有一個站點不但包含了用於Linux的、改進的SATAN二進位代碼,還包含了diff文件。SATAN用於掃描遠程主機的許多已知的漏洞,其中包括但並不限于下列這些漏洞:

■FTPD脆弱性和可寫的FTP目錄
■NFS脆弱性
■NIS脆弱性
■RSH脆弱性
■Sendmail
■X伺服器脆弱性

SATAN的安裝和其他應用程式一樣,每個平臺上的SATAN目錄可能略有不同,但一般都是/satan-1.1.1。安裝的第一步(在閱讀了使用文檔說明後)是運行Perl程式reconfig。這個程式搜索各種不同的組成成分,並定義目錄路徑。如果它不能找到或定義一個瀏覽器。則運行失敗,那些把瀏覽器安裝在非標準目錄中(並且沒有在PATH中進行設置)的用戶將不得不手工進行設置。同樣,那些沒有用DNS(未在自己機器上運行DNS)的用戶也必須在/satan-1.1.1/conf/satan.cf中進行下列設置:

$dont_use_nslookuo=1;在解決了全部路徑問題後,用戶可以在分佈式系統上運行安裝程式(IRIX或SunOS),我建議要非常仔細地觀察編譯,以找出錯誤。

SATAN比一般掃描器需要更多一些的資源,尤其是在記憶體和處理器功能方面要求更高一些。如果你在運行SATAN時速度很慢,可以嘗試幾種解決辦法。最直接的辦法就是擴大記憶體和提高處理器能力,但是,如果這種辦法不行,我建議用下面兩種方法:一是盡可能地刪除其他進程;二是把你一次掃描主機的數量限制在100台以下。最後說明的一點是,對於沒有強大的視頻支援或記憶體資源有限的主機,SATAN有一個行命令介面,這一點很重要。

3.4 Jakal

Jakal是一個秘密掃描器,也就是就,它可以掃描一個區域(在防火牆後面),而不留下任何痕跡。
秘密掃描器工作時會產生"半掃描"(half scans),它啟動(但從不完成)與目標主機的SYN/ACK過程。從根本上講,秘密掃描器繞過了防火牆,並且避開了端口掃描探測器,識別出在防火牆後面運行的是什麼服務。(這裡包括了像Courtney和GAbriel這樣的精製掃描探測器)。

3.5 IdentTCPscan

IdentTCPscan是一個更加專業化的掃描器,其中加入了識別指定TCP端口進程的所有者的功能,也就是說,它能測定該進程的UID。

3.6 CONNECT

CONNECT是一個bin/sh程式,它的用途是掃描TFTP服務子網。

3.7 FSPScan

FSPScan用於掃描FSP服務順。FSP代表文件服務協議,是非常類似于FTP的Internet協議。它提供匿名文件傳輸,並且據說具有網路過載保護功能(比如,FSP從來不分叉)。FSP最知名的安全特性可能就是它記錄所有到來用戶的主機名,這被認為優於FTP,因為FTP僅要求用戶的E- mail地址(而實際上根本沒有進行記錄)。FSP相當流行,現在為Windows 和OS/2開發了GUI客戶程式。

3.8 XSCAN

XSCAN掃描具有X伺服器弱點的子網(或主機)。乍一看,這似乎並不太重要,畢竟其他多數掃描器都能做同樣的工作。然而,XSCAN包括了一個增加的功能:如果它找到了一個脆弱的目標,它會立即加入記錄。

XSCAN的其他優點還包括:可以一次掃描多臺主機。這些主機可以在行命令中作為變數鍵入(並且你可以通過混合匹配同時指定主機和子網)。

4. 結束語

隨著Internet的應用日漸普及,網路攻擊的種類和方式也愈來愈多,掃描程式不太可能集成所有的遠程攻擊。每發現一個新的漏洞,掃描程式就應該加入檢查這個新漏洞的能力,這是一個永不停止的過程。因此掃描器最多提供一個快速觀察TCP/IP安全性的工具,通過系統管理員的正確使用,能夠避免一些入侵者的惡意攻擊,但並不能保證網路的安全。



爸爸 你一路好走
獻花 x0 回到頂端 [樓 主] From:臺灣和信超媒體寬帶網 | Posted:2006-11-27 01:20 |

首頁  發表文章 發表投票 回覆文章
Powered by PHPWind v1.3.6
Copyright © 2003-04 PHPWind
Processed in 0.058447 second(s),query:15 Gzip disabled
本站由 瀛睿律師事務所 擔任常年法律顧問 | 免責聲明 | 本網站已依台灣網站內容分級規定處理 | 連絡我們 | 訪客留言