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