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