Новости от KaKaRoTo: грозит ли нам новый кастом?

19.01.2012 23:25

KaKaRoTo 4.0

Знаменитый хакер KaKaRoTo, который работает над джейлбрейком 3.56+, отписался в своем блоге. Он пояснил ход разработок, а также о трудностях, которые возникли перед ним и его командой. Напомню, несколько месяцев назад KaKaRoTo анонсировал джейлбрейк прошивки 3.73, а чуть позже заявил, что его метод сохранил работоспособность и на прошивке 4.0. Итак, вот перевод из блога разработчика:

Рекламная пауза: На сайте проекта Самоучка вы сможете не только скачать игры, фильмы и аудиокниги, но и электронными книги. Полезный сайт для любителей компьютеров!

"Вот информация о статусе HEN (Homebrew ENabler) для PS3.

Мы сильно продвинулись в деле разработки джейлбрейка за два месяца, прошедшие с прошлого моего поста. Мы, команда из 10 человек, не тратили время попусту и работали иногда аж по 15 часов в день, каждый день, чтобы вернуть возможность установки homebrew-приложений на PS3 с версиями 3.56+.

Существуют три основные цели создания HEN:

  • Во-первых, получить возможность установки PKG на PS3. Эта часть сделана, проверена, отлажена и т.д.
  • Во-вторых, получить возможность запускать установленные PKG - над этим все еще ведутся работы.
  • Что в-третьих, я не буду вам рассказывать, т.к. я хочу, чтобы это был сюрприз. Но работа над этим выполнена на 60-70%. Скажу сразу, что это не имеет ничего общего с peek&poke или Backup Manager'ами или с чем-то подобным, это все еще свободный от пиратства метод.

По-прежнему запуск homebrew на PS3 остается самым большим испытанием, над которым мы работали последние два месяца. И как многие из вас знают, если вы следите за моим твиттером, что я нуждаюсь в расшифровках NPDRM хеш-алгоритмов для запуска приложений, и мы очень надеялись, что Mathieulh даст нам их, но он по-прежнему отказывается и ведет себя как настоящая шлюха, чтобы люди лизали ему ноги (или что-то еще), чтобы он чувствовал себя хорошо. Но в конце концов, он сказал что отказывается дать нам NPDRM-алгоритмы, чтобы заставить работать homebrew... И то, что я по началу думал, что "через неделю все будет готово", на самом деле займет намного больше времени, и мы все еще очень далеко от того, чтобы сделать это.

Mathieulh продолжает "кидать" нам загадки, которые как он думает, "полезны для тех у кого есть мозги"... В общем, он сказал нам, что решение этой проблемы нужно искать в appldr 3.56 прошивки... и что-то, что lv1 посылает appldr, который дает статус для "проверки хэша", проверен он или нет. Так мы потратили месяц, пролили много пота, и после того как наш мозг стал отмирать от истощения, мы поняли, что это на самом деле бред, и что никаких алгоритмов в прошивке 3.56 нет, несмотря на то, что он нам говорил.

Далее он сказал, что решение лежит в хеше AES OMAC, но после отслеживания всех использований функций OMAC в appldr, мы выяснили что он не был использован в "хэше"... после чего он сказал "Ох, я имел в виду HMAC", после проверки которого мы установили, что appldr вообще никакой роли не играет, на что он ответил "Ах нет. Это в lv1"... Вы также можете посмотреть, что он решил написать тут.

Это произошло после огромного числа споров в твиттере, которые у нас были с ним из-за того, что его высокомерная задница заявляла, что он "поделился " со мной чем-то (кстати говоря, код, которым он поделился, был не его авторства, он просто забыл удалить имя оригинального разработчика из одного из файлов, но я не могу показать вам свидетельства того, что он дал мне, т.к. несмотря на все наши ссоры, я дал ему слово что не буду выкладывать то, что он скинул мне, а я держу свое слово). И это все было совершенно бесполезным, что заставило меня впустую потратить несколько дней на чтение недокументированного кода. Но почему же он все равно заставляет нас использовать его "советы" и многочисленные загадки? Да для того чтобы саботировать нас и заставить потерять месяцы этой тяжелой работы!

Но в любом случае, мы поняли, что все что нам дал Mathieulh - полное дерьмо (мы знали это и раньше, но мы давали ему презумпцию невиновности), и продолжили работать несмотря на его многочисленные загадки. Так что мы пытались найти exploit и дешифровать прошивку 3.60+ для получения алгоритма.

Теперь, после нескольких недель работы, мы наконец-то полностью докопались до нужного нам куска в NPDRM хеш-алгоритме, и это огромное счастье для всех, но с одним замечанием:

Игры на PS3 представляют собой исполняемый файл формата "SELF" (как .exe на windows), эти файлы криптографически подписаны и зашифрованы. Для PSN игр (тех, которые не работают с Blu-ray диска) должен быть еще один уровень защиты -"NPDRM". Таким образом, "NPDRM SELF" файл - основной исполняемый файл на PS3. На прошивке 3.55 мы могли подписывать наши собственные файлы так, что PS3 думала, что это файл от Sony, и без проблем запускала их. Тем не менее, это не было на самом деле оригинальным файлом... NPDRM алгоритм имеет некоторую дополнительную информацию, которую PS3 успешно игнорировала. Она просто не проверяла эту информацию, таким образом мы могли засунуть туда что угодно. Но с прошивки 3.60 PS3 стала использовать эту информацию, в связи с чем она легко может отличить оригинальный файл Sony от созданного нами homebrew. Это и есть "NPDRM хеш-алгоритм", который мы и пытались выяснить, потому что если мы сможем корректно продублировать эту информацию, то рано или поздно мы сможем подписывать ей файлы и запускать homebrew.

Еще один важный момент, который нужно объяснить. Я сказал несколько раз, что файл "подписан"... это означает, что существуют "ECDSA подписи" в файле, которые может проверить PS3. Подпись ECDSA позволяет проверить приставке, был изменен файл или нет. Легко проверить подпись, но невозможно создать ее без оригинальных ключей (private keys) (Думаю, что это как реальные подписи. Т.е. вы можете узнать подпись вашего отца, но вы не можете подделать ее, ровно так же, как вы можете узнать подпись, подделанную вашим братом). Так каким же образом мы могли проходить проверку подлинности на 3.55? Все благодаря ECDSA подписи. На самом деле это все просто очень сложные математические уравнение (после понимания которых у меня болит голова, но если люди проявят интерес к этому, я могу попытаться описать это простыми словами в моем блоге). И одной самой важной частью этого математического уравнения, является то, что вам нужно использовать случайные числа для генерации подписи, но Sony не удалось использовать тот же номер каждый раз. Поступая так, легко можно было найти закрытый private-ключ (что позволяет сформировать нужную подпись), делая некоторые математические уравнения на нем. Итак, подведем итоги. "Подписанный файл" - это файл, использующий цифровую подпись "ECDSA", которая не может быть подделана, если у вас нет private-ключа от нее, который как правило невозможно получить, но мы смогли сделать это, потому что Sony не удалось реализовать защиту должным образом.

Теперь вернемся к нашей теме. Так что же это за отсутствующая часть NPDRM хеш-алгоритма, которая нам так нужна? А оказывается, что "NPDRM SELF" имеет вторую подпись, так что это "зашифрованный и подписанный self-файл" с дополнительным уровнем безопасности (NPDRM уровень), который повторно шифрует его и повторного подписывает его. Все это не проверялось в 3.55 и теперь проверяется в 3.60.

Одна важная вещь, следует отметить, что Sony НЕ сделали ту же ошибку с этой подписью, они всегда используют случайные числа, так что получается технически очень сложно узнать private-ключ от него. Чтобы быть более точным, то это такой же случай, как пакеты .pkg, которые вы устанавливаете на свою PS3, для чего нужен патч прошивки (что как раз и делает CFW), так что те .pkg файлы могут быть установлены, и это из-за того, что они подписаны ECDSA, для которых никто не смог получить секретный ключ. Именно поэтому мы называем их "неподписаные пакеты".

NPDRM self подпись использует ту же самую кривую ECDSA и тот же ключ, который используется в PS3 .pkg-файлах, так что ни у кого нет (и не может быть) ключа от него. Так что теперь мы знаем, как NPDRM устроен, но мы не можем дублировать его.

Мы впустую потратили 2 месяца на это, потому что Mathieulh солгал, сказав, что он может сделать это... Помню, когда 4.0 вышла и я сказал: "Я могу подтвердить, что мой метод до сих пор работает", то он также подтвердил, что его NPDRM хеш-алгоритм до сих пор работает тоже, но он не сделал ничего, чтобы подтвердить это, он просто лгал об этом, потому что нет никакого способа, которым он мог бы проверить это, потому что у него нет private-ключа.

Я сказал, что у меня есть доказательства лжи Mathieulh, так вот они. Он сказал, что алгоритмы надо искать в 3.56, что было ложью. Он сказал, что используется метод шифрования AES OMAC, что тоже было ложью, потом он сказал, что это HMAC, что тоже было ложью. Он сказал что в appldr, что опять же являлось ложью. Он сказал про lv1, это тоже было ложью. Он сказал, что "вам нужен один час, если у вас есть мозги, чтобы понять это". Он сказал, что когда мы узнаем алгоритм, то мы сможем дублировать его, это тоже ложь. Он продолжал называть его "хэш", в чем был не прав. Доказательства? Подписи ECDSA, а вовсе не хэш (два очень разных термина для разных вещей), она проверяется в vsh.self, а не в lv2 или lv1 или appldr, поэтому нет способа, которым он мог бы построить свои файлы самостоятельно. Теперь вы знаете реальную причину, почему он отказался "делиться". Это потому что у него всего этого не было...

Так почему же он делает все это? Потому что его высокомерие не позволяет признать, что он не знает чего-то? Или это потому что он хотел заставить нас потерять это время? Для меня это выглядит как чистый саботаж, он вводит нас в заблуждение, чтобы направить нас в сторону от реальной части кода, которая содержит решение. В конце концов, он не был достаточно умен, чтобы лгать только о вещах, которые мы не смогли проверить... Теперь мы это знаем достоверно (мы всегда знали, но теперь у нас есть доказательства, чтобы подтвердить это), что он лжец, и я не думаю, что кто-то будет верить ему дальше.

Хватит уже говорить о лжецах и стервозных личностях. Вернемся к HEN 4.0. Ну и что дальше? Хорошо. Мы теперь знаем, что мы не можем подписать файл, так что мы не можем запускать наши приложения на 3.60+. То что мы будем делать - это искать другой путь, совершенно новую уязвимость, которая позволила бы установить файлы на PS3. Мы так же будем проверять возможность "коллизии подписи" и для этого мы нуждаемся в помощи сообщества. Мы надеемся, что есть коллизии (то есть тот же самый код используется дважды), которая позволит нам вычислить private-ключ, и если это произойдет, тогда мы можем приблизиться к релизу.

Так когда же этот джейлбрейк выйдет? Если бы я знал, я бы вам сказал, но я не знаю. Сначала я сказал, что он выйдет в ноябре прошлого года, потом в декабре, затем перед рождеством, потом перед новым годом и т.д., но как вы можете видеть, это невозможно предсказать. Мы могли бы стать счастливчиками и сделать его за пару дней. или мы сможем сделать его только через пару месяцев. Все что вам нужно делать это: быть терпеливым (и пожалуйста, прекратите спрашивать меня о дате релиза!).

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

Если вы хотите узнать больше об этом алгоритме подписи ECDSA, прочитайте эту интересную статью, которая объясняет в деталях, а также вы можете посмотреть презентацию команды CCC Fail0verflow, которые первыми объяснили ошибку Sony в их реализации, которая сделала кастом возможным."

Источник: блог KaKaRoTo.

 

Комментарии   

 
#61 Сергей 01.02.2012 19:31
Без чипов или E3 Flasher никак, а в твоём случае вообще никак
Ахаха нормально :lol:
Цитировать
 
 
#62 Сергей 01.02.2012 19:33
LOLman Совет тебе,избавься от этого дерева чем раньше тем лучше,у самого недавно 3008В была,повезло что поменялся...
Цитировать
 
 
#63 sania 01.02.2012 19:44
CECH 2504B а мне паможет E3 Flasher прошивка сечас 3 60
Цитировать
 
 
#64 Sarf 01.02.2012 20:25
sania, тебе вполне может помочь. Но 1000 раз подумай, хочешь ли ты терять гарантию на PS3, стабильность работы (в некоторых случаях) и т.д.
Цитировать
 
 
#65 sania 01.02.2012 20:51
а что делать мне :sad:
Цитировать
 
 
#66 Sarf 01.02.2012 21:26
sania либо покупай Флэшер, развинчивай консоль, ставь и даунгрейдь приставку, либо жди кастома как мы все
Цитировать
 
 
#67 JBreaker 01.02.2012 21:59
Либо обратись в мастерскую по ремонту и прошивке консолей, они за энную сумму и даунгрейд сделают, и кастом накатят ;-)
Цитировать
 
 
#68 LOLman 02.02.2012 04:55
:cry: :cry: :cry: :cry: :cry:
Цитировать
 
 
#69 LOLman 04.02.2012 15:30
тоесть остаётся только ждать 4.0 СFW
Цитировать
 
 
-1 #70 ыышка 16.02.2012 15:35
блин очередной болт от Какаруто :sad:
Цитировать
 

Добавить комментарий

Комментарии должны быть по теме топика, иные комментарии будут удаляться.


Защитный код
Обновить