摘要:路由器往往有不同的角色。
路由器往往有不同的角色。例如,一般情況下,一個以太網(wǎng)端口連接到外部網(wǎng)絡(luò),四個端口提供到達(dá)局域網(wǎng)有線設(shè)備的互聯(lián)網(wǎng)連接,無線發(fā)射裝置向無線客戶端提供訪問。無線接口甚至可能提供多種SSID。
路由器通常都將其特性的諸多方面分離來,但在今年的黑帽大會上,黑客展示了攻擊大量路由器的方法及破解路由器的可能性。要理解這個問題,就得從IP地址說起。
多數(shù)IP地址都位于公網(wǎng),但是有些IP地址僅保留給內(nèi)部網(wǎng)絡(luò)使用。即,任何人都可在其局域網(wǎng)上使用且僅能用于內(nèi)部的IP地址。這些特定的IP地址是不允許用在公網(wǎng)上的。
最常用的內(nèi)部IP地址以192.168或10開頭。例如,一臺連接到路由器內(nèi)部端口的計算機(jī)會將路由器的IP地址看成是192.168.0.1。如今,局域網(wǎng)上的大量路由器都可以使用這個IP地址,因為它可以保證這個地址不會通過路由器傳到互聯(lián)網(wǎng)上。路由器都有一個默認(rèn)的內(nèi)部IP地址,路由器的管理員可以將這個地址改為僅能用于內(nèi)部的任何IP地址。
在將路由器用于互聯(lián)網(wǎng)上的通信時,它還使用另外一個不同的IP地址,即公網(wǎng)IP地址。路由器的管理員無法控制公網(wǎng)IP地址,它是由把路由器連接到互聯(lián)網(wǎng)的ISP提供的。
局域網(wǎng)上的所有計算機(jī)看似都擁有同一個IP地址?梢哉J(rèn)為路由器是所有局域網(wǎng)計算機(jī)的“公共發(fā)言人”。
這樣就出現(xiàn)了安全問題,即路由器無法將公網(wǎng)和私有的特性完全地分離開并保持其獨特性。
公網(wǎng)IP地址僅能被互聯(lián)網(wǎng)上的計算機(jī)“看見”,而私有IP地址僅能被局域網(wǎng)上的計算機(jī)看到,無論是有線網(wǎng),還是無線網(wǎng)都應(yīng)當(dāng)如此。
如果這道屏障無法得以維持,那么,互聯(lián)網(wǎng)上的黑手就有可能登錄進(jìn)入路由器,從而導(dǎo)致整個局域網(wǎng)中的全部設(shè)備都遭殃。
為修改路由器的配置,局域網(wǎng)的計算機(jī)可以通過IP地址來訪問。例如,可以鍵入“http:// 192.168.0.1”,然后鍵入用戶名和口令來訪問路由器的配置界面。
通常情況下,僅能根據(jù)內(nèi)部IP地址才能訪問路由器。這就確保了僅有局域網(wǎng)上的計算機(jī)才能更改其配置。
用戶訪問的每個網(wǎng)站都知道用戶路由器的公網(wǎng)IP地址。當(dāng)然,用戶的ISP也知道。但是,有很多措施可以阻止外部人員登錄進(jìn)入到路由器。
首先,路由器中有一個防火墻,它通常會阻止未經(jīng)請求的進(jìn)入通信。此外,路由器有一個遠(yuǎn)程管理選項,當(dāng)然,此選項一般是禁用的。
現(xiàn)在,我們就可以理解克雷格.黑夫納在黑帽大會上所公布的問題了。簡言之,他所發(fā)現(xiàn)的漏洞準(zhǔn)許惡意網(wǎng)頁通過公網(wǎng)IP地址訪問路由器。
應(yīng)當(dāng)對基于局域網(wǎng)的計算機(jī)進(jìn)行限制,使其僅能根據(jù)內(nèi)部地址才能訪問路由器。由于遠(yuǎn)程網(wǎng)站可以輕松地知道你的公網(wǎng)IP地址,這個漏洞準(zhǔn)許惡意的黑客登錄到你的路由器。
更糟的是,許多人并沒有修改其路由器的默認(rèn)口令。有不少人甚至并不知道路由器還有口令。惡意的黑客隨時準(zhǔn)備訪問路由器的默認(rèn)口令,并還可以在一定程度上檢測你使用的路由器的類型等信息。
在對最初的30臺路由器的測試中,克雷格.黑夫納發(fā)現(xiàn)有17臺路由器易遭受這種攻擊。
判斷自己是否易受攻擊
測試自己的路由器是否易受攻擊并不麻煩。在此,筆者向您介紹兩個網(wǎng)站,用戶可以通過ipchicken.com 或 checkip.dyndns.com知道自己的IP地址。在打開這兩個網(wǎng)站后,就會得到一個IP地址。如2.3.4.5,然后再用瀏覽器打開它,看看有什么發(fā)生。如果你得到提示,要求輸入用戶名和口令,就說明你的路由器易受攻擊。如果你得到出現(xiàn)錯誤的網(wǎng)頁,則表明你不易受到這種攻擊。
在技術(shù)層面上,這種攻擊是DNS重新綁定問題的新伎倆。它依賴于這樣一個事實,即單個網(wǎng)站可以擁有多個IP地址。在你第一次訪問一個惡意網(wǎng)站時,你的計算機(jī)得到了此惡意網(wǎng)站的兩個IP地址。第一個是合法的,而第二個是非法的,它就是你的公網(wǎng)IP地址。此后,通過高速緩存伎倆和惡意生成的錯誤,惡意網(wǎng)頁會欺騙你的計算機(jī)訪問惡意網(wǎng)站的可選IP地址,實際上就是你的路由器的公網(wǎng)地址。
黑夫納通過試驗進(jìn)一步得出結(jié)論,他認(rèn)為要讓這種攻擊成功,并不需要啟用遠(yuǎn)程管理。只要目標(biāo)網(wǎng)絡(luò)中的某個用戶訪問了被惡意控制的網(wǎng)站,這種攻擊即可獲得成功。這種攻擊的發(fā)生不依賴于受害者的操作系統(tǒng),它是針對路由器的。
這種攻擊還牽涉到JavaScript,這種腳本語言通常僅能與其來源網(wǎng)站進(jìn)行交互。但是,由于有了DNS重新綁定伎倆,瀏覽器會認(rèn)為用戶的路由器是惡意網(wǎng)站的一部分。因而,JavaScript也就可以操縱路由器了。
捍衛(wèi)路由器的安全
最簡單的防御就是不要使用路由器的默認(rèn)密碼。應(yīng)當(dāng)將路由器的密碼改為一種難以猜測的序列。
如果用戶的路由器易受攻擊,應(yīng)當(dāng)上網(wǎng)檢查,看看制作商是否有了新的固件可以修復(fù)這個問題。
任何剛買的新路由器都應(yīng)當(dāng)測試一下是否易受攻擊,特別是在退貨期限內(nèi)時。
雖然遠(yuǎn)程管理與此無關(guān),不過,還是建議用戶關(guān)閉自己路由器上的這個功能。
如果你使用無線網(wǎng)絡(luò),不妨檢查一下,看看路由器能否限制對有線連接的管理性訪問。這條措施可以防止無線用戶登錄進(jìn)入路由器。