一、引言
隨著計算機技術(shù)的發(fā)展,網(wǎng)絡(luò)已日益成為生活中不可或缺的工具,但伴之而來的非法入侵也一直威脅著計算機網(wǎng)絡(luò)系統(tǒng)的安全。由于局域網(wǎng)中采用廣播方式,因此,在某個廣播域中可以監(jiān)聽到所有的信息包。而黑客通過對信息包進行分析,就能獲取局域網(wǎng)上傳輸?shù)囊恍┲匾畔ⅰJ聦嵣希芏嗪诳腿肭謺r都把局域網(wǎng)掃描和偵聽作為其最基本的步驟和手段,原因是想用這種方法獲取其想要的密碼等信息。但另一方面,我們對黑客入侵活動和其它網(wǎng)絡(luò)犯罪進行偵查、取證時,也可以使用網(wǎng)絡(luò)監(jiān)聽技術(shù)來獲取必要的信息。因此,了解以太網(wǎng)監(jiān)聽技術(shù)的原理、實現(xiàn)方法和防范措施就顯得尤為重要。
二、局域網(wǎng)監(jiān)聽的基本原理
根據(jù)IEEE的描述,局域網(wǎng)技術(shù)是"把分散在一個建筑物或相鄰幾個建筑物中的計算機、終端、大容量存儲器的外圍設(shè)備、控制器、顯示器、以及為連接其它網(wǎng)絡(luò)而使用的網(wǎng)絡(luò)連接器等相互連接起來,以很高的速度進行通訊的手段"。
局域網(wǎng)具有設(shè)備共享、信息共享、可進行高速數(shù)據(jù)通訊和多媒體信息通信、分布式處理、具有較高的兼容性和安全性等基本功能和特點。目前局域網(wǎng)主要用于辦公室自動化和校園教學(xué)及管理,一般可根據(jù)具體情況采用總線形、環(huán)形、樹形及星形的拓?fù)浣Y(jié)構(gòu)。
1. 網(wǎng)絡(luò)監(jiān)聽
網(wǎng)絡(luò)監(jiān)聽技術(shù)本來是提供給網(wǎng)絡(luò)安全管理人員進行管理的工具,可以用來監(jiān)視網(wǎng)絡(luò)的狀態(tài)、數(shù)據(jù)流動情況以及網(wǎng)絡(luò)上傳輸?shù)男畔⒌取.?dāng)信息以明文的形式在網(wǎng)絡(luò)上傳輸時,使用監(jiān)聽技術(shù)進行攻擊并不是一件難事,只要將網(wǎng)絡(luò)接口設(shè)置成監(jiān)聽模式,便可以源源不斷地將網(wǎng)上傳輸?shù)男畔⒔孬@。網(wǎng)絡(luò)監(jiān)聽可以在網(wǎng)上的任何一個位置實施,如局域網(wǎng)中的一臺主機、網(wǎng)關(guān)上或遠程網(wǎng)的調(diào)制解調(diào)器之間等。
2. 在局域網(wǎng)實現(xiàn)監(jiān)聽的基本原理
對于目前很流行的以太網(wǎng)協(xié)議,其工作方式是:將要發(fā)送的數(shù)據(jù)包發(fā)往連接在一起的所有主機,包中包含著應(yīng)該接收數(shù)據(jù)包主機的正確地址,只有與數(shù)據(jù)包中目標(biāo)地址一致的那臺主機才能接收。但是,當(dāng)主機工作監(jiān)聽模式下,無論數(shù)據(jù)包中的目標(biāo)地址是什么,主機都將接收(當(dāng)然只能監(jiān)聽經(jīng)過自己網(wǎng)絡(luò)接口的那些包)。
在因特網(wǎng)上有很多使用以太網(wǎng)協(xié)議的局域網(wǎng),許多主機通過電纜、集線器連在一起。當(dāng)同一網(wǎng)絡(luò)中的兩臺主機通信的時候,源主機將寫有目的的主機地址的數(shù)據(jù)包直接發(fā)向目的主機。但這種數(shù)據(jù)包不能在IP層直接發(fā)送,必須從TCP/IP協(xié)議的IP層交給網(wǎng)絡(luò)接口,也就是數(shù)據(jù)鏈路層,而網(wǎng)絡(luò)接口是不會識別IP地址的,因此在網(wǎng)絡(luò)接口數(shù)據(jù)包又增加了一部分以太幀頭的信息。在幀頭中有兩個域,分別為只有網(wǎng)絡(luò)接口才能識別的源主機和目的主機的物理地址,這是一個與IP地址相對應(yīng)的48位的地址。
傳輸數(shù)據(jù)時,包含物理地址的幀從網(wǎng)絡(luò)接口(網(wǎng)卡)發(fā)送到物理的線路上,如果局域網(wǎng)是由一條粗纜或細(xì)纜連接而成,則數(shù)字信號在電纜上傳輸,能夠到達線路上的每一臺主機。當(dāng)使用集線器時,由集線器再發(fā)向連接在集線器上的每一條線路,數(shù)字信號也能到達連接在集線器上的每一臺主機。當(dāng)數(shù)字信號到達一臺主機的網(wǎng)絡(luò)接口時,正常情況下,網(wǎng)絡(luò)接口讀入數(shù)據(jù)幀,進行檢查,如果數(shù)據(jù)幀中攜帶的物理地址是自己的或者是廣播地址,則將數(shù)據(jù)幀交給上層協(xié)議軟件,也就是IP層軟件,否則就將這個幀丟棄。對于每一個到達網(wǎng)絡(luò)接口的數(shù)據(jù)幀,都要進行這個過程。
然而,當(dāng)主機工作在監(jiān)聽模式下,所有的數(shù)據(jù)幀都將被交給上層協(xié)議軟件處理。而且,當(dāng)連接在同一條電纜或集線器上的主機被邏輯地分為幾個子網(wǎng)時,如果一臺主機處于監(jiān)聽模式下,它還能接收到發(fā)向與自己不在同一子網(wǎng)(使用了不同的掩碼、IP地址和網(wǎng)關(guān))的主機的數(shù)據(jù)包。也就是說,在同一條物理信道上傳輸?shù)乃行畔⒍伎梢员唤邮盏健A硗猓F(xiàn)在網(wǎng)絡(luò)中使用的大部分協(xié)議都是很早設(shè)計的,許多協(xié)議的實現(xiàn)都是基于一種非常友好的、通信的雙方充分信任的基礎(chǔ)之上,許多信息以明文發(fā)送。因此,如果用戶的賬戶名和口令等信息也以明文的方式在網(wǎng)上傳輸,而此時一個黑客或網(wǎng)絡(luò)攻擊者正在進行網(wǎng)絡(luò)監(jiān)聽,只要具有初步的網(wǎng)絡(luò)和TCP/IP協(xié)議知識,便能輕易地從監(jiān)聽到的信息中提取出感興趣的部分。同理,正確的使用網(wǎng)絡(luò)監(jiān)聽技術(shù)也可以發(fā)現(xiàn)入侵并對入侵者進行追蹤定位,在對網(wǎng)絡(luò)犯罪進行偵查取證時獲取有關(guān)犯罪行為的重要信息,成為打擊網(wǎng)絡(luò)犯罪的有力手段。
三、局域網(wǎng)監(jiān)聽的簡單實現(xiàn)
要使主機工作在監(jiān)聽模式下,需要向網(wǎng)絡(luò)接口發(fā)出I/O控制命令,將其設(shè)置為監(jiān)聽模式。在Unix系統(tǒng)中,發(fā)送這些命令需要超級用戶的權(quán)限。在Windows系列操作系統(tǒng)中,則沒有這個限制。要實現(xiàn)網(wǎng)絡(luò)監(jiān)聽,可以自己用相關(guān)的計算機語言和函數(shù)編寫出功能強大的網(wǎng)絡(luò)監(jiān)聽程序,也可以使用一些現(xiàn)成的監(jiān)聽軟件,在很多黑客網(wǎng)站或從事網(wǎng)絡(luò)安全管理的網(wǎng)站都有。
四、如何檢測并防范網(wǎng)絡(luò)監(jiān)聽
網(wǎng)絡(luò)監(jiān)聽是很難被發(fā)現(xiàn)的,因為運行網(wǎng)絡(luò)監(jiān)聽的主機只是被動地接收在局域局上傳輸?shù)男畔ⅲ恢鲃拥呐c其他主機交換信息,也沒有修改在網(wǎng)上傳輸?shù)臄?shù)據(jù)包。
1. 對可能存在的網(wǎng)絡(luò)監(jiān)聽的檢測
(1)對于懷疑運行監(jiān)聽程序的機器,用正確的IP地址和錯誤的物理地址ping,運行監(jiān)聽程序的機器會有響應(yīng)。這是因為正常的機器不接收錯誤的物理地址,處理監(jiān)聽狀態(tài)的機器能接收,但如果他的IPstack不再次反向檢查的話,就會響應(yīng)。
(2)向網(wǎng)上發(fā)大量不存在的物理地址的包,由于監(jiān)聽程序要分析和處理大量的數(shù)據(jù)包會占用很多的CPU資源,這將導(dǎo)致性能下降。通過比較前后該機器性能加以判斷。這種方法難度比較大。
(3)使用反監(jiān)聽工具如antisniffer等進行檢測
2. 對網(wǎng)絡(luò)監(jiān)聽的防范措施
(1)從邏輯或物理上對網(wǎng)絡(luò)分段
網(wǎng)絡(luò)分段通常被認(rèn)為是控制網(wǎng)絡(luò)廣播風(fēng)暴的一種基本手段,但其實也是保證網(wǎng)絡(luò)安全的一項措施。其目的是將非法用戶與敏感的網(wǎng)絡(luò)資源相互隔離,從而防止可能的非法監(jiān)聽。
(2)以交換式集線器代替共享式集線器
對局域網(wǎng)的中心交換機進行網(wǎng)絡(luò)分段后,局域網(wǎng)監(jiān)聽的危險仍然存在。這是因為網(wǎng)絡(luò)最終用戶的接入往往是通過分支集線器而不是中心交換機,而使用最廣泛的分支集線器通常是共享式集線器。這樣,當(dāng)用戶與主機進行數(shù)據(jù)通信時,兩臺機器之間的數(shù)據(jù)包(稱為單播包Unicast Packet)還是會被同一臺集線器上的其他用戶所監(jiān)聽。
因此,應(yīng)該以交換式集線器代替共享式集線器,使單播包僅在兩個節(jié)點之間傳送,從而防止非法監(jiān)聽。當(dāng)然,交換式集線器只能控制單播包而無法控制廣播包(Broadcast Packet)和多播包(Multicast Packet)。但廣播包和多播包內(nèi)的關(guān)鍵信息,要遠遠少于單播包。
(3)使用加密技術(shù)
數(shù)據(jù)經(jīng)過加密后,通過監(jiān)聽仍然可以得到傳送的信息,但顯示的是亂碼。使用加密技術(shù)的缺點是影響數(shù)據(jù)傳輸速度以及使用一個弱加密術(shù)比較容易被攻破。系統(tǒng)管理員和用戶需要在網(wǎng)絡(luò)速度和安全性上進行折中。
(4)劃分VLAN
運用VLAN(虛擬局域網(wǎng))技術(shù),將以太網(wǎng)通信變?yōu)辄c到點通信,可以防止大部分基于網(wǎng)絡(luò)監(jiān)聽的入侵。
五、結(jié)束語
網(wǎng)絡(luò)監(jiān)聽技術(shù)作為一種工具,總是扮演著正反兩方面的角色。對于入侵者來說,最喜歡的莫過于用戶的口令,通過網(wǎng)絡(luò)監(jiān)聽可以很容易地獲得這些關(guān)鍵信息。而對于入侵檢測和追蹤者來說,網(wǎng)絡(luò)監(jiān)聽技術(shù)又能夠在與入侵者的斗爭中發(fā)揮重要的作用。鑒于目前的網(wǎng)絡(luò)安全現(xiàn)狀,我們應(yīng)該進一步挖掘網(wǎng)絡(luò)監(jiān)聽技術(shù)的細(xì)節(jié),從技術(shù)基礎(chǔ)上掌握先機,才能在與入侵者的斗爭中取得勝利。