德國(guó)黑客FX訪談 如何攻擊思科路由器IOS
FX是德國(guó)黑客組織Phenoelit的成員之一,精通路由協(xié)議。他在2001年就用和邁克爾-林恩相似的手法攻破了思科路由器IOS操作系統(tǒng)。下面是他最近的一次訪談。我們通過(guò)這次對(duì)話可以從中學(xué)習(xí)要注意哪些問(wèn)題。
1)您先自我介紹一下?
我是德國(guó)的一名黑客,Phenoelit組織成員之一。我的興趣主要是各種協(xié)議、設(shè)備、平臺(tái)和攻擊,其中也包括思科的路由器。
2)在思科路由器漏洞事件之前您認(rèn)識(shí)邁克爾-林恩嗎?
他給我寄了黑帽會(huì)議的時(shí)間表,問(wèn)我是否愿意去拉斯維加斯看他的攻擊演示,但我后來(lái)沒(méi)去。
3)您對(duì)林恩在黑帽會(huì)議上攻擊思科路由器IOS操作系統(tǒng)的演示持什么看法?
他的攻擊方法比起我以前對(duì)IOS進(jìn)行堆溢出攻擊的方法更為巧妙,不用猜測(cè)那么多的指針。他還獲取了虛擬終端(VTY)連接,這很酷。當(dāng)然他是在前人的基礎(chǔ)上作出的成果。
4)您是在什么時(shí)候第一次完成對(duì)IOS的攻擊?
2001年底。
5)您認(rèn)為在您之前是否已經(jīng)有其他人利用IOS漏洞攻破思客路由器了嗎?
我確信在我之前有人也做到過(guò)。我不會(huì)狂妄到認(rèn)為自己是第一個(gè)。
6)您是否認(rèn)為思科施壓要林恩在演示稿中刪除那些匯編代碼沒(méi)什么道理?
從技術(shù)角度講是的。林恩的演示稿只是介紹了如何攻擊的大致原理,IOS版本繁多,從他的演示中你無(wú)法得到具體的攻擊方法。至于法律上來(lái)說(shuō),思科這樣做我不是很懂,超出了我的知識(shí)范圍。
7)您在2001年就已經(jīng)發(fā)現(xiàn)如何攻擊IOS,4年后林恩也得出類似的成果。這還得感謝思科起訴林恩,搞的滿城風(fēng)雨,路人皆知。一些黑客為此還組織起來(lái)想第一個(gè)公布利用IOS漏洞的shellcode。
真的?不過(guò)我沒(méi)有參加這場(chǎng)競(jìng)賽。他們要想達(dá)到這一目的不是那么容易的。
8)以后獨(dú)立研究人員針對(duì)思科設(shè)備的安全建議會(huì)不會(huì)越來(lái)越多?
我希望是這樣,但他們?cè)诎l(fā)布消息之前至少要先通知思科的產(chǎn)品安全突發(fā)事件響應(yīng)團(tuán)隊(duì)(PSIRT)。
9)從您在上屆黑帽和DEFCON會(huì)議的論文可以看出,您已成功的攻破思科的路由器。您采取了什么方法?
和林恩的差不多。利用漏洞執(zhí)行攻擊代碼總是要經(jīng)過(guò)三個(gè)步驟:首先是觸發(fā)漏洞,具體方法跟漏洞有關(guān);然后利用堆溢出執(zhí)行代碼,這和其他堆溢出攻擊的手法類似,溢出后用攻擊代碼覆蓋,林恩和我都是采取這種手法,區(qū)別在于他覆蓋的數(shù)據(jù)更少,這樣執(zhí)行攻擊代碼更為穩(wěn)定;不過(guò)我們的第三個(gè)步驟不一樣。
10)您和林恩的方法有什么區(qū)別?
我三年多前的方法沒(méi)他的穩(wěn)定。我是用代碼替換路由器的配置文件,在更新的版本里,則是給路由器的running image打補(bǔ)丁,以獲得命令行訪問(wèn)權(quán)。
11)為什么不用您的shellcode獲取虛擬終端(VTY)連接?是不是因?yàn)槟J(rèn)為這是不可能的?
有幾方面原因。第一是因?yàn)槲覍?xiě)第一個(gè)攻擊版本時(shí)對(duì)socket通信了解還不多,第二是因?yàn)槎丝?3被路由器過(guò)濾了,所以需要替換配置文件。
12)您的攻擊方法會(huì)不會(huì)留下痕跡?
被替換的配置文件應(yīng)該算是吧:)
13)2004年5月時(shí)一些歐洲的少年黑客竊取了IOS源代碼。但到目前還未發(fā)現(xiàn)任何針對(duì)IOS的新攻擊。是沒(méi)人根據(jù)源代碼去實(shí)現(xiàn)攻擊,還是故意不暴露?
要想攻擊路由器不需要源代碼。源代碼很長(zhǎng),我想沒(méi)人會(huì)仔細(xì)研究它。即便有代碼,沒(méi)思科的設(shè)備也是枉然。大多數(shù)人連思科的設(shè)備也沒(méi)有。
14)管理員用什么辦法才能驗(yàn)證IOS鏡像的完整性和發(fā)現(xiàn)是否有后門?
與完好的IOS鏡像對(duì)比SHA-1哈希值。
15)這么多種類的IOS鏡像能否防御蠕蟲(chóng)和其他黑客攻擊?
不能。不同的處理器架構(gòu)和平臺(tái)才是最重要的防御措施。
16)林恩說(shuō)“思科未來(lái)打算抽象路由器操作系統(tǒng)的架構(gòu),這樣做會(huì)產(chǎn)生負(fù)面影響。無(wú)需知道不同設(shè)備的地址偏移量,就可以對(duì)所有路由器發(fā)起攻擊。”思科這樣做是不是很危險(xiǎn)?
這樣做的弊端是便于開(kāi)發(fā)攻擊技術(shù),但好處是用戶給IOS打補(bǔ)丁時(shí)就不用替換整個(gè)鏡像,而且還可以為已推出的路由器增加新的安全功能。所以說(shuō)思科這樣做是一把雙刃劍。除非思科在路由器上安裝Java虛擬機(jī),不同的處理器架構(gòu)仍將繼續(xù)存在下去。但這樣會(huì)引起一些新的攻擊,象IOS的內(nèi)核模塊后門。
17)但打補(bǔ)丁仍是大問(wèn)題。林恩說(shuō)“當(dāng)網(wǎng)絡(luò)崩潰時(shí)如何給路由器打補(bǔ)丁,用郵件還是CD光盤(pán)?但路由器沒(méi)有CD光驅(qū)。”
這問(wèn)題更嚴(yán)重。現(xiàn)在IOS不打補(bǔ)丁,直接用新的版本替換舊的。這就象刷電腦的BIOS一樣。更多情況下,更新版本會(huì)帶來(lái)很多兼容問(wèn)題。遠(yuǎn)程升級(jí)IOS并不是明智的主意。
18)很多管理員并不升級(jí)IOS,您是否認(rèn)為從小型ISP到大型運(yùn)營(yíng)商都存在這一問(wèn)題?
大型運(yùn)營(yíng)商一般用的是專門為他們定制的IOS鏡像。我懷疑它們得到升級(jí)補(bǔ)丁會(huì)會(huì)其他人早些。我覺(jué)得潛規(guī)則是大型運(yùn)營(yíng)商先升級(jí)補(bǔ)丁,然后是小型ISP,而大型企業(yè)從不升級(jí)補(bǔ)丁。我曾見(jiàn)過(guò)有的企業(yè)用的IOS還是9.0版本。大型運(yùn)營(yíng)商一般對(duì)安全很重視,但他們不告訴其他人,網(wǎng)絡(luò)安全是他們的命脈。
19)其他公司的路由器產(chǎn)品是否更安全?它們的市場(chǎng)份額更小,攻擊者不會(huì)對(duì)它們有太大興趣。
小公司的產(chǎn)品更為不安全,尤其是SOHO市場(chǎng)上充斥著質(zhì)量很差的路由器產(chǎn)品。思科產(chǎn)品使用最廣,受到黑客的關(guān)注最多。現(xiàn)在很多人之所以用Firefox瀏覽器,因?yàn)槲④浀腎E瀏覽器不安全。要是人人都用Firefox,它也會(huì)有很多漏洞。路由器也是如此,要是人們都去用Juniper的路由器產(chǎn)品,它也會(huì)出現(xiàn)很多漏洞。
20)把開(kāi)源操作系統(tǒng)Linux或BSD移植到路由器上是否可行?目前有類似項(xiàng)目嗎?
現(xiàn)在有把Linux移植到思科2500/3000/4000系列路由器的項(xiàng)目,但我認(rèn)為這樣做不好升級(jí)。思科路由器強(qiáng)大之處就在于硬件與IOS的協(xié)同效應(yīng)。你建議用開(kāi)源軟件,我認(rèn)為還不如開(kāi)發(fā)速度更快的電腦硬件。
【編輯推薦】