PS Jailbreak 原理分析 - 改機

Table of Contents

http://www.gamefreax.de/psjailbreak-reverse-engineered.html

Wir haben das PSJailbreak Dongle doch nochmal aus der Versenkung
geholt um es genauer uter die Lupe zu nehmen. Wir erklären Euch hier
in Kürze die wichtigsten Schritte des internen Ablaufs vom
PSJailbreak.

我們對PSJB做了一些研究,現在我們可以大略描述一下PSJB的運作原理。

Wir können bestätigen, dass es sich bei dem PSJailbreak nicht um
einen Clone von Sony's "Jig" Modul handelt. PSJailbrak ist ein
ehrlich selbstentwickelter Exploit. Der Chip ist kein PIC18F444
sondern ein ATMega mit Software USB. Das bedeutet, der Chip ist intern
in der Lage USB zu emulieren. PSJailbreak emuliert hauptsächlich
einen 6Port USB Hub, an den in einem bestimmten Ablauf verschiedene
USB Geräte angeschlossen und wieder abgeklemmt werden. Eines dieser
Geräte trägt die ID von Sony's "Jig" Modul, das bedeutet, dass
bei der Entwicklung des PSJailbreaks das "Jig" Modul eine gewisse
Rolle gespielt hat.

首先,PSJB並非$ONY內部 JIG模組的複製版,PSJB所使用的是一個已知的漏洞。
那顆晶片只是 PIC18F444而已,內部有燒錄特殊程式碼讓PSJB可以模擬一個 6埠
的 USB集線器,然後模擬有些裝置連接到這個假的集線器上,其中一個裝置的ID
就是$ONY的 JIG模組。換言之 JIG在PSJB的開發上扮演了某種角色。

Aber fangen wir vorne an: Beim Einschalten der PS3 wird in der USB
Emulation ein Gerät angeklemmt, welches einen viel zu großen
Configuration Descriptor hat. Dieser Descriptor überschriebt den
Stack mit einem enthaltenen PowerPC Code, welcher ausgeführt wird.
Nun werden verschiedene USB Geräte in der Emulation angeschlossen.
Ein Gerät verfügt über einen 0xAD großen Descriptor, der Teil des
Exploits ist und statische Daten enthält. Wenige Zeit später (wir
bewegen uns hier im Milisekundenbereich) wird das Jig Modul
angeschlossen, und es werden verschlüsselte Daten an das Jig Modul ü
bertragen. Eine (im Milisekundenbereich) Ewigkeit später antwortet
das Jig Modul mit 64Byte statischen Daten, sämtliche USB Devices
werden disconnected, ein neues USB Device wird connected und die PS3
startet im neuen Gewand.

這樣說好了:當 PS3開機的時候, USB模擬器也會隨之啟動,而這個模擬器卻包
含了一個過大的控制描述子(Configuration Descriptor),而這個過大的描述子
剛好可以讓裡面包含的 PowerPC程式指令蓋進主機的特定堆疊中(譯註:非常類
似緩衝區溢位攻擊的原理),然後非法的程式指令就被執行了。

開機時一堆 USB元件又連了上主機,其中一個元件的描述子大小竟然有0xAD這麼
大( 173個字元),這就是漏洞的一部分而且資料是固定的。一段非常短的時間
後(千分之幾秒),假的 JIG模組也連了上去,主機會將一段加密的資料送到假
的 JIG模組,然後又過了千分之幾秒,PSJB的模擬 JIG模組將預先準備好的64位
元組之料回傳,完成後所有的 USB裝置離線,接著又有新的裝置連線,此時 PS3
就能夠執行自製程式了。

******

如果是緩衝區溢位的話,那要看出問題的程式片段是寫在什麼地方。如果是沒辦
法靠更新韌體來反制的話,就只能夠藉由硬體修掉這個問題再用封掉主機連接
PSN功能的方式來壓制。

但如果這個洞也可以被用來將零售版主機韌體更新 debug版韌體的話或是駭客們
改造過的官方相容版本韌體,那$ONY要反制就有一定的難度了。

--

____ _ _ _ _ ____ _ _ ____ _____ ____
(_ _)( \( )( \/ )( ___)( \( )(_ _)( _ )( _ \
_)(_ ) ( \ / )__) ) ( )( )(_)( ) /
(____)(_)\_) \/ (____)(_)\_) (__) (_____)(_)\_)


--

All Comments

Olivia avatarOlivia2010-08-30
原文是德文?
Charlie avatarCharlie2010-08-31
是德文沒錯
Rachel avatarRachel2010-09-02
Good!
Jake avatarJake2010-09-06
所以這是原PO自己翻譯!? 太強啦推推
Andy avatarAndy2010-09-07
推翻譯
Quanna avatarQuanna2010-09-09
樓上蘿德大大
Lauren avatarLauren2010-09-11
QQ 正在受託關注這根棒子
James avatarJames2010-09-16
哪根棒子XD
Olivia avatarOlivia2010-09-18
蘿德推文果然很____ GJ
Dora avatarDora2010-09-20
現在已經傳出sony開始告販賣者了
Gary avatarGary2010-09-23
蘿德金變態…逃
Hardy avatarHardy2010-09-27
開放團購嗎XD
Adele avatarAdele2010-09-30
團購 +1
Yuri avatarYuri2010-10-01
團購 = =+
Emma avatarEmma2010-10-03
這個已經正式出貨了嗎? 不曉得台灣有沒有人敢拉進來?
手上的PS3二手片上面有裂紋 每次玩都怕怕
Christine avatarChristine2010-10-04
盜版王國哪有不敢的..
Charlotte avatarCharlotte2010-10-07
goodsnk 不一定唷 看看Wii改機抓得多兇...
Odelette avatarOdelette2010-10-08
羅德大是受正版商之託嗎XDDD
Ida avatarIda2010-10-09
連clone都說準備好了…看樣子會擋不住啊…ps3(泣
Joseph avatarJoseph2010-10-11
看來以後ps3只能學pc上那一套,玩單機也強制你連線了
Erin avatarErin2010-10-14
這部分我有些想請教一下,JIG裝置的ID算是SONY智慧財產的
一部分嗎?
Gilbert avatarGilbert2010-10-14
ID只是一組數字吧...
Skylar DavisLinda avatarSkylar DavisLinda2010-10-17
基本上能不能禁要看sony的法務部門有沒有腦
Madame avatarMadame2010-10-21
ID非硬體也非軟體,要禁很難,除非出新型主機
Ivy avatarIvy2010-10-22
與其主張智慧財產權不如主張這東西有能力植入惡意程式
Hardy avatarHardy2010-10-25
會竊取使用者個資,套個大義的名份上去,可能還比較容易達成
禁制的目的
Rae avatarRae2010-10-28
澳洲法院:植入惡意程式屬個人行為,與該裝置無關(誤)
Mia avatarMia2010-10-29
應該直接從usb driver去ban掉JIG device就行了
Frederica avatarFrederica2010-11-02
只要還需要透過usb driver,那os都還能control的到
Catherine avatarCatherine2010-11-05
PS3的usb driver是寫在機版內的,與OS無關(類似bios)
所以無解
Wallis avatarWallis2010-11-09
而且一旦自製韌體出現,嗯....就是這樣
Emily avatarEmily2010-11-13
你沒看過別人刷bios ?
Carol avatarCarol2010-11-16
你看過PS3(orPSP)刷過BIOS?
Zora avatarZora2010-11-18
不知道PS3的安全性可以到什麼程度就是了。這種封閉式系統
當初怎麼設計的只有SONY和IBM完全確知。
Vanessa avatarVanessa2010-11-22
這沒什麼好爭的,就看SCE如何去應對了,上次geohot事件,
SCE迅速拔掉otherOS,這次過這麼多天沒反應....
Carol avatarCarol2010-11-26
如果有usb device可以不透過os就直接access hardware
那我還真是孤陋寡聞了...
Charlie avatarCharlie2010-11-28
很多天嗎?一月分geo事件後,SONY隔了兩個月,三月底才禁
other os。而PSJB到目前才十天左右…XDXD
Hedda avatarHedda2010-11-30
大公司做事很囉唆的,不是看到洞就馬上補起來,他們會先研究
有哪幾種補起來的方法,而這些方法的副作用又各是甚麼
Kelly avatarKelly2010-11-30
除了這個洞之外還有哪些類似的洞,能不能一起補起來
Oscar avatarOscar2010-12-01
不過這次的洞看樣子是更大條的問題了,還是希望SCE有辦法
Mason avatarMason2010-12-03
對產品的變更會不會違反合約或是法律,等決策完之後,技術部
Candice avatarCandice2010-12-07
補起來,不然遊戲界要更昏暗了
Robert avatarRobert2010-12-08
門的人才會開始做patch,做完patch之後還要跑一連串的測試
Frederica avatarFrederica2010-12-10
流程,等流程跑完以後,patch才會standby,總之很冗長就是了
Selena avatarSelena2010-12-12
請問一下 http://tinyurl.com/36zdr6t 底下faq有提到
若光碟內有單檔超過4gb 就無法rip到ps3內的硬碟
Catherine avatarCatherine2010-12-16
這是否表示 以後所有遊戲都弄4g以上的垃圾檔 就可以防rip了
James avatarJames2010-12-17
想太多了,4GB是因為FAT32的限制,只要改code,
有很多方法可以解決這個問題。像是改用NTFS或是切割等。
Xanthe avatarXanthe2010-12-19
不過ps3可以抓到ntfs的硬碟嗎? 我記得好像只能吃fat32?
Kristin avatarKristin2010-12-21
可以用Linux格式的硬碟或是外掛ntfs-3g套件支援
反正檔案格式不是什麼大問題
Dinah avatarDinah2010-12-22
linux NTFS-3g的速度慢到逆天,最好檔案格式不是問題
PS3我可不覺得會是使用NTFS
Oliver avatarOliver2010-12-23
FAT32? orz
John avatarJohn2010-12-27
NTFS的專利在ms手上,不是公開規格
Dora avatarDora2010-12-30
除非每一台PS3都願意附paragon或是NTFS-3G錢,可能嗎?
Irma avatarIrma2011-01-02
PS3當然不會附,但是有買的人可以自己想辦法裝上去。
Jake avatarJake2011-01-02
而且通常這些套件都會有神人幫忙處理好,等著用就好。
Doris avatarDoris2011-01-03
看看Wii就知道了,真的想玩遊戲不會是問題。
Victoria avatarVictoria2011-01-07
ps3的環境比wii複雜多了,你拿360去類比還比較恰當...