Jak złamano zabezpieczenia konsoli PS3?
George Hotz, który stał się znany dzięki złamaniu smartfona iPhone, opublikował w blogu instrukcję prezentującą sposób pokonania zabezpieczenia hiperwizora odpowiedzialnego za system bezpieczeństwa konsoli PlayStation 3 i uzyskania uprawnienia na poziomie Ring0. Umożliwiły mu one bezpośrednią komunikację ze sprzętem na najniższym poziomie i odczyt oraz zapis wszystkich obszarów pamięci. "In other words, I've hacked the PS3" – napisał Hotz w miniony weekend i dostarczył dokładne opisy oraz dowody na to, że mu się udało.
28.01.2010 | aktual.: 28.01.2010 15:00
George Hotz, który stał się znany dzięki złamaniu smartfona iPhone, opublikował w blogu instrukcję prezentującą sposób pokonania zabezpieczenia hiperwizora odpowiedzialnego za system bezpieczeństwa konsoli PlayStation 3 i uzyskania uprawnienia na poziomie Ring0. Umożliwiły mu one bezpośrednią komunikację ze sprzętem na najniższym poziomie i odczyt oraz zapis wszystkich obszarów pamięci. "In other words, I've hacked the PS3" – napisał Hotz w miniony weekend i dostarczył dokładne opisy oraz dowody na to, że mu się udało.
Przeprowadzony przez Hotza atak ma działać na starszych wersjach konsoli, które są w stanie wystartować GNU/Linuksa jako Other OS. W nowych wersjach Slim, które są w sprzedaży od września, możliwość ta jest wyłączona. Oprócz niewielkiego programu linuksowego atak wymaga zastosowania dodatkowego układu na płycie głównej PS3, który w odpowiednim momencie wyśle 40-nanosekundowy impuls w celu krótkotrwałego przerwania połączenia z pamięcią.
Hiperwizor to program, który standardowo kontroluje wszystkie próby dostępu uruchamianego systemu do sprzętu. Zapobiega on między innymi korzystaniu przez działającego na konsoli Linuksa z funkcji akceleracji 3. układu graficznego RSX firmy Nvidia. Hotz podaje, że na poziomie uprawnień Ring0 był w stanie uzyskać nieograniczony dostęp do wszystkich procesów, w tym również do układu RSX. W celu wykorzystania funkcji 3D chipa RSX w Linuksie potrzebny jest jednak odpowiedni sterownik, a nie jest on łatwy w zaprogramowaniu. "Najlepsze sterowniki graficzne autorstwa Nvidii są dystrybuowane jako zamknięte oprogramowanie, nawet w wersjach dla otwartych systemów" – podkreśla Hotz.
Jednak IBM i Sony w koncepcji systemu bezpieczeństwa w procesorze Cell BE uwzględniły przypadek, w którym hakerowi udaje się przełamać hiperwizor i uzyskać uprawnienia Ring0. Dlatego też obszar podwyższonego bezpieczeństwa, w którym zapisywane są klucze zabezpieczeń i deszyfrowane programy, jest wydzielony w wyizolowanym rdzeniu SPE (Synergistic Processing Element). Z kolei rdzeń PPE (Power Processing Element) układu Cell, a tym samym potencjalny haker z prawami Ring0, nie ma dostępu do wyizolowanych SPE. Zabezpieczone oryginalne oprogramowanie może w każdej chwili odwołać się w celu deszyfrowania do nowego procesu w wyizolowanym SPE i sprawdzić integralność informacji. Z poziomu PPE można wprawdzie zlikwidować taki wyizolowany proces, nie można go jednak monitorować, ani mieć wpływ na sposób jego działania. Wyizolowane rdzenie SPE monitorują także zabezpieczony proces rozruchu systemu. Tak zwany Root Key, a więc centralny klucz
odpowiedzialny za szyfrowanie wszystkich kluczy zabezpieczeń, został zaimplementowany sprzętowo w PS3 i nie może zostać odczytany przez żadne procesy. Można zatem powiedzieć, że według specyfikacji technicznej autorstwa IBM Hotzowi udało się wejść jedynie na dziedziniec twierdzy, ale nie przedostał się on do skarbca.
Hotz, który pierwsze przymiarki do ataku poczynił już półtora roku temu, ale na poważnie zaczął zajmować się nim dopiero podczas minionych świąt, przyznaje, że nie uzyskał dostępu do wyizolowanych rdzeni SPE i klucza Root Key, ale zaznacza, iż nad tym pracuje. Jednocześnie uważa, że znajomość wnętrza wyizolowanych SPE nie jest absolutnie konieczna. Zamiast tego hakerzy mogą próbować obejść system zabezpieczeń, przechwytując zdeszyfrowane informacje wysyłane przez SPE i przekazując spreparowane dane do działającego oprogramowania PS3. W podobny sposób udawało się przecież kopiować gry z konsoli PSP bez potrzeby łamania ich zabezpieczeń.
Według Hotza luka, którą udało mu się wykryć w systemie zabezpieczeń PS3. może być wykorzystywana do uruchamiania gier własnej produkcji ("homebrew"), prezentowania grafiki 3D w Linuksie, a także do kopiowania gier na PS3. O ile uruchamianie tych pierwszych było już możliwe na współpracujących z system GNU/Linux konsolach PS3, a obsługa grafiki 3D zależy w przeważającej mierze od zastosowania odpowiedniego sterownika, to można powątpiewać, że hakerzy bez dostępu do wyizolowanych rdzeni SPE i klucza Root Key będą w stanie tworzyć nielegalne kopie gier na PS3. Ponadto aktualizacja firmware'u daje firmie Sony możliwość łatania luk w zabezpieczeniach lub przynajmniej rzucania hakerom nowych kłód pod nogi.
Mimo to Sony i IBM wydają się zaniepokojone atakiem Hotza. Gdy o całą sprawę zapytalismy Kannę Shimizu, architekt bezpieczeństwa procesora Cell BE, odpowiedziała jedynie, że ze względu na delikatność tematu nie może udzielać żadnych informacji prasie.