Девять лет до взлома Xbox 360: как Raspberry Pi Pico упростил невозможное
Автор купил глитчер — модчип Matrix CoolRunner Rev D — ещё в 2017 году. Единственная задача этой платы: подать на процессор Xbox 360 короткий импульс длительностью около 100 наносекунд. Зачем? Ответ объясняет, почему приставку долгое время считали практически невзламываемой.
Microsoft сделала работу над ошибками
После провальной защиты оригинального Xbox компания выстроила на 360-й надёжную цепочку доверия. Первая ступень загрузчика, 1BL, физически зашита в кремний процессора: она подгружает следующую стадию из флеш-памяти и проверяет подпись Microsoft. Без закрытых ключей перехватить управление при загрузке было невозможно, а каждая последующая стадия включала дополнительные защитные механизмы. Программные способы запуска неподписанного кода, как признавал ещё tmbinc, почти не работали.
Удар по слабому звену
Если замок надёжен, а стража проверяет документы у входа, ключ бесполезен. Проще сказать охраннику, что у него развязался шнурок, и огреть его дубинкой. Именно так работает инъекция сбоев. Исследователи обнаружили, что быстрое переключение сигнала сброса процессора (CPU_RESET) не перезапускает CPU, а заставляет его выполнить текущую инструкцию неправильно. Инструкцию mr, участвующую в проверке подписи, удалось "сбить" так, что вместо нужного значения в регистр записывался ноль. Зная момент и щёлкая "выключателем", атакующие получали произвольное исполнение кода.
Будущее за глитчингом
Похожие цепочки доверия теперь стали нормой. Secure boot на аппаратном уровне Microsoft внедрила для своих ОС ещё в 2021 году. В 2024-м инъекцией сбоев обошли защиту ESP32 v3; прошивку Apple AirTag сдампили в 2021-м при помощи Raspberry Pi Pico; модчип PicoFly для Nintendo Switch (2023) тоже использует fault injection. Чем крепче защита, тем привлекательнее этот канал атаки — и тем доступнее он благодаря дешёвым точным микроконтроллерам.
Признание в любви к Pico
Вышедший в 2021 году за пять фунтов Raspberry Pi Pico силён блоками PIO, обеспечивающими точность тайминга около 7,5 наносекунды при частоте 133 МГц. В 2017-м автор пытался собрать NAND/JTAG-программатор на LPT-порту старого ПК — дамп занял бы более получаса, и проект заглох. В 2026-м он прошил на Pico PicoFlasher и считал NAND за несколько секунд, а затем через Pico-dirtyJTAG запрограммировал тайминги CoolRunner.
Ирония в финале: софтовый эксплойт для Xbox 360 вышел буквально неделей раньше, обесценив годы усилий. Но автор не жалеет — это было увлекательное погружение в устройство консоли и её защиты. Главный вывод: задача, сломившая его в 2017-м, в 2026-м оказалась по силам микроконтроллеру за пять фунтов.
Источник: Lobsters
Комментарии
Войдите, чтобы комментировать.