歷史總是不斷重演人類的錯誤,像是會忘記把雨傘帶走的人,總是會弄丟下一把傘。在遊戲主機的安全性部分也是一樣,總是有廠商看著其他廠商的遊戲主機被破解,而自己也犯下一樣的錯誤。我們就來看看Wii是如何步上PlayStation 2的後塵。
前情提要:
家用主機秘辛5:數秒內抽換光碟, PS 盜版片也能騙過驗證機制
Bare Metal更脆弱
我在之前的文章中已經提到過,除了在ARM處理器中運作的微核心IOS之外(microkernel,負責防拷等功能),Wii本身沒有實體作業系統,遊戲是以Bare Metal方式(非將遊戲架設在實體作業系統上)在Broadway處理器中運作,就像我們在先前文章提到的PlayStation 2一樣。
Sony下一世代的主機PlayStation Portable早在2004就推出,它捨棄了PlayStation 2的設計,但晚了2年後才上市的Wii並沒有記取教訓,仍然採Bare Metal模式執行遊戲,我不知道為什麼任天堂會這樣做,但我猜測或許是想要降低成本吧。
回顧一下PlayStation 2的案例,在進行PlayStation 2的破解時,我們不用真的攻破系統核心,只需想辦法載入自行編寫的工具程式,就能取得完整的系統控制權。反觀PlayStation Portable,破解漏洞還可分為使用者模式(usermode)與核心模式(kernelmode),當我們載入自行編寫程式後,還需要視使用的漏洞,決定可以取得的系統權限,如果想要取得完整系統權威,就需要攻破系統核心,取得核心模式權限。
▲Bare Metal模式不具有實體作業系統,一旦遊戲被破解就有機會取得完整系統控制權。
比破解PSP還簡單
Wii的狀況和PlayStation Portable不一樣,一旦我們攻破任1款遊戲,並載入自行編寫程式,就差不多取得完整的系統權限,就像fail0verflow所發表的Twilight hack一樣,fail0verflow使用遊戲為薩爾達傳說:曙光公主(The Legend of Zelda: The Twilight Princess)進行簡單的緩衝區溢位攻擊。通常來說在PlayStation Portable上,這種破解手段只能讓你取得使用者模式權限,頂多能執行像是VHBL之類的程式(只能執行一些自行編寫的小遊戲),然而在Wii上,這種方式就能取得核心模式權限,換句話說,可以執行盜版遊戲。
上面提到的還不只是Wii所面臨的問題,當我們在Wii上安裝軟體時,系統只會在安裝當下檢查安裝檔,之後就不會再進行檢查,所以當軟體已經安裝在Wii的內建儲存空間後,就可以輕易地在未經檢查的情況下執行。所以只要我們取得系統權限後,就可以透過非正統的方式安裝軟體,往後即可直接啟動這些軟體,像是fail0verflow所開發的Homebrew Channel就是以此方式運作。
好啦!現在我們已經有方法能夠執行自己的程式,也能夠永久地將程式安裝於主機內,不過還有什麼還沒做好的嗎?沒錯,就是自己燒遊戲DVD。嗯,接下來我們來聊聊DVD吧。
▲fail0verflow利用薩爾達傳說:曙光公主進行緩衝區溢位攻擊,即可取得完整系統權限。
下集預告:解開DVD影片的封印
原文刊載於http://wololo.net/2014/01/20/10-days-of-hacking-day-6-the-wii
感謝原文作者Acid_Snake同意轉載
Original article by Acid_Snake. Translate by konamigood.
請注意!留言要自負法律責任,相關案例層出不窮,請慎重發文!