新聞中心

EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 網(wǎng)絡(luò)端口掃描及對策研究

網(wǎng)絡(luò)端口掃描及對策研究

作者:武裝 北京機(jī)械工業(yè)學(xué)院網(wǎng)管中心 時間:2008-09-23 來源:電子技術(shù)應(yīng)用 收藏

摘要: 分析了的原理和常用方法,并提出相應(yīng)檢測、處理方法。

本文引用地址:http://butianyuan.cn/article/88274.htm

關(guān)鍵詞:    

   隨著在學(xué)校教學(xué)、科研、管理各個方面的應(yīng)用,用戶資源的要求日益迫切。上充斥著各種各樣的良性、惡性信息,其中端口信息最應(yīng)引起網(wǎng)絡(luò)管理人員和用戶的警覺和注意,因為一個端口就是一個潛在的通信通道,也就是一個入侵通道。對目標(biāo)計算機(jī)進(jìn)行端口掃描,能得到許多有用的信息,同時也往往是一次入侵的前奏。最近流行的“沖擊波”病毒就是通過對主機(jī)135、4444端口掃描,利用RPC服務(wù)的漏洞進(jìn)一步對主機(jī)進(jìn)行攻擊。

  1 掃描器的基本工作原理

  進(jìn)行掃描的方法很多,可以手工進(jìn)行掃描,但主要是使用端口掃描軟件(掃描器)進(jìn)行。掃描器是一種自動檢測遠(yuǎn)程或本地主機(jī)安全性弱點的程序,通過使用掃描器可以不留痕跡的發(fā)現(xiàn)遠(yuǎn)程服務(wù)器的各種TCP端口的分配及提供的服務(wù)和它們的軟件版本。這就能間接的或直觀的了解到遠(yuǎn)程主機(jī)所存在的安全問題。 

  掃描器通過選用遠(yuǎn)程TCP/IP不同的端口的服務(wù),并記錄目標(biāo)給予的回答,通過這種方法,可以搜集到很多關(guān)于目標(biāo)主機(jī)的各種有用的信息(比如:是否能用匿名登陸,是否有可寫的FTP目錄,是否能用TELNET,HTTPD是否用ROOT在運行。) 

  掃描器并不是一個直接的攻擊網(wǎng)絡(luò)漏洞的程序,它僅僅能幫助我們發(fā)現(xiàn)目標(biāo)機(jī)的某些內(nèi)在的弱點。一個好的掃描器能對它得到的數(shù)據(jù)進(jìn)行分析,幫助查找目標(biāo)主機(jī)的漏洞。但它不會提供進(jìn)入一個系統(tǒng)的詳細(xì)步驟。 

  掃描器應(yīng)該有三項功能:(1)發(fā)現(xiàn)一個主機(jī)或網(wǎng)絡(luò);(2)一旦發(fā)現(xiàn)一臺主機(jī),能發(fā)現(xiàn)正運行的這臺主機(jī)在進(jìn)行何種服務(wù);(3)通過測試這些服務(wù),發(fā)現(xiàn)漏洞。

  2 常見的掃描技術(shù)

  常見的掃描方法有以下幾種;

  (1)TCP connect() 掃描 

  這是最基本的TCP掃描。操作系統(tǒng)提供的connect()系統(tǒng)調(diào)用,用來與每一個感興趣的目標(biāo)計算機(jī)的端口進(jìn)行連接。如果端口處于偵聽狀態(tài),則connect()就能成功。否則,這個端口是不能用的,即沒有提供服務(wù)。這個技術(shù)的最大的優(yōu)點是,用戶不需要任何權(quán)限。系統(tǒng)中的任何用戶都有權(quán)利使用這個調(diào)用。另一個好處就是速度快。如果對每個目標(biāo)端口以線性的方式,使用單獨的connect()調(diào)用,將會花費相當(dāng)長的時間,用戶可以通過同時打開多個套接字,從而加速掃描。使用非阻塞I/O允許設(shè)置一個低的時間用盡周期,同時觀察多個套接字。但這種方法的缺點是很容易被發(fā)覺,并且被過濾掉。目標(biāo)計算機(jī)的logs文件會顯示一連串的連接和連接出錯的服務(wù)消息,并且能很快地使它關(guān)閉。 

  (2)TCP SYN掃描 

  這種技術(shù)通常認(rèn)為是半開放掃描,這是因為掃描程序不必要打開一個完全的TCP連接。掃描程序發(fā)送的是一個SYN數(shù)據(jù)包,好象準(zhǔn)備打開一個實際的連接并等待反應(yīng)一樣(參考TCP的三次握手建立一個TCP連接的過程)。一個SYN|ACK的返回信息表示端口處于偵聽狀態(tài)。一個RST返回,表示端口沒有處于偵聽?wèi)B(tài)。如果收到一個SYN|ACK,則掃描程序必須再發(fā)送一個RST信號,來關(guān)閉這個連接過程。這種掃描技術(shù)的優(yōu)點在于一般不會在目標(biāo)計算機(jī)上留下記錄。但這種方法的缺點是,必須要有root權(quán)限才能建立自己的SYN數(shù)據(jù)包。 

  (3)TCP FIN 掃描

  有的時候有可能SYN掃描都不夠秘密。一些防火墻和包過濾器會對一些指定的端口進(jìn)行監(jiān)視,有的程序能檢測到這些掃描。相反,FIN數(shù)據(jù)包可能會順利通過。這種掃描方法的思想是關(guān)閉的端口會用適當(dāng)?shù)腞ST來回復(fù)FIN數(shù)據(jù)包。另一方面,打開的端口會忽略對FIN數(shù)據(jù)包的回復(fù)。這種方法和系統(tǒng)的實現(xiàn)有一定的關(guān)系。如果有的系統(tǒng)不管端口是否打開,都回復(fù)RST,那么這種掃描方法就不適用了。但這種方法在區(qū)分Unix和NT時是十分有用的。 

  (4)IP段掃描 

  并不是直接發(fā)送TCP探測數(shù)據(jù)包,是將數(shù)據(jù)包分成二個較小的IP段。這樣就將一個TCP頭分成好幾個數(shù)據(jù)包,從而過濾器就很難探測到。但一些程序在處理這些小數(shù)據(jù)包時會有些問題。 

  (5)TCP 反向 ident掃描 

  ident 協(xié)議允許(rfc1413-Request For Comments1413)看到通過TCP連接的任何進(jìn)程的擁有者的用戶名,即使這個連接不是由這個進(jìn)程開始的。例如用戶連接到http端口,然后用identd來發(fā)現(xiàn)服務(wù)器是否正在以root權(quán)限運行。這種方法只能在和目標(biāo)端口建立了一個完整的TCP連接后才能看到。 

  (6)FTP 返回攻擊 

  FTP協(xié)議的一個的特點是它支持代理(proxy)FTP連接。即入侵者可以從自己的計算機(jī)1.com和目標(biāo)主機(jī)2.com的FTP server-PI(協(xié)議解釋器)連接,建立一個控制通信連接。然后,請求這個server-PI激活一個有效的server-DTP(數(shù)據(jù)傳輸進(jìn)程)來給Internet上任何地方發(fā)送文件。這個協(xié)議的缺點是能用來發(fā)送不能跟蹤的郵件和新聞,給許多服務(wù)器造成打擊,用盡磁盤。 

  利用這個特點的目的是從一個代理的FTP服務(wù)器來掃描TCP端口。這樣,用戶能在一個防火墻后面連接到一個FTP服務(wù)器,然后掃描端口(這些原來有可能被阻塞)。如果FTP服務(wù)器允許從一個目錄讀寫數(shù)據(jù),用戶就能發(fā)送任意的數(shù)據(jù)到發(fā)現(xiàn)的打開的端口。 

  對于端口掃描,這個技術(shù)是使用PORT命令來表示被動的User DTP正在目標(biāo)計算機(jī)上的某個端口偵聽。然后入侵者試圖用LIST命令列出當(dāng)前目錄,結(jié)果通過Server-DTP發(fā)送出去。如果目標(biāo)主機(jī)正在某個端口偵聽,傳輸就會成功(產(chǎn)生一個150或226的回應(yīng))。否則,會出現(xiàn)″425 Can't build data connection: Connection refused.″。然后,使用另一個PORT命令,嘗試目標(biāo)計算機(jī)上的下一個端口。這種方法的優(yōu)點很明顯,難以跟蹤,能穿過防火墻。主要缺點是速度很慢,有的FTP服務(wù)器最終能得到一些線索,關(guān)閉代理功能。 

  這種方法成功的系統(tǒng)顯示狀態(tài): 

  220 xxxxxxx.com FTP server (Version wu-2.4(3) Wed Dec 14 ...) ready. 

  220 xxx.xxx.xxx.net FTP server ready. 

  220 xx.Telcom.xxxx.edu FTP server (Version wu-2.4(3) Tue Jun 11 ...) ready. 

  220 lem FTP server (SunOS 4.1) ready. 

  220 xxx.xxx.es FTP server (Version wu-2.4(11) Sat Apr 27 ...) ready. 

  220 elios FTP server (SunOS 4.1) ready 

  這種方法不成功的系統(tǒng)顯示狀態(tài): 

  220 wcarchive.cdrom.com FTP server (Version DG-2.0.39 Sun May 4 ...) ready. 

  220 xxx.xx.xxxxx.EDU Version wu-2.4.2-academ[BETA-12](1) Fri Feb 7 

  220 ftp Microsoft FTP Service (Version 3.0). 

  220 xxx FTP server (Version wu-2.4.2-academ[BETA-11](1) Tue Sep 3 ...) ready. 

  220 xxx.unc.edu FTP server (Version wu-2.4.2-academ[BETA-13](6) ...) ready. 

  (7)UDP ICMP端口不能到達(dá)掃描 

  這種方法與上面幾種方法的不同之處在于使用的是UDP協(xié)議。由于這個協(xié)議很簡單,所以掃描變得相對比較困難。這是由于打開的端口對掃描探測并不發(fā)送一個確認(rèn),關(guān)閉的端口也并不需要發(fā)送一個錯誤數(shù)據(jù)包。但許多主機(jī)在向一個未打開的UDP端口發(fā)送一個數(shù)據(jù)包時,會返回一個ICMP_PORT_UNREACH錯誤。這樣軟件就能發(fā)現(xiàn)哪個端口是關(guān)閉的。UDP和ICMP錯誤都不保證能到達(dá),因此這種掃描器必須還實現(xiàn)在一個包看上去是丟失的時候能重新傳輸。這種掃描方法是很慢的,因為RFC對ICMP錯誤消息的產(chǎn)生速率做了規(guī)定。同樣,這種掃描方法需要具有root權(quán)限。 

  (8)UDP recvfrom()和write()掃描 

  當(dāng)非root用戶不能直接讀到端口不能到達(dá)錯誤時,Linux能間接地在它們到達(dá)時通知用戶。例如,對一個關(guān)閉的端口的第二個write()調(diào)用將失敗。在非阻塞的UDP套接字上調(diào)用recvfrom()時,如果ICMP出錯還沒有到達(dá)時回返回EAGAIN-重試。如果ICMP到達(dá)時,返回ECONNREFUSED-連接被拒絕。這就是用來查看端口是否打開的技術(shù)。 

  (9)ICMP echo掃描 

  這并不是真正意義上的掃描。但有時通過ping,在判斷在一個網(wǎng)絡(luò)上主機(jī)是否開機(jī)或網(wǎng)絡(luò)設(shè)備是否在線正常工作時非常有用。

  3 網(wǎng)絡(luò)掃描的監(jiān)測與處理

  網(wǎng)絡(luò)掃描監(jiān)測系統(tǒng)從邏輯上可以分為三個部分:即抓包模塊,判定模塊,以及處理模塊。同時還應(yīng)該保留對處理模塊的接口。

  (1)抓包模塊,這一模塊一般只需要調(diào)用標(biāo)準(zhǔn)的網(wǎng)絡(luò)接口。目前一般的開發(fā)工具都提供相應(yīng)的Winsock API()。

  (2)判定模塊,其流程圖如下;本模塊是處理由抓包模塊提交的數(shù)據(jù)報文,根據(jù)預(yù)定義的過濾規(guī)則進(jìn)行第一次匹配,選出非正常報文,提交給上層應(yīng)用,對于選定的非正常報文,由于存在多種可能,如:TCP SYN、TCP FIN等,則需要進(jìn)行由用戶定制的二次匹配,其中的特征值由用戶根據(jù)相應(yīng)的掃描特點定義。那些仍然沒有確定的報文,往往帶有二義性,這就需要借助歷史記錄的數(shù)據(jù)庫,或者報文(如ICMP報文)長度的閥值來加以判斷。

  (3)處理模塊,這一模塊是按照需要設(shè)置的各種實現(xiàn)方式和采取相對策略,并且要將相應(yīng)記錄存入日志。需要注意的是對一般的掃描要設(shè)置有效的閥值,僅僅一次、二次的掃描不應(yīng)該被視為網(wǎng)絡(luò)掃描。

  端口掃描雖然可以分為秘密掃描、間接掃描、認(rèn)證掃描、代理掃描、PING掃描和安全掃描等等,其應(yīng)用的領(lǐng)域也十分廣泛,但作為網(wǎng)絡(luò)的用戶對發(fā)生在自己身上的被掃描和請求連接應(yīng)引起足夠的重視,尤其是常用的低端口掃描和聯(lián)結(jié)請求,如23、69、135、139、445等。做到心中有數(shù),安全防范,預(yù)防攻擊。

  參考文獻(xiàn)

  1 Tcp/Ip Illustrated Volume 1The Protocols.U.S. W. Richard Stevens 2000.4

  2 Tcp/Ip Illustrated Volume 2 The Implementation.U.S. Gary R. Wright 2000.4

  3 NETWORK MANAGEMENT-Principles and Practice.Mani  Subramanian 2003

  4 張琳等. 網(wǎng)絡(luò)管理與應(yīng)用. 北京:人民郵電出版社, 2000.5

  5 譚思亮. 監(jiān)聽與隱藏-網(wǎng)絡(luò)偵聽揭密與數(shù)據(jù)保護(hù)技術(shù). 北京:機(jī)械工業(yè)出版社,2002.8

  6 網(wǎng)絡(luò)安全技術(shù)與應(yīng)用. 北京:公安大學(xué)出版社,總第32期, 2003.12

模數(shù)轉(zhuǎn)換器相關(guān)文章:模數(shù)轉(zhuǎn)換器工作原理




評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉