咱們來把嗅探攻擊說個清楚
譯文【51CTO.com快譯】朋友,您聽說過嗅探一詞嗎?一般而言,它是指:秘密地調查某些內容,以檢索出機密的信息。而從信息安全的角度來看,嗅探是指:竊聽流量,或將流量路由到可以捕獲,分析和監控的目標處。如果用在“正道”上,我們可以通過執行嗅探,來分析網絡的使用情況,對網絡問題進行故障排查,以及通過監控會話來進行各種開發與測試。不過,我們在此討論的是被“用歪了”的嗅探攻擊,及其如何從復雜數據集中提取有意義的信息。
定義嗅探攻擊
在互聯網世界中,攻擊者可以使用應用程序、網絡、以及主機級別的硬件設備,通過執行嗅探,以讀取或截獲任何網絡數據包中的文本信息。此類信息包括:用戶名、密碼、密鑰、銀行賬號、交易記錄等任何有價值的內容。我們可以簡單地將此類攻擊在技術上等同于物理竊取。
嗅探動機:
- 獲取用戶名和密碼。
- 竊取銀行和交易的相關信息。
- 監控電子郵件和聊天消息。
- 實施身份信息盜竊。
嗅探的類型
嗅探可分為主動和被動兩種。顧名思義,主動是指:攻擊者為了獲取信息而進行的一系列活動或交互。而在被動狀態下,攻擊者只是隱蔽且被動地獲取信息。下面,讓我們看看兩者的特點:
(1) 被動嗅探:
此類嗅探往往發生在集線器(hub)上。由于集線器設備可以在某個端口上接收流量,然后在所有其他端口上重新轉發該流量,因此,如果攻擊者將嗅探器放置在集線器上,則可以直接捕獲所有流經集線器的網絡流量。而且,嗅探器可以長時間“安靜”地在那里監控網絡中的一舉一動。不過,如今隨著集線器使用的減少,以及被交換機所取代,這種攻擊方式已顯得比較老套了。
(2) 主動嗅探:
交換機能夠學習帶有目標MAC地址的CAM(二層交換機地址)表。根據該表,交換機可以決定將哪個網絡數據包發送到何處。在主動嗅探時,嗅探器將使用大量虛假的請求發往交換機,以填滿CAM表。CAM滿后,交換機將不得不把網絡流量,以“合法”的形式發往所有端口,進而方便攻擊者進行嗅探。
網絡攻擊的種類
- MAC泛洪:如上文所述,大量的MAC地址涌入交換機,以使CAM表溢出,并方便嗅探的執行。
- DNS緩存中毒:攻擊者通過更改DNS的緩存記錄,以便將請求重定向到惡意網站,進而捕獲這些流量。由于這些惡意網站在外觀上酷似真實的合法網站,因此極具欺騙性。用戶一旦輸入與賬戶相關的登錄信息,就會立即被嗅探到。
- 邪惡雙胞胎攻擊(Evil Twin Attack):攻擊者通過惡意軟件來更改受害者的DNS,并通過設置一對DNS,來響應各種請求。據此,攻擊者可以輕松地嗅探流量,并將其重新路由到自己設定的目標網站。
- MAC欺騙:為了收集到所有連接著交換機的MAC地址,攻擊者將嗅探設備的MAC地址,設置為與目標主機相同,以嗅探并截獲發往目標主機的消息。
如何識別嗅探器?
嗅探器既可能是安裝在某個系統上的軟件,又可能是嵌入式的硬件設備,還可能是DNS級別的嗅探器或其他網絡節點。如您所知,網絡在邏輯上被分為7層,每一層都有著各自的專屬任務。那么嗅探攻擊到底發生在哪一層上呢?總的說來,嗅探器可以從各個層次上捕獲PDU(協議數據單元),其中最常見的是第3層(網絡)和第7層(應用)。而針對每一層的協議,目前都存在著非安全版本,以及對應的安全版本。下面我們來討論那些容易受到嗅探攻擊的協議:
(1) HTTP:
超文本傳輸協議位于OSI模型的第7層。作為一個應用層協議,它以純文本形式傳輸信息,這一般適用于靜態的、或不需要用戶輸入任何信息的網站。其顯著缺點是:任何人都可以在通信雙方之間設置一個中間人攻擊(Man-in-the-Middle Attack,MITM)的代理,用來接受所有流量,甚至修改某些數據流。隨著Web 2.O時代的到來,為了用戶之間交互的安全性,我們需要使用HTTP的安全版本(即HTTPS),來保證數據流在離開第7層時就已經被加密了。
(2) TELNET:
Telnet是一種客戶端-服務器協議,它可以通過虛擬終端來提供通信功能。由于Telnet在默認情況下并不加密通信內容,因此那些有權訪問到客戶端和服務器所連接的交換機或集線器的攻擊者,都可以嗅探到Telnet的通信內容,進而獲取用戶名和密碼等信息。用作不安全Telnet的替代協議,SSH能夠對流量進行加密,進而保證數據的機密性和完整性。
(3) FTP:
FTP常被用于在客戶端和服務器之間傳輸文件。為了進行身份驗證,FTP使用了純文本的用戶名和密碼機制。不過,和Telnet類似,攻擊者完全可以通過嗅探流量,以獲取身份憑據,進而訪問到服務器上的所有文件。FTP既可以通過SSL/TLS來進行加固,也可以被更安全的SFTP(SSH的文件傳輸協議)所代替。
(4) POP:
電子郵件客戶端可以使用POP協議,從郵件服務器上下載郵件。由于同樣使用純文本機制進行通信,因此該協議也容易受到嗅探攻擊。其后續的版本--POP2和POP3,都比原始版本要安全得多。
(5) SNMP:
簡單網絡管理協議(SNMP)可被用于與網絡上的受管理設備進行通信。對于通信過程中的各種往來消息,SNMP使用社區字符串(community string)來執行客戶端的身份驗證。由于community string傳輸的是明文形式的密碼,因此SNMP早已被SNMP V2和V3所取代,其中V3被認為是最新且最安全的。
優秀嗅探工具
(1) Wireshark:
作為一款開源的數據包捕獲器和分析器,Wireshark支持Windows和Linux等操作系統。而作為Tcpdump的替代品,該工具是基于GUI的。Wireshark使用pcap去監控和捕獲那些來自網絡接口的數據包,并根據IP地址、協議和許多其他參數,對數據包進行過濾。不同的數據包可以基于相關性被分組或標記。據此,我們可以按需進行選擇和分解。
(2) dSniff:
dSniff可以被用于對各種網絡協議進行分析和密碼嗅探。它可以從FTP、Telnet、POP、rLogin、Microsoft SMB、SNMP、以及IMAP等協議中獲取信息。
(3) Microsoft network monitor:
顧名思義,它可以被用于針對網絡數據包進行捕獲、分析、以及故障排查。在功能上,該軟件支持大量(300多種)協議、無線監控模式、以及碎片消息的重組等。
(4) Debookee:
它是一款付費工具,可用于監控和分析網絡。不論目標設備是筆記本電腦、網絡設備、甚至是電視,它都可以攔截和分析來自其所在子網中數據流量。通常,Debookee能夠提供如下三種模塊:
- 網絡分析模塊:掃描已連接的設備,攔截子網中的流量,掃描TCP端口,對HTTP、DNS、TCP、以及DHCP協議在網絡層面上進行分析和監控,分析VoIP呼叫等。
- WiFi監控模塊:提供覆蓋范圍內的各種AP、無線客戶端、WiFi統計等詳細信息。
- SSL/TLS解密模塊:支持監控和分析各種安全協議。
防范嗅探攻擊的措施
(1) 連接到受信任的網絡中:請不要為了“蹭網”,連接隔壁咖啡店提供的不受信任的免費Wi-Fi。攻擊者往往會利用用戶缺乏網絡安全意識的特點,在公共網絡中實施流量嗅探,或者自行創建與既有網絡ID相似的新網絡,以誘騙受害者“入局”。特別是在機場,您會發現有許多名稱類似“免費機場Wi-Fi”的無線網絡。說不定其中就暗藏著攻擊者的嗅探器節點。因此,請您只連接到家庭或辦公室之類受信任的網絡中。
(2) 加密!加密!加密!重要的事情說三遍:請對離開本系統的所有流量進行加密,以確保即使流量被嗅探到,攻擊者也將無法理解其“字面意思”。例如:使用了HTTPS協議加密流量的網站,顯然比只使用HTTP的網站更加安全。當然,值得注意的是:單純的加密也并非萬無一失,攻擊者很可能會通過捕獲大量的數據,運用解密工具來尋找特征,進而破解。因此,請您根據深度防御原則(defense in depth principle),做好多層次的安全加固。
(3) 網絡掃描和監控:您必須定期對目標網絡進行掃描,以查找可能以span模式捕獲流量的入侵嘗試,或是任何類型的惡意設備。此外,我們還需要實時監控目標網絡,以盡早發現那些處于混雜模式的設備,以及網絡中被安置的嗅探器。
原標題:What Is a Sniffing Attack? ,作者:Abhinav cynix
【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】