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 коммент.:
Это что же получается, почти все было взломано некими неугомонными гиками забавы и линукса ради? А я то думал, что все это тайно финансируется некими могущественными пиратствующими подпольщиками.
2 addicted-to-q:
Это что же получается, почти все было взломано некими неугомонными гиками забавы и линукса ради?
Ну это в этом конкретном докладе так говорят. А что там на самом деле - кто знает.
вообще-то всё что описано в посте как раз позволяет пускать пиратку без дополнительных вложений. какай от этого прибыль «могущественным пиратствующим подпольщикам»?
консоли хакаются ради проксей.
На адсл модемы, игровые консоли (подключенные к интернету), на ip вебкамеры и IP телефоны сейчас активно клепаются кастом прошивки которые позволяют использовать девайс жертвы как прокси или ддос бот.
Консоли хакаются, как и всё остальное, чтобы пользоваться нахаляву. В случае с консолями речь идёт об играх. Для PC ломается сам софт, для консолей ломается консоль и там и там цель запустить программу "бесплатно".
Сложно себе представить пользователя игровой консоли который будет ваять homebrew для неё :) Уж больно путь тернистен, гораздо проще делать это на PC. А те кто умёют и делают составляют мне кажется несущественную долю.
А насчёт проксей в консолях, то это очень напоминает вирусы в BIOS - тоже возможно, но что-то непохоже на эпидемию :)
Уж больно путь тернистен, гораздо проще делать это на PC.за все консоли не скажу, а нинтендо гораздо проще, чем на pc.
Тока фчера смотрел похожее видео про xbox360.
А разве strncmp() заканчивает сравнение при обнаружении '\0' ? Кажись она должна проверить N символов...
strncmp() сравнивает пока не найдет позицию где строки отличаються, или встретит '\0' в одной из строк, или сравнит N символов, в зависимости от того что случится первым.
Мне кажется, что в PS3 зря не сделали защиты от запуска Linux. Ведь это лишний пиар в прессе о том, что консоль взломали. Вот Wii пропиарили на конференции и правильно сделали. В пиаре нет ничего плохого, и отказываться от него не стоит. Другое дело, что это может быть плохой пиар на фоне критических ошибок в безопасности.
С PS3 не так все просто в плане легкости/привлекательности слома.
Во-первых, открыт linux. Из ядра линукса торчит вот такая чертова уйма вызовов гипервизора:
http://wiki.ps2dev.org/ps3:hypervisor
Там все. От менеджмента памяти, до сбора перфоманс-статистики, абстракция над звуком, видео и дисковыми устройствами.
Т.е. вполне себе ясен контекст, как можно вызывать и ломать.
Конкретный баг с гипервизором XBOX360 ( то самое злополучное 32битное сравнение ) должен быть хорошо документирован, чтобы его можно были использовать. Так что слом 360 начался с утечки конфиденциальной информации о уязвимости ядра. И потекло по трубам...
Мне вот известны несколько забавных багов гипервизора PS3. Пожалуй, есть один buffer overrun в lv1_gpu_context_attribute в ранних прошивках.
Но как конкретно ломать, без знания кода гипервизора - ума не дам.
Я в общем-то пытался не RSX добыть, а пользовательский код в режиме гипервизора запустить. Хрен бы там.
IronPeter.
SHA1 никогда не возвращает 0x00 байт (читайте http://www.ietf.org/rfc/rfc3174.txt)
так что strncmp вполне годится для сравнения.
SHA1 никогда не возвращает 0x00 байт (читайте http://www.ietf.org/rfc/rfc3174.txt)
так что strncmp вполне годится для сравнения.
да, подходит, для ЛЕГИТИМНЫХ ключей. а вот если ты сам туда засунул (как - вопрос отдельный) х00 то это уже дырка.
Здравствуйте Уважаемая Алена.Посоветуйте пожалуйста,с какой книги Дейтла прежде всего нужно начать изучение,изучения с нуля,для новичков.Большое спасибо.
2Анонимный
Посоветуйте пожалуйста,с какой книги Дейтла прежде всего нужно начать изучение,изучения с нуля,для новичков.Большое спасибо.
Про Дейтла ничего сказать не могу, не читала. Моя подборка книг для начинающих тут.
Отправить комментарий