Jak wyglądała historia zabezpieczeń konsoli Xbox? #od0dopentestera
• Pierwsza konsola posiadała tak zwany ukryty ROM. Był to bardzo mały kod, którego celem była inicjalizacja pamięci oraz odszyfrowanie i załadowanie kolejnego, drugiego bootloadera. Ten mały kod zawierał zatem klucze szyfrujące, które miały ochronić konsolę przed atakami. Bez ich znajomości nie można stworzyć nowego, alternatywnego oprogramowania, które zostałoby zaakceptowane przez konsolę.
• Te 512 bajtów znajdowało się w mostku południowym, który komunikował się z procesorem za pomocą szyny Hyper Transport. Jej podsłuchanie wydawało się skomplikowane i wymagało drogiego, zaawansowanego sprzętu. Ale pewien doktorant, Bunnie, który zajmował się tematem szybkiego przetwarzania danych, stworzył swój własny sniffer – czyli urządzenie pozwalające na pozyskanie i analizę informacji. Tak pozyskano klucze szyfrujące.
• Jednak nie wszyscy chcieli z nich korzystać. Nielegalne liczby to takie wartości, których teoretycznie, z prawnego punktu widzenia, nie można posiadać/używać. Zaczęto szukać innych rozwiązań. Gdy suma kontrolna odszyfrowanego bootloadera nie zgadzała się – konsola przerywała swoją pracę. To znaczy – miała przerywać, bo okazało się, że tak nie jest. Wynikało to z faktu, że pierwsze prototypy wykorzystywały procesory AMD. Chwilę przed premierą jednak zmieniono je na produkty Intela. Teoretycznie procesory były ze sobą kompatybilne, ale czasami występowały w nich drobne różnice. A nikomu nie przyszło do głowy sprawdzić, czy po zmianie wszystko działa prawidłowo.
• Później znaleziono błędy w obsłudze zapisów stanu gry różnych produkcji. Odpowiednio manipulując plikiem z „save’m” można było wykonać zdalny kod na konsoli. Było to jednak problematyczne. Po pierwsze, należało posiadać oryginalną kopię podatnej gry. A po drugie – z każdym uruchomieniem konsoli trzeba było uruchomić grę i wczytać odpowiedni plik. A to trwało.
• Gdy w napędzie nie było płyty – z dysku twardego uruchamiał się specjalny plik – dashboard. Nie można go było podmienić na inny – bo konsola sprawdzała, czy został on stworzony przez Microsoft. Tylko, że program ten ładował inne zasoby: grafiki, dźwięki i czcionki. Z czasem znaleziono błąd w obsłudze czcionek. Teraz wystarczyło tylko zapisać na dysku specjalny plik aby uruchomić zewnętrzny kod.
• Xbox 360 to lepiej zabezpieczona wersja konsoli. Wprowadzono nową technologię – eFuses. Były to specjalne „bezpieczniki”, które przy użyciu odpowiedniej komendy można było „przepalić”. Raz spalonych bezpieczników nie dało się przywrócić. W ten sposób konsola mogła na stałe zapisać różne informacje. Dzięki temu można było zapobiec instalacji starszej wersji oprogramowania.
• Najsłabszym elementem konstrukcji był napęd. To on decydował czy płyta jest oryginalna i przesyłał informację do procesora. Komunikacja ta była zabezpieczona. Konsola i napęd posiadały ten sam, unikalny, losowy klucz, który był generowany podczas procesu parowania. Właśnie przez to Czytaj dalej...