Хакінг: Nintendo Wii. Частина 0

Це буде моя перша повноцінна стаття, тому побажання, зауваження і критика are welcome.
Що буде описуватись в даній статі:
0. Основні методи захисту приставки.
1. Hardware modchips (Drivechips).
2. Software hacks.

Почнемо з захисту приставки від запуску нелегального софту. Основними засобами комунікації Wii з зовнішнім світом є DVD диски, SD карта, VC (Virtual Console)* і WiiWare** канали, поновлення скачані з інтернету.
Почнемо з визначень які використовуються в статті:
Шифрування - використовується для приховування данних від сторонніх очей. Wii використовує AES-128-CBC.
Симетричні алгоритми шифрування - використовується один і той самий ключ для шифрування та дешифрування інформації.
Хешування - використовується для перевірки на нелегальні модифікації коду. Wii використовує MD5 і SHA-1.
Електронний підпис - використовується для того щоб не дозволити нелегальну зміну інформації (фактично є комбінацією хешування та шифрування). Wii використовує RSA та ECC.
Підписування це асиметричний алгоритм який може бути перевірений без необхідності відтворення всього підпису.
Title - в термінології Wii тайтлом вважається будь-яка сукупність коду і данних. Гра - це тайтл, VC-гра - теж тайтл. і т.д.
Content - в термінології Wii контентом вважається частина коду або данних. Наприклад диск складається з декількох розділів, на кожному розділі знаходиться "один контент", канали (WiiWare, VC) мають в більшості випадків більше одного "контента".
Рекомендую перечитати інформацію про системи симетричного та асиметричного шфирування перед продовженням.

Ігрові DVD диски
Диски зашифровані для захисту від аналізу і підписані для захисту від модифікацій.
Використовується симетричне 128 бітне AES-CBC шифрування. Кожен диск зазвичай складається з 2-ох або більше партишенів.
Кожна партишена має свій AES ключ (title ключ). Ключ збережено на диску в середені так званого "квитка" (ticket), а він в свою чергу зашифрований master AES ключем.
Отже маючи мастер ключ можна розшифрувати ключі тайтлів, а з ключами тайтлів можна розшифрувати ключі партишенів. Master AES ключі були "витягнуті" з приставки за допомогою одного з софтверних хаків (пункт 2).

Диски підписані за допомогою побудови SHA-1 хешів невеликих частин диску, після чого вони складаються в ієрархічну структуру, яка в свою чергу підписується асиметричним алгоритмом.
Такий спосіб вибраний тому що шифрувати весь диск асиметричним алгоритмом було неможливо в зв'язку з невисокою швидкістю асиметричних методів.

Сейви на SD карті
При копіюванні з пам'яті приставки на SD карту, сейв файл шифрується за допомогою AES ключа який є однаковим для всіх консолей (SD-key). Це зроблено для того щоб приховати данні сейв файла. Цей ключ називають Shared Secret.
Після шифрування файл підписується приватним (ECC) ключем. Це зроблено для того щоб файл на SD карті не можна було модифікувати.
Також для того щоб перевірти автентичність сейвів використовується публічний ключ консолі (Wii public key) який є унікальним для кожної консолі (в парі з ним є Wii Private Key) і також дописується в сейв. Це зроблено для перевірки валідності файла. Адже якщо скопіювати файл і перенести його на іншу консоль - він буде успішно розшифрований (SD-key відомий), але не буде можливості перевірити постачальника сейва. Цей ключ ще називають сертифікатом.
Але виникає наступна проблема. Як перевірити чи дійсно консоль створила ECC ключ чи це просто "лівий" згенерований ключ. Для вирішення цієї проблеми сертифікат також підписаний приватним ключем Nintendo.
Всі приставки мають Nintendo Public Key збережений в памяті, а тому можна перевірити валідність ECC ключа.
Для обходу цього захисту був злитий дамп памяті консолі в якому був збережений приватний ECC ключ. Оскільки всі консолі можуть читати будь-які "правильні" сейв файли - одного ключа достатньо для того щоб підписувати будь-які данні в сейв файлі і годувати ними Wii.

Проблеми:
- Немає. На перший погляд все ідеально якби не "але" які будуть описані в наступних статях.

* VC (Virtual Console) - ігри портовані з старих консолей (NES (Dendy), SNES, Sega etc...)
** WiiWare - невеликі ігри, найчастіше на 1 вечір, хоча бувають дійсно хороші (World of Goo, Cubello та декілька інших).

В наступній частині я підготую інформацію про hardware обхід захисту DVD привода, помилки, які на мою думку, допустила Nintendo при випоску консолі.
Сподіваюсь Вам сподобалась моя стаття.
Перепрошую за можливі граматичні помилки. В мене наразі немає спелчекера.

доповнення:

Частина 1
Частина 2

коментарі:

+1deleted 07.08.2009 13:24
Якщо у Вас є якісь побажання на рахунок майбутніх частин - пишіть.
Можливо я дещо не дуже детально розповів, або не зовсім зрозуміло, я доповню в коментарях.
А як ставиться Нінтендо до хакінгу? Займатись протизаконою діяльністю і спонукати до неї - то не є добре)))
Також то по меншій мірі не етично...
deleted 07.08.2009 16:52
Для початку - все що буде описане в данній статі є легальним. Тобто я не буду розповідати про способи запуску піратскьких копій без модчіпа (а такі є), а до того ж модчіпи в деяких країнах є абсолютно легальними для запуску копій ігор які ви придбали (на рахунок України не знаю, в нас здається взагалі немає описаного такого пристрою як ігрова приставка, хоча вона може підпадати під категорію ЕВМ, нажаль я не знайомий з цим законом детально, тому не можу сказати нічого на рахунок легальності копій носіїв).
Нінітеда бориться в основному з софмодами (запуск піратських копій без модчіпа). З модчіпами боротись неможливо, бо наявність модчіпа визначити хоч і можливо, але заблокувати майже нереально.
На рахунок етичності... Хм, кому як. Ось наприклад мене, як власника Wii, не грезе совість що я скачав піратку з інтернету, а все тому що на Wii виходить стільки шлаку, що на нього можна нарватись в будь який момент. А ігри то не дешеві.
Тобто Нінтендо дозволяе модифікувати Ві? Здається, там справа не лише в законах, але й в правилах користування.. От, точно, просто чіпована приставка не буде обслуговуватись Нінтендо, я правий?
deleted 07.08.2009 17:55
Вона не забороняє. Все що не заборонено - дозволено. Так, консоль буде обслуговуватись на занальних підставах (платно), але буде.

додати коментар: