如何防御Sniffer攻擊
什么是Sniffer攻擊?
Sniffer是一種常用的收集有用數(shù)據(jù)方法,這些數(shù)據(jù)可以是用戶的帳號(hào)和密碼,可以是一些商用機(jī)密數(shù)據(jù)等等。隨著Internet及電子商務(wù)的日益普及,Internet的安全也越來越受到重視。在Internet安全隱患中扮演重要角色之一的Sniffer以受到越來越大的關(guān)注,所以今天我要向大家介紹一下介紹Sniffer以及如何阻止sniffer。
如何發(fā)現(xiàn)Sniffer?
Sniffer最大的危險(xiǎn)性就是它很難被發(fā)現(xiàn),在單機(jī)情況下發(fā)現(xiàn)一個(gè)Sniffer還是比較容易的,可以通過查看計(jì)算機(jī)上當(dāng)前正在運(yùn)行的所有程序來實(shí)現(xiàn),當(dāng)然這不一定可靠。
在UNIX系統(tǒng)下可以使用下面的命令:ps-aux。這個(gè)命令列出當(dāng)前的所有進(jìn)程、啟動(dòng)這些進(jìn)程的用戶、它們占用CPU的時(shí)間以及占用多少內(nèi)存等等。
在Windoos系統(tǒng)下,可以按下Ctrl+Alt+Del鍵,查看任務(wù)列表。不過,編程技巧高的Sniffer即使正在運(yùn)行,也不會(huì)出現(xiàn)在這里。
另一個(gè)方法就是在系統(tǒng)中搜索,查找可懷疑的文件。但人侵者用的可能是他們自己寫的程序,所以這給發(fā)現(xiàn)Sniffer造成相當(dāng)大的困難。還有許多工具能用來查看你的系統(tǒng)會(huì)不會(huì)處于混雜模式,從而發(fā)現(xiàn)是否有一個(gè)Sniffer正在運(yùn)行。 但在網(wǎng)絡(luò)情況下要檢測(cè)出哪一臺(tái)主機(jī)正在運(yùn)行Sniffer是非常困難的,因?yàn)镾niffer是一種被動(dòng)攻擊軟件,它并不對(duì)任何主機(jī)發(fā)出數(shù)據(jù)包,而只是靜靜地運(yùn)行著,等待著要捕獲的數(shù)據(jù)包經(jīng)過。
如何抵御Sniffer?
雖然發(fā)現(xiàn)一個(gè)Sniffer是非常困難的,但是我們?nèi)匀挥修k法抵御Sniffer的嗅探攻擊。既然Sniffer要捕獲我們的機(jī)密信息,那我們干脆就讓它捕獲,但事先要對(duì)這些信息進(jìn)行加密,黑客即使捕捉到了我們的機(jī)密信息,也無法解密,這樣,Sniffer就失去了作用。
黑客主要用Sniffer來捕獲Telnet、FTP、POP3等數(shù)據(jù)包,因?yàn)檫@些協(xié)議以明文在網(wǎng)上傳輸,我們可以使用一種叫做SSH的安全協(xié)議來替代Telnet等容易被Sniffer攻擊的協(xié)議。
SSH又叫Secure Shell,它是一個(gè)在應(yīng)用程序中提供安全通信的協(xié)議,建立在客戶/服務(wù)器模型上。SSH服務(wù)器分配的端口是22,連接是通過使用一種來自RSA的算法建立的。在授權(quán)完成后,接下來的通信數(shù)據(jù)用IDEA技術(shù)來加密。這種加密方法通常是比較強(qiáng)的,適合于任何非秘密和非經(jīng)典的通信。
SSH后來發(fā)展成為F-SSH,提供了高層次的、軍方級(jí)別的對(duì)通信過程的加密。它為通過TCP/IP的網(wǎng)絡(luò)通信提供了通用的最強(qiáng)的加密。如果某個(gè)站點(diǎn)使用F—SSH,用戶名和口令就不再重要了。目前,還沒有人突破過這種加密方法。即使是Sniffer,收集到的信息將不再有價(jià)值。有興趣的讀者可以參看與SSH相關(guān)的書籍。
另一種抵御Sniffer攻擊的方法是使用安全的拓?fù)浣Y(jié)構(gòu)。因?yàn)镾niffer只對(duì)以太網(wǎng)、令牌環(huán)網(wǎng)等網(wǎng)絡(luò)起作用,所以盡量使用交換設(shè)備的網(wǎng)絡(luò)可以從最大程度上防止被Sniffer竊聽到不屬于自己的數(shù)據(jù)包。還有一個(gè)原則用于防止Snther的被動(dòng)攻擊 一個(gè)網(wǎng)絡(luò)段必須有足夠的理由才能信任另一網(wǎng)絡(luò)段。網(wǎng)絡(luò)段應(yīng)該從考慮具體的數(shù)據(jù)之間的信任關(guān)系上來設(shè)計(jì),而不是從硬件需要上設(shè)計(jì)。一個(gè)網(wǎng)絡(luò)段僅由能互相信任的計(jì)算機(jī)組成。通常它們?cè)谕粋€(gè)房間里,或在同一個(gè)辦公室里,應(yīng)該固定在建筑的某一部分。注意每臺(tái)機(jī)器是通過硬連接線接到集線器(Hub)的,集線器再接到交換機(jī)上。由于網(wǎng)絡(luò)分段了,數(shù)據(jù)包只能在這個(gè)網(wǎng)段上被捕獲,其余的網(wǎng)段將不可能被監(jiān)聽。
所有的問題都?xì)w結(jié)到信任上面。計(jì)算機(jī)為了和其他計(jì)算機(jī)進(jìn)行通信,它就必須信任那臺(tái)計(jì)算機(jī)。系統(tǒng)管理員的工作就是決定一個(gè)方法,使得計(jì)算機(jī)之間的信任關(guān)系很小。這樣,就建立了一種框架,告訴你什么時(shí)候放置了一個(gè)Sniffer,它放在哪里,是誰放的等等。
如果局域網(wǎng)要和Internet相連,僅僅使用防火墻是不夠的。人侵者已經(jīng)能從一個(gè)防火墻后面掃描,并探測(cè)正在運(yùn)行的服務(wù)。應(yīng)該關(guān)心的是一旦人侵者進(jìn)人系統(tǒng),他能得到些什么。你必須考慮一條這樣的路徑,即信任關(guān)系有多長。舉個(gè)例子,假設(shè)你的Web服務(wù)器對(duì)計(jì)算機(jī)A是信任的,那么有多少計(jì)算機(jī)是A信任的呢?又有多少計(jì)算機(jī)是受這些計(jì)算機(jī)信任的呢?一句話,就是確定最小信任關(guān)系的那臺(tái)計(jì)算機(jī)。在信任關(guān)系中,這臺(tái)計(jì)算機(jī)之前的任何一臺(tái)計(jì)算機(jī)都可能對(duì)你的計(jì)算機(jī)進(jìn)行攻擊并成功。你的任務(wù)就是保證一旦出現(xiàn)Sniffer,它只對(duì)最小范圍有效。
Sniffr往往是在攻擊者侵人系統(tǒng)后使用的,用來收集有用的信息。因此,防止系統(tǒng)被突破很關(guān)鍵。系統(tǒng)安全管理員要定期的對(duì)所管理的網(wǎng)絡(luò)進(jìn)行安全測(cè)試,防止安全隱患。同時(shí)要控制擁有相當(dāng)權(quán)限的用戶的數(shù)量,因?yàn)樵S多攻擊往往來自網(wǎng)絡(luò)內(nèi)部。
防止Sniffer的工具有哪些?
Antisniff是由著名黑客組織(現(xiàn)在是安全公司了)L0pht開發(fā)的工具,用于檢測(cè)本地網(wǎng)絡(luò)是否有機(jī)器處于混雜模式(即監(jiān)聽模式)。
一臺(tái)處于混雜模式的機(jī)器意味著它很可能已被入侵并被安裝了Sniffer。對(duì)于網(wǎng)絡(luò)管理員來說,了解哪臺(tái)機(jī)器正處于混雜模式以作進(jìn)一步的調(diào)查研究是非常重要的。
Antisniff 1.X版運(yùn)行在以太網(wǎng)的WindOWS NT系統(tǒng)中,并提供了簡單易用的用戶圖形界面。該工具以多種方式測(cè)試遠(yuǎn)程系統(tǒng)是否正在捕捉和分析那些并不是發(fā)送給它的數(shù)據(jù)包。這些測(cè)試方法與其操作系統(tǒng)本身無關(guān)。
Antisniff運(yùn)行在本地以太網(wǎng)的一個(gè)網(wǎng)段上。如果在非交換式的C類網(wǎng)絡(luò)中運(yùn)行,Antisniff能監(jiān)聽整個(gè)網(wǎng)絡(luò);如果網(wǎng)絡(luò)交換機(jī)按照工作組來隔離,則每個(gè)工作組中都需要運(yùn)行一個(gè)Antisniff。原因是某些特殊的測(cè)試使用了無效的以太網(wǎng)地址,另外某些測(cè)試需要進(jìn)行混雜模式下的統(tǒng)計(jì)(如響應(yīng)時(shí)間、包丟失率等)。
Antisniff的用法非常簡便,在工具的圖形界面中選擇需要進(jìn)行檢查的機(jī)器,并且指定檢查頻率。對(duì)于除網(wǎng)絡(luò)響應(yīng)時(shí)間檢查外的測(cè)試,每一臺(tái)機(jī)器會(huì)返回一個(gè)確定的正值或負(fù)值。返回的正值表示該機(jī)器正處于混雜模式,這就有可能已經(jīng)被安裝了Sniffer。
對(duì)于網(wǎng)絡(luò)響應(yīng)時(shí)間測(cè)試的返回值,建議根據(jù)第一次返回的數(shù)值計(jì)算標(biāo)準(zhǔn)值,然后再對(duì)在flood和非flood兩次測(cè)試時(shí)返回的結(jié)果有較大變化的機(jī)器進(jìn)行檢查。一旦這些機(jī)器退出混雜模式返回到正常操作模式下,Antisniff的下一次測(cè)試將會(huì)記錄到混雜模式和非混雜模式的差值(正值)。
應(yīng)該周期性地運(yùn)行Antisniff,具體周期值根據(jù)不同的站點(diǎn)、不同的網(wǎng)絡(luò)負(fù)荷、測(cè)試的機(jī)器數(shù)量和網(wǎng)站策略等而有所不同。