» »

Zaščita pred zaganjanjem tujih aplikacij na Xbox 360 končno premagana

 Matična plošča stare revizije: na sredini Ati Xenos obkrožen z GDDR3 pomnilnikom, desno IBM Xenon, zgoraj HANA čip, zgoraj levo južni most

Matična plošča stare revizije: na sredini Ati Xenos obkrožen z GDDR3 pomnilnikom, desno IBM Xenon, zgoraj HANA čip, zgoraj levo južni most

vir: LibXenon
 Matična plošča nove revizije: združeni Xenos/Xenon čip na desni obkrožen z GDDR3 pomnilnikom, južni most na sredini in HANA čip na sredini zgoraj

Matična plošča nove revizije: združeni Xenos/Xenon čip na desni obkrožen z GDDR3 pomnilnikom, južni most na sredini in HANA čip na sredini zgoraj

vir: LibXenon
LibXenon - Šest let po izidu, po 55 milijonih prodanih enot in eni strojni reviziji je zaščita na Xbox 360, ki preprečuje zaganjanje nepodpisanih programov na tej konzoli, končno klecnila pod napadi dveh hekerjev, ki sta poznana pod vzdevkoma GliGli in Tiros.

Xbox 360 namreč vključuje zaščito, ki zahteva, da so vsi programi (vključno z jedrom operacijskega sistema ter firmwarom) podpisani z Microsoftovimi privatnimi ključi. Ti ključi niso nikoli zapustili Microsofta in tako vse do sedaj (z izjemo kratkotrajne ranljivosti v preteklosti) na tej konzoli ni bilo mogoče poganjati nobene t.i. homebrew programske opreme.

Zagon konzole namreč poteka v naslednjih korakih:

  1. Prvi zaganjalnik (boot-loader), ki je shranjen v ROM-u na samem centralnem Xenon procesorju, dekriptira, preveri podpis in naloži drugi zaganjalnik, ki je shranjen v programabilnem NAND čipu

  2. Drugi zaganjalnik (CB) inicializira strojno podporo šifriranja v centralnem procesorju, inicializira glavni DRAM konzole ter dekriptira, preveri in naloži naslednji zaganjalnik

  3. Tretji zaganjalnik (CD) zatem naloži jedro operacijskega sistema (kernel) ter hipervizorja (Hypervisor), ter po znani zgodbi dešifrira, naloži in požene zadnjo stopnjo

  4. Četrti zaganjalnik (CF) naloži še popravke za jedro in hipervizor, požene hipervizor, znotraj le-tega pa se zatem požene jedro operacijskega sistema, ki naloži Dashboard vmesnik


Po zagonu hipervizor bdi nad vsemi zagnanimi kosi kode in preverja, če so podpisani z Microsoftovimi privatnimi ključi. V kolikor program ni podpisan, zagon zavrne.



Vse stopnje za zaščito uporabljajo simetrično šifriranje, po navedbah najverjetneje algoritem RC4, vsaka stopnja pa je podpisana z RSA/SHA1-HMAC algoritmom. Za generiranje naključnih števil skrbi strojni generator naključnih števil v procesorju, kar zapre tudi to možnost napada na kriptoalgoritme. Ker je prva stopnja shranjena v ROM-u direktno v trojedrnem centralnem procesorju, Microsoftovi privatni ključi pa niso nikoli zapustili podjetja, je to zadnjih šest let preprečevalo zaganjanje kode, ki ni bila odobrena in podpisana s strani Microsofta.
Izjema je sta bili jedri z verzijama 4532 in 4538, kjer je luknja v hipervizorju omogočila zagon poljubne kode. Tu pa je prišla v poštev še dodatna zaščita: pri vsaki nadgradnji firmwara konzole se uniči ena izmed eFuse varovalk znotraj procesorja. Ker vsako jedro preverja, če je na voljo pravo število teh varovalk, to prepreči nalaganje starejših verzij (downgrade) jedra in programske opreme. Posledično sta ti dve različici jeder omejeni na konzole, izdelane pred koncem januarja 2007, ki niso bile nikoli posodobljene - kar je dandanes izjemna redkost. V novih revizijah nalagalnika CB in CD takoj ustavita zagon, če prepoznata podpis teh dveh različic.

Ta kombinacija zaščite je zadnjih 6 let preprečevala resne posege v delovanje programske opreme v konzoli (v tem so izvzete vse modifikacije firmwara DVD pogonov, ki so bile namenjene izključno poganjanju piratskih iger), sta pa sedaj GliGli in Tiros končno našla napako v strojni opremi, ki to zaščito onemogoči.

Krivec za napako je Xboxov 3.2GHz trojedrni centralni procesor Xenon, ki se v določenih pogojih ne obnaša po specifikaciji. Hekerja sta ugotovila, da se procesor pri znižani frekvenci pri signalu CPU_RESET ne resetira, temveč sproži napako v delovanju, zaradi katere funkcija memcmp vedno vrne 0. S funkcijo memcmp vse stopnje nalagalnika preverjajo, če se podpisi naslednje stopnje ujemajo s shranjenimi hashi. Vrednost 0 pomeni ujemanje, posledično v tem primeru nalagalnik sprejme poljubno kodo na naslednji stopnji.

To samo po sebi ne bi bilo dovolj - procesor je treba še vseeno upočasniti. Tako sta ugotovila, da pri starejši (bajsi) reviziji pravi signal na povezavi CPU_PLL_BYPASS upočasni procesor pri zagonu na vsega 66.6 MHz, kar je dovolj za izvedbo napada. Napad trenutno ni zanesljiv in pogosto je potrebnih več ponovnih zagonov konzole da uspe. Avtorja trdita, da se te revizije v povprečju poženejo v pol minute.



Stvari se pa zakomplicirajo pri novi (Slim) reviziji konzole, ki ima GPU in CPU na enem samem čipu in mu za to manjka CPU_PLL_BYPASS nožica. Vse ni izgubljeno, hekerja sta ugotovila, da ima HANA čip na matični plošči (HANA skrbi za upscaling slike iz ločljivosti na izhodu grafičnega procesorja na ločljivost potrebno na izhodu) I2C dostop do centralnega procesorja in lahko nadzoruje frekvenco CPUja. Tako uporabita pri zagonu HANA čip da s signalom čez I2C upočasni procesor, pošljeta CPU_RESET in potem HANA obnovi polno frekvenco CPUja.
Vseeno pa ta napad ni tako zanesljiv kot pri starih revizijah konzole in traja zagon konzole dlje, preteče lahko tudi nekaj minut resetiranja, preden je napad uspešen.

Kaj to pomeni za prihodnost konzole? Narava napada je takšna, da ga na trenutnih revizijah strojne opreme ni moč popraviti samo s programskim popravkom. Poraja se vprašanje, ali bo Microsoft zaradi tega primera porabil denar za novo revizijo strojne opreme brez teh pomanjkljivosti (kar ne bo trivialno ali poceni), ali bodo raje se bolje osredotočali na naslednika, ki je že gotovo na poti.
Trenutno namreč napad zahteva dokaj hitro in natančno strojno opremo in tudi po izboljšavah bo zahteval resen poseg v strojno opremo konzole, ki bo gotovo uničil garancijo.

Podrobnejše poročilo o podvigu z videom je na boljo na LibXenon forumu

So pa za razliko od Sonya vsaj uporabili strojni generator naključnih števil namesto Debianovega.

27 komentarjev

antonija ::

Trenutno namreč napad zahteva dokaj hitro in natančno strojno opremo in tudi po izboljšavah bo zahteval resen poseg v strojno opremo konzole, ki bo gotovo uničil garancijo.
Sej lotanje cipov na prvi XBOX je tud iznicilo garancijo pa to ni ustavilo folka... XBMC je pac bil zakon takrat, MSjev tovarniski vmesnik pa sranje od sranja.

Ampak tukej se lepo pokaze kaj vse se da narest z nekaj talenta in dost dobre volje. Mogoce traja mal dlje, ampak rata pa. Ce ne drugega bi to lahko malo pohitrilo prihod konzol naslednjih generacij, ker tele kartelni "na 10 let" dogovori ze kr ornk smrdijo.
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

skika ::

500 miljard funkcij in navodil. Samo zato da se pol lahko piratski COD gor vrže.

Zmajc ::

skika je izjavil:

500 miljard funkcij in navodil. Samo zato da se pol lahko piratski COD gor vrže.


piratske igre se na xboxu lahko igrajo že zelo dolgo ...

LuGi ::

Samo še na freeboot počakamo >:D

Hehe pograbili vse XC2C64A čipe @farnell =)

Zgodovina sprememb…

  • spremenil: LuGi ()

Jeronimo ::

Mene pa zanima, ali sta do te ugotovitve prišla z random poizkusi, ali se je dejansko nekdo spomnil, ej, kaj pa če se procesor pri znižani frekvenci pri signalu CPU_RESET ne resetira? :)
JURIŠ !!!
Preko vode do slobode!

LuGi ::

Ideja se je porajala že leta 2007


Glitch Attack on CB authentication
<< on: September 05, 2007, 02:51:44 AM >>
Quote
tmbinc noted that the 360 was not designed to withstand certain hardware attacks such as the timing attack and "glitching".

Ideally we want to be able to defeat the RSA signature check on the CB section, since we now know that the CPU is running very slowly during the early boot phases and we have the "handy POST port" for synchronisation can we:

1) Determine when the 360 is performing the compare/branch instructions
2) Reliably introduce a glitch that will cause the CPU to continue and execute our modified CB?

I would have been very sceptical about 1) before the timing attack, now I think it probably can be done (with a lot of dificulty & struggling late into the night no doubt). Does anyone know anything about 2) ?

http://www.xboxhacker.org/index.php?top...

Cervantes ::

Kapo dol...

Sam kolk cajta pa dnarja sta porabla...

Pa kdo to financira...

Pa kdo ma kej od tega...

Al pa gre sam za to: JEST SM FRAJER!

Ted ::

Glede na zapisano bi znal xbox kmalu postati poceni HTPC s poljubnim OS-om ;).
Mah...

Icematxyz ::

So pa za razliko od Sonya vsaj uporabili strojni generator naključnih števil namesto Debianovega.


S čim točno z vsebino te novice pa ima to kakšno zvezo? Prebral sem novico in ne vidim neke povezave? Novica je o tem, da je Xbox 360 zaščita za poganjanje nepodpisane programske opreme padla in je ni več? Kvečjemu torej vidim povezavo, da lahko uporabiš Debianov generator naključnih števil, če ti strojni pač ne odgovarja? Skratka ne uporabljam Xbox 360 vidim pa na tujih forumih, da se nekateri že veselijo, da bodo ta kos strojne opreme uporabljali še za kaj drugega in to je to. Igrice če prav razumem so pa že tako lahko poganjali "piratske" torej kvečjemu bo prodaja naprav narasla nakup originalnih iger pa ne bo bistveno spremenjen?

Isotropic ::

softverske RNG je lazje kompromitirati, iz tega bi pa verjetno (lazje) dobil MS originalne kljuce.

antonija ::

Kapo dol...

Sam kolk cajta pa dnarja sta porabla...

Pa kdo to financira...

Pa kdo ma kej od tega...
Ogromno ljudi pocne zelo zelo zelo cudne in drage zadeve, ki jim vzamejo cist prevec casa (pa za vecino takih stvari sploh noben ne izve). Tale je pac popularna ker so konzole trenutno "in", njihovo heckanje pa se bolj (sploh ce vemo da zna bit to kar donosen posel). Eni pac porabijo svoj cas se za kaj drugega kot vlecenje s prstom po ekranu novega gizmota zato da je FB status real-time updatan.

Igrice če prav razumem so pa že tako lahko poganjali "piratske" torej kvečjemu bo prodaja naprav narasla nakup originalnih iger pa ne bo bistveno spremenjen?
Za piratske igre je precej hitro rpisel ven firmware za DVD enoto s katero si lahko poganjal skopirane ploscke. Tale novica pa pomeni, da se bo dalo poganjat katerikoli kos programja (predvsem doma spisanega - homebrew). Za originalni xbox je bil prakticno obvezen xbmc, ki je nadomestil default dashboard. 360ke si sicer ne lastim, bi pa sel stavit da bo homebrew skupnost (seveda ce bo tale hack vsaj priblizno prakticno izvedljiv na masovnem nivoju) poskrbela za izboljsanje tako opevane "uporabniske izkusnje".
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

LuGi ::

Homewbrew scena na X360 je zaživela pred času in hitro "ugasnila" ko so softwersko pokrpali luknje =)

RejZoR ::

Nekdo pri Microsoftu se je zelo potrudil glede tega. Glede na to da se življenski cikel X360 nekako počasi zaključuje ni nobene večje škode. Za novo verzijo konzole pa bojo pozorni tud na to, tko da v novi verziji konzole skoraj sigurno ne bo tega buga.
RejZoR's Flock of Sheep @ rejzor.wordpress.com

IgorM ::

Ali to pomeni xbox360 kot htpc z xbmc?

crobat ::

Icematxyz je izjavil:

So pa za razliko od Sonya vsaj uporabili strojni generator naključnih števil namesto Debianovega.


S čim točno z vsebino te novice pa ima to kakšno zvezo? Prebral sem novico in ne vidim neke povezave? Novica je o tem, da je Xbox 360 zaščita za poganjanje nepodpisane programske opreme padla in je ni več? Kvečjemu torej vidim povezavo, da lahko uporabiš Debianov generator naključnih števil, če ti strojni pač ne odgovarja? Skratka ne uporabljam Xbox 360 vidim pa na tujih forumih, da se nekateri že veselijo, da bodo ta kos strojne opreme uporabljali še za kaj drugega in to je to. Igrice če prav razumem so pa že tako lahko poganjali "piratske" torej kvečjemu bo prodaja naprav narasla nakup originalnih iger pa ne bo bistveno spremenjen?


pogooglaj si razliko med obema varstima generiranja, in potem sprašuj dalje.

Icematxyz ::

Da in kakšno vezo ima ta razlika s to novico? Da je Xbox 360 zaščita proti poganjanju nepodpisane programske opreme padla in je pač ni več?

Zgodovina sprememb…

LuGi ::

IgorM je izjavil:

Ali to pomeni xbox360 kot htpc z xbmc?


Dvomim ker to bi lahko naredili že pred času ko so (prvič) omogocili homebrew na starejsih X360 konzolah..

Ta novica je izjemna le za slime in tiste kateri so si (ponesreci) nadgradili dashboard in si tako onemogočili homebrew

In seveda zato ker MS tega ne more zakrpati softwersko =)

Zgodovina sprememb…

  • spremenil: LuGi ()

antonija ::

Ta novica je izjemna le za slime in tiste kateri so si (ponesreci) nadgradili dashboard in si tako onemogočili homebrew
V danasnjih casih bi sklepal da ima velika vecina xboxov redne nadgradnje, razeh mogoce par znalcev ki so potrpeli brez novotarij ker pa cne rabijo konzola za igracanje ampak za kej drugega.
Ce pa velika vecina nima moznosti poganjat homebrewja pol je nekak logicno da homebrew scena zamre...
Statistically 3 out of 4 involved usually enjoy gang-bang experience.

LuGi ::

Tisti ki imajo JTAG pač poačakajo na modificirano verzijo nadgradnje in veselo "nabijajo" dalje..

RejZoR ::

antonija je izjavil:

Ta novica je izjemna le za slime in tiste kateri so si (ponesreci) nadgradili dashboard in si tako onemogočili homebrew
V danasnjih casih bi sklepal da ima velika vecina xboxov redne nadgradnje, razeh mogoce par znalcev ki so potrpeli brez novotarij ker pa cne rabijo konzola za igracanje ampak za kej drugega.
Ce pa velika vecina nima moznosti poganjat homebrewja pol je nekak logicno da homebrew scena zamre...


A X360 nima tko kot PS3 kjer je npr neka najnovejša igra zahtevala ta in ta firmware, drugače se sploh ni zagnala. Kar je pomenilo, da si moral, če si hotel igrat nove igre imet up to date konzolo. Oz si moral naredit kompromis in imet eno ali drugo.
RejZoR's Flock of Sheep @ rejzor.wordpress.com

LuGi ::

RejZoR je izjavil:

antonija je izjavil:

Ta novica je izjemna le za slime in tiste kateri so si (ponesreci) nadgradili dashboard in si tako onemogočili homebrew
V danasnjih casih bi sklepal da ima velika vecina xboxov redne nadgradnje, razeh mogoce par znalcev ki so potrpeli brez novotarij ker pa cne rabijo konzola za igracanje ampak za kej drugega.
Ce pa velika vecina nima moznosti poganjat homebrewja pol je nekak logicno da homebrew scena zamre...


A X360 nima tko kot PS3 kjer je npr neka najnovejša igra zahtevala ta in ta firmware, drugače se sploh ni zagnala. Kar je pomenilo, da si moral, če si hotel igrat nove igre imet up to date konzolo. Oz si moral naredit kompromis in imet eno ali drugo.


LuGi je izjavil:

Tisti ki imajo JTAG pač poačakajo na modificirano verzijo nadgradnje in veselo "nabijajo" dalje..



;)

Mavrik ::

JTAG je slaba tolažba glede na to da rabiš staro neupdejtano konzolo.

Da in kakšno vezo ima ta razlika s to novico? Da je Xbox 360 zaščita proti poganjanju nepodpisane programske opreme padla in je pač ni več?


Da razumeš moj pripis (ki ni del novice in je zato v kurzivi) moraš malo spremljati Slo-Tech novice in poznati tri stvari:
1. Debianov RNG fail in vse šale povezane s tem.
2. Sonyev fail, kjer so jim privatne ključe za podpisovanje (tiste o katerih govori točno ta novica) razbili ker kod vhod pri generiranju ključev niso uporabili naključnih števil ampak vedno isto število
3. Humor in povezati 1. ter 2
The truth is rarely pure and never simple.

Zgodovina sprememb…

  • spremenil: Mavrik ()

Icematxyz ::

Aha, humor. Zdaj razumem. "Vsi trije" so se zafrkn... ;)

Mavrik ::

Icematxyz je izjavil:

Aha, humor. Zdaj razumem. "Vsi trije" so se zafrkn... ;)


Tako je :)
The truth is rarely pure and never simple.

win64 ::

Torej lahko v naslednjem xboxu uporabijo enako zaščito, samo bolj zanesljiv procesor. Torej je to kar dobro za njih.

crobat ::

win64 je izjavil:

Torej je to kar dobro za njih.

To je dobro za vse. - dobro scitena konzola in reabilen sistem, povecata zanimanje proizvajalcev igre/programov... za platformo.

Kar v koncni fazi pomeni, vec in bolse zakoncnega potrosnika, in bolse za vsa sodelojoca podjetja.

Piratstvo pa tako ali tako vedno najde način in ni vrag da se nebi igralo piratov še na tako odporni konzoli.

Looooooka ::

crobat je izjavil:

win64 je izjavil:

Torej je to kar dobro za njih.

To je dobro za vse. - dobro scitena konzola in reabilen sistem, povecata zanimanje proizvajalcev igre/programov... za platformo.

Kar v koncni fazi pomeni, vec in bolse zakoncnega potrosnika, in bolse za vsa sodelojoca podjetja.

Piratstvo pa tako ali tako vedno najde način in ni vrag da se nebi igralo piratov še na tako odporni konzoli.

Sj tle nocjo piratizirat.Tle hocjo svoj OS gor vrzt.Piratske spile igrajo ze od zacetka.


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Zaščita pred zaganjanjem tujih aplikacij na Xbox 360 končno premagana

Oddelek: Novice / Varnost
274141 (2319) Looooooka
»

Preverjanje digitalnega podpisa

Oddelek: Informacijska varnost
334529 (2681) neki4
»

Intel v Wii 2, Cell odhaja iz PlayStationov

Oddelek: Novice / Konzole
133073 (2049) PIPI
»

Nov članek: "All your firmware are belong to us" (strani: 1 2 3 )

Oddelek: Novice / Nova vsebina
1388477 (5317) arrigo
»

Predstavitev Ring -3 rootkitov na BlackHat konferenci

Oddelek: Novice / Varnost
82015 (1479) jype

Več podobnih tem