無賴DHCP服務器的發現和處理
無賴DHCP服務器?這個聽起來似乎很有趣,但是如果發現了這個木馬可不是什么有趣的事情。最近出現了關于“無賴DHCP服務器”惡意軟件的報告——這種惡意軟件是一種自動在受害者的網絡上安裝攻擊者自己的DHCP服務器,并和受害者的合法服務器競爭的木馬。通過無賴DHCP服務器,攻擊者可以攔截和重定向來自任何使用動態主機配置協議(DHCP)的設備的流量,包括工作站,打印機,筆記本電腦,復印機等。
動態主機配置協議發展于90年代初,用以方便網絡維護和設置,但其一直有固有的安全漏洞。幸運的是,有一些經過時間考驗的解決方案,可以用來檢測和抵御無賴DHCP服務器的惡意軟件。
當支持DHCP的客戶端(例如,一臺筆記本電腦)連接到網絡,它會發出廣播消息搜索DHCP服務器。本地DHCP服務器響應一個分配給你的筆記本電腦的IP地址,及其他本地的配置信息,如DNS服務器的IP地址和網關的IP地址。一旦溝通完成,筆記本電腦就可以配置自己的IP信息并與IP網絡上的其他終端通信。
多虧有了DHCP,移動設備可以在不必手動更改其IP地址設置的條件下,實現從無線網絡區到家庭網絡、到公司網絡之間的自由切換,大型企業可以部署或重新部署成百上千臺服務器,而無需手動地去逐個更改網絡的設置。
關注DHCP安全
然而,DHCP自它出現以來就存在眾所周知的安全問題。可以追溯到1993年的最初的DHCP說明,有一節叫做“安全注意事項”,內容如下:
“...當前形式的DHCP是相當不安全的。可以很容易地設置未經授權的DHCP服務器。這些服務器可以發送虛假和具有潛在破壞性的信息給客戶,比如不正確或重復的IP地址、不正確的路由信息(包括欺詐路由器等)、不正確的域名服務器地址(如欺詐域名服務器)等等。”
在某些方面來看,DHCP協議正常運營了16年卻沒有出現泛濫的DHCP問題是很驚人的。至少自2001年以來,就出現了著名的能自動執行DHCP的man-in-the-middle攻擊的工具。網絡嗅探器工具(比如Ettercap,類似今天的惡意軟件)發現了其中存在一個重大的問題:根據標準的DHCP實施方案,沒有方法能使客戶端識別出合法的DHCP服務器。(2001年,IETF發布了一個驗證DHCP的規范,但供應商和管理者還沒有廣泛地實施這一規范。)
因此,你的筆記本電腦信任所有的DHCP服務器響應,并認定他們同樣有效。 運行在被感染的工作站上的“無賴”DHCP服務器,可以用虛假的配置數據回應你發出的DHCP請求。如果無賴服務器的信息第一個到達,你的筆記本電腦可能會接受有毒的配置信息。
“無賴”DHCP服務器惡意軟件的出現
2008年12月,“Trojan.Flush.M”惡意軟件被發現。該木馬會自動設置一個無賴DNS服務器,目標是傳遞惡意域名服務器地址給毫無防范的客戶。例如,當你的筆記本電腦嘗試更新其DHCP租約,一個Trojan.Flush.M無賴DHCP服務器可能會迅速給出一個有毒的DHCP響應,其中包含攻擊者的域名服務器IP地址。
如果你的筆記本電腦接受這一信息,那么任何時候你輸入一個新的域名到Web瀏覽器,你的筆記本電腦將向攻擊者的域名服務器查詢對應該域名的IP地址。你可能輸入“http://bankofamerica.com”,而攻擊者可能會回應一個虛假的某個著名美國銀行的釣魚網站,這將導致你的瀏覽器加載一個惡意網頁。無賴DHCP服務器也可以用于通訊的攔截和竊聽。被感染的工作站可以給你的筆記本電腦發送一個虛假的網關IP地址,把所有筆記本對外發出數據流重定向到黑客的計算機。攻擊者可在隨后檢查數據流發現有用的數據,然后轉發數據流到真正的網關,或者只是阻止它并實施拒絕服務攻擊。
這聽起來很復雜,但經過16年多的發展,DHCP攻擊工具已經相當成熟了。使用Ettercap軟件,任何人都可以點幾下鼠標就展開DHCP的man-in-the-middle攻擊。此外,一個被感染的工作站可在不被用戶發現的情況下危害整個子網的流量。
如何阻止無賴DHCP服務器的惡意軟件攻擊
幸運的是,多年來有效的防御工具相繼出現。多網絡交換機廠商提供了內置的“DHCP監聽”功能,在交換機一級阻止不可信的DHCP服務器的信息流。 “DHCP監聽”設備也能跟蹤MAC地址,IP地址分配和相應的端口,確保只有合法的連接才被允許通信。
你可以用一些工具掃描你網絡上的無賴DHCP服務器,如DHCP Sentry,Roadkil.net's DHCP Find,Dhcploc.exe 或dhcp_probe。一些DHCP服務器掃描工具具有內置的電子郵件和即時報警功能,這樣一旦他們偵測到潛在的無賴DHCP服務器就可以馬上警告系統管理員。網絡入侵檢測系統也可以進行相應的設定,從而檢測并提醒潛在的無賴DHCP服務器的數據流。
適當的網絡分割將有助于防止包含無賴DHCP服務器。這樣,即使一個惡意軟件感染了一個子網并植入了欺詐DHCP,損失也是有限的。最后,監聽你內部網絡上的關于客戶的錯誤配置信息的跡象是個好方法,比如意料外的、地址可疑的域名服務器流量。正如我們知道的Trojan.Flush.M,不正確的DNS設置可能是一個無賴DHCP服務器的征兆。
無賴DHCP服務器惡意軟件是老概念的一個新轉變。好消息是,存在有效的減少這種威脅的策略;而壞消息是,許多組織都沒有盡力去這樣去做。在你的基礎設施支持的條件下,請小心地劃分你的網絡段、配置DHCP監聽、監控你的內部網絡流量,并及時應對可疑的活動。和通常的道理一樣,最好的安全策略是嚴密布防。