阿碼外傳-阿碼科技非官方中文 Blog: 2009年3月27日

2009年3月27日

網路藍色藥丸?首支攻擊路由器之蠕蟲出現:再談路徑之安全性

(picture source: http://www.fastforwardblog.com)


自從最近寫了幾篇關於路徑安全的文章後,短短幾天內,世界各地突然冒出了許多關於路由器安全的新聞。美國西岸時間三月22日凌晨,DroneBL首先發表了blog:「Network Bluepill - stealth router-based botnet has been DDoSing dronebl for the last couple of weeks(網路藍色藥丸:隱形路由器僵屍網路過去幾星期以DDoS攻擊DroneBL)」。先離題聊一下「藍色藥丸」吧!在1999年電影駭客任務(The Matrix)中,藍色藥丸(Bluepill)與紅色藥丸分別象徵了「虛幻世界」與「真實世界」。2006年六月,由那時還在COSEINC(與阿碼共同舉辦SySCAN前瞻資安技術年會的新加坡公司)的Joanna Rutkowska,證明了可以在MS系統(包含Vista)上,利用AMD的虛擬化機制,實做極隱密rootkit之可能性,並在她blog上貼了一篇:「Introducing Blue Pill(介紹藍色藥丸)」,並於同年先後在SySCAN 2006與BlackHat 2006(投影片下載)上發表。之後此rootkit程式有公開並可下載。其實當初Joanna取名藍色藥丸,主要是因為該rootkit乃利用了CPU虛擬化(virtualization)的機制來達成極度隱密之目的,故藍色藥丸暗喻「虛擬化(virtualization)」而非「隱密性(stealthiness)」,但是因為大家對於此rootkit之隱密性都有很深的印象,所以從此,「藍色藥丸(Bluepill)」便成了資安研究員形容各種「隱形」技術時喜歡用的代名詞。

這次DoneBL所發的「網路藍色藥丸」,主要描述NetComm NB5 這台 ADSL 路由器,會被蠕蟲「PSYB0T」自動攻擊並感染,成為botnet(irc)的一員,除了會接受指令參加DDoS攻擊外,也會自動掃瞄,攻擊並感染其他同型路由器,來散播該蠕蟲。「網路藍色藥丸」則指管理者不容易發現路由器已經遭受感染。DoneBL估計已經有100,000台路由器遭PSYB0T感染,並認為這是第一隻會自動感染路由器的蠕蟲,且對象可能不限於NetComm NB5這型路由器,而是任何以linux mipsel為平台的路由器都有機會被感染。
(picture source: http://www.teamtelco.com.au)


(picture source: http://www.beyondlogic.org)


隔天(三月23日),ZDNet的Zero Day blog上,Ryan Naraine就貼出了「Stealthy router-based botnet worm squirming(隱形路由器botnet蠕蟲散播)」,並引述了DroneBL的blog。Teamfurry blog上也貼出了一篇:「Botnet running on MIPS CPU devices(Botnet在MIPS CPU設備上散播)」,其中第一句就說:「Finally, something new :)(終於有新鮮事了)」。由於此二blog在資安界皆頗具人氣,又隔天(三月24日),SANS就發出了警告:「PSYB0T: A MIPS-device (mipsel) IRC Bot (PSYB0T:mipsel設備之IRC Bot)」,並引述了以上兩個blog。同時,英國最大IT媒體The Register也報導了:「Worm breeds botnet from home routers, modems--More than 100,000 hosts invaded(蠕蟲透過家用路由器與modem養botnet,超過100,000台遭入侵)」。

以上這些報導,都引述了Terry Baume在一月11日時所公佈的研究報告(PDF):「Netcomm NB5 Botnet–PSYB0T 2.5L」。其實這篇中就已經把該攻擊描述得很完整了,並也開門見山地用紅字點出,PSYB0T應該有能力感染其他機型之路由器(但是僅限於linux mipsel,非CISCO IOS或Juniper freebsd)。Terry也指出,在他兩天的觀察其內,PSYB0T由一天感染兩台路由器,迅速加速到一天感染20台路由器的速度。Terry發現該蠕蟲有利用UPX加殼,解殼後可以利用MIPS的反組譯器(如RecStudio)來進行反組譯及分析。Terry也利用反組譯來分析了該蠕蟲並詳細說明了其行為。

Teamfurry的blog上則指出,經過了三個月,PSYB0T已經有了演進,應該是看到了Terry的blog,所以雖然還是用UPX加殼,但是之後手動做了修改(駭客不看blog?不夠水準的blog當然沒人看)。Teamfurry的解殼法則是先手動將修改復原,然後一樣利用UPX解殼,分析後,發現版本字串已經從當初Terry看到的"2.5L"變成"2.9L"了。Teamfurry指出,該攻擊可怕的是,可以竄改DNS設定,也可以隨意轉址到非法的網站。

Dark Reading也於同日報導了此事件,並說:「Routers traditionally have been considered relatively immune to malware and attacks, and botnets traditionally used PCs and servers.(路由器以往是被視為比較不會遭受惡意程式攻擊的,僵屍網路以往則針對個人電腦跟伺服器)」。Dark「」 Reading並訪問了路由器安全專家FX(Felix FX Lindner,前一篇我們介紹過),FX說:「惡意程式已經開始利用路由器了,但是在這個事件中,目標還只是簡單的linux。」

仔細看一下此事件使用之技術,NB5是用MIPS處理器,跑embedded linux,有Web的管理介面,也可以開啟telnet/ssh。有大量的NB5,出廠時,這些管理介面是對WAN端也開放的,並且不需密碼或密碼為出廠的"admin"/"admin"。PSYB0T之動作步驟如下:

1. 用多種方式設法取得shell(telnet/ssh),包括嘗試出廠設定,以及用暴力法猜帳號密碼等(所以太弱的帳號密碼也會被攻入,如"netcomm"/"netcomm")。
2. 利用http或tftp下載蠕蟲本體並於背景執行。
3. 關閉對外之所有port,避免他人進入或重複感染。
4. 連往某些特定之 IRC server,加入IRC botnet,開始回報並接受指令。
5. IRC 指令包含了攻擊其他NB5散播本體,攻擊MySQL,攻擊phpMyAdmin,各種DDoS攻擊,port scan,監聽流量並偷帳號密碼等。

無獨有偶,雖然兩件事無關,但又隔日(三月25日),Cisco發出了advisory,集合了8篇advisory,一次公佈了8個CISCO IOS的弱點,並提供更新程式下載。由於公佈的弱點頗多(包含了TCP、UDP、無線 IP以及VPN等),SANS也於同天發了一篇關於路由器的diary:「Cisco Releases IOS Bundle of Vulnerabilities(Cisco釋出IOS弱點修正集合)」。Dark Reading則似乎收到消息Cisco會於25日釋出advisory以及更新程式似的,於24日先長篇大論地討論了路由器的安全:「Hacking The Router Patching Conundrum(破解路由器修補之謎)」。

標題下面大大的黑字寫著:「最近的研究已經證實了路由器並不像以前想像的難入侵,企業以後若無法在不影響網路運作下,定期安裝路由器修補程式的話,將倍感壓力」。DearReading介紹了FX最近對路由器安全的研究(我們在前一篇有介紹),FX則表示,問題出在IOS目前沒有修補程式,每次都需要更新整個IOS image。但是更新整個IOS image後,常會導致設定或軟硬體不合等問題。Dark Reading表示,更新路由器軟體常常不被視為是高優先的工作,目前也少有企業有建立對路由器軟體更新之程序與規範。

去年因為在BlackHat / DEFCON 2008上公開DNS漏洞之超級紅人Dan Kaminsky(這裡有我們的報導,另外其實他一直很紅)則表示,他們(IT)從沒去考慮外頭那麼多的路由器。他們缺乏資源,工作量超過負荷,除非有很好的理由,不然不可能再去監控另一種問題(路由器)...但是FX的研究已經給了最好的理由。

FX則說:「所有我認識並談過的企業與電信業者,當有IOS的更新公佈時,沒有一個單位有去做更新,因為更新IOS所帶來的危險比被駭的危險更高。」Cisco的Russ Smoak則表示,部分的客戶會上更新,部分則不會。「我們的客戶廣布於每一個角落;有的遵循嚴謹的規範並勤勞地更新,有的則擁有老舊的平台。」Kaminsky說:「你不用緊張,但是廠商叫你更新時,你就是必須要更新。」

好了,談到這邊,我們來回顧一下,我們於三月8日第一次探討路由之安全,並於三月15日寫的「從大規模轉址事件看IP spoofing、ARP spoofing、ARP掛馬與路徑(route)安全」中有提到,2008年,對於路由器安全的研究突然很多,一個Black Hat 2008竟然有三場相關演講。又提到:


去年九月底,Alexandre Cezar在ISC2(推出CISSP認證的組織)的blog上寫了一篇:The most vulnerable device in the network,他說最近與朋友討論,整個網路(使用者機器不算)上,最脆弱的機器是什麼。「The answer of almost everyone in the table was: Routers...(所有人一致的回答都是:路由器)」。文章中他列舉了router上可能有的威脅,另外我很喜歡他回Tim Bass的留言(泰國OWASP分會會長,上次OWASP有來與大家見面)時說的:「And you're right when you said that there aren't many exploits for routers but my main point is that you don't need exploits to compromise a router, you just need to found a misconfigured one and the Internet in plenty of them(你說路由器的攻擊程式不多,我同意,但是重點是,入侵路由器並不需要用弱點攻擊程式,你只需要找到一個沒有設定好的路由器,而網路上多的是)」這根FX在演講中說的一樣,其實現在掃瞄路由器還是可以發現很多設定上的錯誤,弱的密碼等等,攻擊路由器不一定需要用到他們研究的這些新技術。


其實掌握資安威脅趨勢並不困難,許多事件的發生都有跡可尋。此事路由器蠕蟲事件,其實在一月時,Terry Baume公佈的研究報告(PDF):「Netcomm NB5 Botnet–PSYB0T 2.5L」就已經分析得很完整了,可惜當時並未引起大家的高度關注,才會讓感染的機器不斷攀升。另外,這台NetComm NB5有蠕蟲出現,其實也不意外。這台很多人喜歡玩,早在2005年4月左右,如何編譯適合這台執行的程式之方法,就已經被公開得很詳細了。「Exploring the Netcomm NB5 - ADSL / ADSL-2/2+ Modem Router」一文中,將步驟一步一步地描述得很完整。

三月21日,活了三個月之久的路由器蠕蟲終於受到媒體與SANS重視,三月24日,媒體與SANS也因為Cisco即將發佈的安全更新而大幅探討路由器安全問題。三月初我們探討路由安全問題時,許多資安專家抱持懷疑的態度,質疑「何謂路由器被感染,什麼鬼東西,從沒聽過」,或「感染路由器後要做什麼」等。這顯示大家對於此類威脅比較陌生,可能是之前國內類似案例並不多(或公開的不多)。其實比較早進入資安研究的朋友,應該對這些network層的威脅都不陌生;在沒有Web的年代,這些很多都是駭客很熟的技術。加上這幾年路由器上之威脅不斷被公布,實際的案例也一一出現,負責的資安研究人員,應該要能隨時掌握最新的威脅趨勢,提早警告客戶與大眾,做好事前的預防,才是減少資安成本的關鍵。我們在做事件處理時,常覺得,事前與事後,在成本上真是天差地遠,只要充分掌握威脅趨勢,事前的預防其實不難,但是如果沒做好準備而讓事件發生了,真是客戶累,我們也累,雙方所花的時間,很多用於善後,而非提升資安水平,可說事倍功半。

作者 Wayne 為 阿碼科技CEO

相關系列文章:
2009/03/08 「大規模網頁綁架轉址:威脅未解除,但專家都猜錯了
2009/03/12 「大規模網頁綁架轉址之水落石出篇
2009/03/13 「回答IP Spoofing 的問題
2009/03/15 「從大規模轉址事件看IP spoofing、ARP spoofing、ARP掛馬與路徑(route)安全
2009/03/27 「網路藍色藥丸?首支攻擊路由器之蠕蟲出現:再談路徑之安全性

繼續閱讀全文...