суббота, января 10, 2009

Доклад Console Hacking 2008: Wii Fail

Console Hacking 2008: Wii Fail - слайды, есть также видеозапись этого доклада.

Краткое содержание:
В Nintendo Wii есть подсистема безопасности. Для этого там есть отдельный процессор. То есть всего в этой консоли два процессора. Основной, под названием Broadway - это модифицированный PowerPC от IBM. На нем запускаются игрушки. Есть еще ARM процессор, существование которого скрывалось. На нем запущена своя ОС. И ничего нельзя загрузить без проверки этим процессором.

Проверить целый DVD диск с игрой при загрузке довольно сложно, 4 гига все-таки. Поэтому диск бьется на блоки, от которых считаются SHA-1 хэши и проверяются они.

У Wii есть обратная совместимость с GameCube, игры для которого никоим образом подписаны не были. Эти игры исполняются в режиме GameCube sandbox. При переходе в этот режим не очищалась память, поэтому удалось эту память считать и вытащить оттуда некоторую интересную информацию, включая ключи для криптования. Список ключей приводится в слайдах.

Также с процессе дизассемблирования системного софта удалось вытащить сравнение вот такого вида:
strncmp(SHA1_sig, SHA1_in, 20);

То есть бинарные числа сравниваются как строки. Чем это плохо? Тем, что сишное сравнение на нулевом байте остановится. То есть, если ключи начинаются с нулей, то они будут равны, даже если все остальное не сходится.

Также на Wii предусмотрена возможность для проигрывания DVD video. Она предусмотрена несколько неудачно и в итоге некто написал загрузчик варезов для Wii.

В конце доклада приводится таблица взлома защиты консолей.


PS3, по мнению докладчиков, до сих пор не взломана не столько из-за качества защиты, а скорее потому что они задумались о пользователях, которые там хотят homebrew софт запускать. Есть официальный способ загрузить на PS3 Линукс. То есть смысла хакать эту консоль нет.

По ссылке с Grammerjack.

15 комментариев:

  1. Анонимный10/1/09 23:01

    Это что же получается, почти все было взломано некими неугомонными гиками забавы и линукса ради? А я то думал, что все это тайно финансируется некими могущественными пиратствующими подпольщиками.

    ОтветитьУдалить
  2. 2 addicted-to-q:

    Это что же получается, почти все было взломано некими неугомонными гиками забавы и линукса ради?

    Ну это в этом конкретном докладе так говорят. А что там на самом деле - кто знает.

    ОтветитьУдалить
  3. Анонимный11/1/09 00:52

    вообще-то всё что описано в посте как раз позволяет пускать пиратку без дополнительных вложений. какай от этого прибыль «могущественным пиратствующим подпольщикам»?

    ОтветитьУдалить
  4. консоли хакаются ради проксей.
    На адсл модемы, игровые консоли (подключенные к интернету), на ip вебкамеры и IP телефоны сейчас активно клепаются кастом прошивки которые позволяют использовать девайс жертвы как прокси или ддос бот.

    ОтветитьУдалить
  5. Консоли хакаются, как и всё остальное, чтобы пользоваться нахаляву. В случае с консолями речь идёт об играх. Для PC ломается сам софт, для консолей ломается консоль и там и там цель запустить программу "бесплатно".

    Сложно себе представить пользователя игровой консоли который будет ваять homebrew для неё :) Уж больно путь тернистен, гораздо проще делать это на PC. А те кто умёют и делают составляют мне кажется несущественную долю.

    А насчёт проксей в консолях, то это очень напоминает вирусы в BIOS - тоже возможно, но что-то непохоже на эпидемию :)

    ОтветитьУдалить
  6. Анонимный11/1/09 14:21

    Уж больно путь тернистен, гораздо проще делать это на PC.за все консоли не скажу, а нинтендо гораздо проще, чем на pc.

    ОтветитьУдалить
  7. Анонимный14/1/09 10:41

    А разве strncmp() заканчивает сравнение при обнаружении '\0' ? Кажись она должна проверить N символов...

    ОтветитьУдалить
  8. Анонимный15/1/09 20:05

    strncmp() сравнивает пока не найдет позицию где строки отличаються, или встретит '\0' в одной из строк, или сравнит N символов, в зависимости от того что случится первым.

    ОтветитьУдалить
  9. Анонимный19/1/09 11:36

    Мне кажется, что в PS3 зря не сделали защиты от запуска Linux. Ведь это лишний пиар в прессе о том, что консоль взломали. Вот Wii пропиарили на конференции и правильно сделали. В пиаре нет ничего плохого, и отказываться от него не стоит. Другое дело, что это может быть плохой пиар на фоне критических ошибок в безопасности.

    ОтветитьУдалить
  10. Анонимный24/1/09 21:54

    С PS3 не так все просто в плане легкости/привлекательности слома.

    Во-первых, открыт linux. Из ядра линукса торчит вот такая чертова уйма вызовов гипервизора:

    http://wiki.ps2dev.org/ps3:hypervisor

    Там все. От менеджмента памяти, до сбора перфоманс-статистики, абстракция над звуком, видео и дисковыми устройствами.

    Т.е. вполне себе ясен контекст, как можно вызывать и ломать.

    Конкретный баг с гипервизором XBOX360 ( то самое злополучное 32битное сравнение ) должен быть хорошо документирован, чтобы его можно были использовать. Так что слом 360 начался с утечки конфиденциальной информации о уязвимости ядра. И потекло по трубам...

    Мне вот известны несколько забавных багов гипервизора PS3. Пожалуй, есть один buffer overrun в lv1_gpu_context_attribute в ранних прошивках.

    Но как конкретно ломать, без знания кода гипервизора - ума не дам.

    Я в общем-то пытался не RSX добыть, а пользовательский код в режиме гипервизора запустить. Хрен бы там.

    IronPeter.

    ОтветитьУдалить
  11. Анонимный25/1/09 18:11

    SHA1 никогда не возвращает 0x00 байт (читайте http://www.ietf.org/rfc/rfc3174.txt)
    так что strncmp вполне годится для сравнения.

    ОтветитьУдалить
  12. Анонимный25/1/09 22:56

    SHA1 никогда не возвращает 0x00 байт (читайте http://www.ietf.org/rfc/rfc3174.txt)
    так что strncmp вполне годится для сравнения.

    да, подходит, для ЛЕГИТИМНЫХ ключей. а вот если ты сам туда засунул (как - вопрос отдельный) х00 то это уже дырка.

    ОтветитьУдалить
  13. Анонимный2/2/09 09:50

    Здравствуйте Уважаемая Алена.Посоветуйте пожалуйста,с какой книги Дейтла прежде всего нужно начать изучение,изучения с нуля,для новичков.Большое спасибо.

    ОтветитьУдалить
  14. 2Анонимный

    Посоветуйте пожалуйста,с какой книги Дейтла прежде всего нужно начать изучение,изучения с нуля,для новичков.Большое спасибо.

    Про Дейтла ничего сказать не могу, не читала. Моя подборка книг для начинающих тут.

    ОтветитьУдалить