Про iOS 7.1 beta 5 и будущее джейлбрейка
За последние сутки в Интернете набралось на редкость много отзывов и обсуждений о том, что iOS 7.1 beta 5 чуть ли не окончательно убивает джейлбрейк и патчит все известные уязвимости. Конечно, всё не так плохо, и некоторые сайты попросту преувеличивают факты (зачастую даже не разбираясь в них). С другой стороны, если досконально изложить все эти факты, то их осилит не каждый инженер по компьютерной безопасности, не говоря уже о рядовых пользователях. Поэтому постараемся разъяснить всю эту историю, не влезая в дебри теории.
Начнём с того, что принципиальные уязвимости для джейлбрейка evasi0n7 Apple залатала ещё две недели назад в iOS 7.1 beta 4. Но в beta 5 специалисты компании решили пойти ещё дальше.
Если вкратце, то ключевые отличия между iOS 7.1 beta 5 и всем, что было до, показаны на скриншоте ниже:
Тем, кто понял этот скриншот, написанное дальше можно не читать – вам это покажется дилетантским бредом :)
Остальным поясним: в iOS 7.1 beta 5 существенно ужесточился контроль доступа над сервисом AFC. AFC (Apple File Connection) – системный процесс iOS, отвечающий за файловый обмен между мобильными устройствами Apple и компьютерами, к которым они подключены.
Не надо быть экспертом в области джейлбрейка, чтобы вспомнить, что подавляющее большинство утилит для джейла требуют подключения iOS-устройства к компьютеру, и работают они как раз посредством AFC, как правило, используя его для того, чтобы залить в устройство исполняемый код для начала процедуры джейлбрейка. Чтобы это удалось, надо суметь заставить работать AFC в обход сэндбоксинга (механизма песочницы, не позволяющего одним процессам вмешиваться в жизнь других) iOS. Тем, кто непременно хочет знать больше подробностей, предлагаем прочесть этот материал о работе evasi0n7, ну или просто посмотреть, сколько раз там упоминается сервис AFC.
В iOS 7.1 beta 5 Apple решила всерьёз взяться за AFC, закрыв последнюю известную лазейку, позволявшую обеспечить преодоление песочницы с помощью манипуляций с портами. AFC больше нельзя заставить работать через нужные порты, что делает evasi0n7 окончательно бесполезным. Помимо этого, была прикрыта уязвимость apple_sec_fail, найденная хакером chpwn и применявшаяся при монтировании системного раздела iOS с правами на запись (в чём и состоит основная задача джейлбрейка).
Стоит ли расстраиваться? В принципе, расстраиваться стоило две недели назад, потому что ещё тогда джейлбрейк evasi0n7 был закрыт на уровне ядра системы, сейчас ситуация лишь дополнительно ухудшилась. Из-за этих новых изменений джейлбрейк iOS 7.1 вряд ли появится скоро. Не факт, что он вообще появится.
P.S. Нам задают много вопросов про недавнюю уязвимость в iBoot, которой подвержены все существующие устройства iOS с процессором Apple A5 и новее. Судьба этой уязвимости туманна: хакеры вообще не хотят её как-либо светить, используя исключительно в исследовательских целях для разработки других эксплойтов. Перед тем, как упрекать хакеров в том, что они снова осторожничают, вспомните, что с момента обнаружения предыдущей подобной уязвимости прошло три с половиной года. Да, можно использовать нынешнюю уязвимость прямо сейчас, и она действительно обеспечит пожизненный джейлбрейк всем нынешним устройствам Apple. Но тогда эту уязвимость закроют в будущих поколениях устройств. Сколько ещё лет придётся ждать до того, как найдут новую уязвимость в бутроме или iBoot, не предскажет абсолютно никто.