Как стать автором
Обновить

Комментарии 46

я бы сказал: красиво, но мало, что понятно :)
Старался переводить понятным языком. Давайте уточню какие-то моменты?
нет, перевод то может быть и хороший, я к тому, что я далек от iOS разработки и мало, что понятно. А вообще да, интересно было бы понимать это все.
тут больше по UNIX и Objective-C Runtime окружению, а не чисто iOS (ну разве кроме MISValidation...)
Прикольные слова :)
думаю Вы сами все прекрасно понимаете — iOS — это UNIX/Mach просто сильно запиленный под ARM, с дополнением Cocoa Touch и проприетарными фишками поверх стандартной инфраструктуры (кстати именно поэтому и баг с неподписанным кодом так успешно прошел — если бы была проверка сигнатуры для всех секций ELF — то тогда да, было бы веселее).
Дело в том, что у остальных секций иногда есть легитимные права на изменения (и да, там не ELF, там Mach-O, но не суть). Но идея в библиотеке без __text просто шикарна, конечно.
Точно, путаю — действительно для Mach — Mach Object File.
Дело в том что проверка подписи секций технически должна идти сразу и после проверки релоков — а в Apple решили проверять только код в секции __text (за что им конечно огромное спасибо)
Они вообще молодцы. Jailbreak всех Apple девайсов, при чем одной кнопкой, простой и лаконичный интерфейс программы, поддержка Linux. По сравнению со всякими Redsn0w это просто небо и земля.
Absinthe тоже ставился в одну кнопку, и работал на 3х системах.
Apple-way
Не всех, Apple TV 3 так и не сломали.
Это ведь шутка, да?
Увы нет.
Мне-то и Apple TV 2 хватает, но их сейчас только на ебее достать можно, причём в два раза дороже, чем новые Apple TV 3 и 3.2 :)
Вы ожидали, что jailbreak для iOS 6.1 сломает Apple TV 3?
Мне всё равно, так как у меня уже есть джейлбрейкнутый Apple TV 2.
Я лишь поправил вас, когда вы заявили:
Jailbreak всех Apple девайсов, при чем одной кнопкой
Если он ломает ATV2 (с iOS 5.2), то лично я да, ожидал что он сломает Apple TV 3.
symlink: Media/Recordings/.haxx -> /var/mobile
Символьная ссылка из .haxx в /var/mobile создается для обхода ограничения работы с файлами только в пределах домена, т.е. хотя стандартное ограничение не допустит копирования фалов вне /var/mobile/Media, но с помощью символьной ссылки файлы фактически попадают в /var/mobile.
Далее, DemoApp.app, обычное iOS приложение, создается в /var/mobile.
Правильно я понял, что iOS проверяет права доступа только у символьных ссылок, а не у файлов, на которые они ссылаются? Странно, что не закрыли такой явный баг, если
Этот подход уже использовался в «джейлах» и ранее.
Или я чего-то не понимаю, и это не баг, но фича?

Получается, что Apple может очень просто закрыть дыру пофиксив функцию PairRequest и/или проверку прав доступа к символьным ссылкам. Если так, то апдейт iOS может выйти уже через через пару дней — нужно поспешить апдейтнуться до iOS 6,1 и сделать джейл, пока не закрыли дыру.
Правильно я понял, что iOS проверяет права доступа только у символьных ссылок, а не у файлов, на которые они ссылаются


Нет, тут скорее вопрос побега из «песочницы». Права у фалов бекапа вообще не проверяются.

Получается, что Apple может очень просто закрыть дыру пофиксив функцию PairRequest


Да, скорее всего.
Нет, тут скорее вопрос побега из «песочницы». Права у фалов бекапа вообще не проверяются.
Теперь понял. Получается, что iOS подсовывают «некорректный» образ, в котором есть папка Media/Recordings/.haxx/DemoApp.app/, но при этом папка Media/Recordings/.haxx — это символьная ссылка в защищённую область /var/mobile. Вот файлы из образа и восстанавливаются непредназначенное для них место. Хитро.

Надо не забыть на всякий случай, даже если и не обновляться на iOS 6.1, сохранить SHSH Blob через TinyUmbella на будущее.
Что-то мне кажется ошибку могут быстро поправить, если конечно у Apple не будет какого-то скрытого интереса оставить её открытой еще какое-то время.
Интересно как быстро среагирует на это Apple?
Я думаю, что в следующей версии прошивки дыра уже будет закрыта. Жаль, что чип пока не взломали, Comex не зря старался…
Подозреваю, что у этих ребят наготове ещё несколько уязвимостей, ожидающих своей очереди до следующего обновления.
Ломать чипы без спец оборудования проблематично.
Если они будут сильно урезать права на запись то тогда восстановление системных файлов будет невозможно.
А по поводу бага с пакетом — мб. это не баг а специальная недокументированная функция?
Ну симлинки, кстати, можно урезать с чистой совестью, они, по идее, не используются.
Стоит особо отметить, что вопреки вступлению, эксплоит использует не только файловую систему, но и уязвимость в lockdownd, позволяющую поднять права доступа к файлу до 777.
Во вступлении имелось в виду, что проникновение сделано без участия memory corruption, как это делалось в джейлах ранее.
Замечательная статья, прочёл час назад в оригинале. Спасибо за перевод!
Наконец то начал более менее предстаавлять что у джейла под капотом. Всегда было интересно. Головы конечно у ребят что надо.
Очень подробно ещё расписано в iOS Hacker's Handbook. Только там про предыдущие версии, которые эксплуатировали уязвимость в железе. Интересно, выпустят её новую версию про iOS 6?
НЛО прилетело и опубликовало эту надпись здесь
Подозреваю, что так долго из-за этого:
Отправка некорректного пакета PairRequest заставляет lockdownd изменить права доступа к /var/db/timezone на 777

И
Address Space Layout Randomisation – рандомизация расположения в адресном пространстве

Часто при эксплуатации уязвимостей приходится перебирать какой-нибудь параметр.
Часто при эксплуатации уязвимостей приходится перебирать какой-нибудь параметр


Это вы о «fuzzing». В данном случае, ASLR к эксплойту не имеет отношения. ASLR вообще защищает от «повреждений памяти», например buffer overrun. Защита обеспечивается тем, что мы имеем возможность выполнить буквально несколько инструкций, и мы не знаем внутреннее состояние процесса (где в памяти что лежит).
Это всё конечно замечательно. Только теперь у всех проблемы с простыми программами вроде погоды и другими приложениями(
Инструкция по починке погоды, может кому пригодится.
А что ещё сломалось?
iTunes Match? iBooks?
Интереснее было бы узнать почему джейл повлиял на погоду.
Понял от силы половину. В восторге от искуссной работы.
Интересно, а та китайская программа работает этим же способом устанавливая пиратские приложения?
Скопировать файлы приложения туда, где их найдет Springboard – это совершенно не проблема. Проблема только с цифровой подписью, а обойти ее уже существенно проблематичнее. Если конечно этот механизм не был отключен целиком во время джейла.
Я имею ввиду некий ksetup вышедший ранее и умеющий ставить любые приложения без джейла.
Я проводил небольшое исследование. Как я понял, она не ставит взломанные приложения. Все приложения были легально куплены в AppStore. Если посмотреть ipa пакеты, то все приложения подписаны Apple и куплены с одного AppleID. Задача программы лишь в передаче девайсу данных этого AppleID. Это так же подтверждает тот факт, что все бинарники шифрованы (взломанные приложения всегда расшифрованы) и при необходимости просят ввести тот самый AppleID. Именно поэтому нельзя установить через китайскую программу крякнутые ipa — iOS отказывается их устанавливать, потому что у них недействительная цифровая подпись.
Зарегистрируйтесь на Хабре , чтобы оставить комментарий

Публикации

Истории