Защита ядра iOS: что это такое и с чём её едят

  • На форуме работает ручное одобрение пользователей. Это значит, что, если Ваша причина регистрации не соответствует тематике форума, а также Вы используете временную почту, Ваша учётная запись будет отклонена без возможности повторной регистрации. В дальнейшем - пожизненная блокировка обоих аккаунтов за создание мультиаккаунта.
  • Мы обновили Tor зеркало до v3!
    Для входа используйте следующий url: darkv3nw2...bzad.onion/
  • Мы вновь вернули telegram чат форуму, вступайте, общайтесь, задавайте любые вопросы как администрации, так и пользователям!
    Ссылка: https://t.me/chat_dark_time

AnGel

Администратор
Команда форума

AnGel

Администратор
Команда форума
27 Авг 2015
3,410
2,024
Этот вопрос долго не давал покоя даже самим разработчикам — но
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
, пользуясь помощью нескольких других разработчиков, наконец, смог полностью ответить на все эти вопросы, завернув это всё в презентацию на конференции BlackHat USA 2019.

Итак, серьёзных ступеней защиты ядра на момент написания статьи (09.08.2019) всего шесть: KPP, KTRR, APRR, CoreTrust, PAC, PPL. О каждой из ступеней подробно будет расписано ниже (конечно же, на уровне понимания обычного пользователя).

Список «литературы», использованный для написания материала:

KPP (WatchTower) — Kernel Integrity (Patch) Protection
Самая первая попытка защитить части ядра от перезаписи. Впервые она была показана в iOS 9 beta для устройств 64-бит. Она успешно была обойдена
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
.
Описание, представленное разработчиком
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
(только для разработчиков) —
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
.

Возможность обхода: сделан перманентный для всех прошивок и устройств,доступен в исходном коде джейлбрейка yalu (doubleh3lix) для iOS 10.x.
Устройства, где присутствует KPP: iPhone (5s, 6 [+], 6s [+], SE), iPod touch (6-го поколения), iPad (5-го поколения), iPad Air (1, 2), iPad mini (2, 3, 4), iPad Pro (1-го поколения).

KTRR — Kernel Text Readonly Region
KPP (WatchTower) является неким её «прототипом» — начиная c iPhone 7 Apple начала защищать свои устройства сильнее. Начиная с iOS 10 впервые была представлена KTRR — эволюционный KPP, что оказался явно мощнее своего предшественника.

В отличие от KPP (WatchTower), KTRR реализован уже не на уровне операционной системы, а аппаратными возможностями. Как заявил Лука Тодеско два года назад, «ещё эту защиту ошибочно называют AMCC». На самом деле, никакой тройной защиты «KTRR, AMCC и memprot» не существует. Есть только одна — KTRR.

Более подробное исследование, как работает данная защита, сделал разработчик Siguza, и опубликовал у себя на
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
.

Возможность обхода: полностью обойти KTRR никогда не представится возможным. Оная существует лишь частично, как подчёркивает в презентации Siguza, при помощи специального отладчика, сделанного Ian Beer. Также, если будет найдена низкоуровневая уязвимость (наподобие De Rebus Antiquis в iBoot), KTRR можно будет отключить — именно сейчас это можно сделать при помощи bootROM-уязвимости checkm8 на устройствах с процессорами А10(Х) и А11.

Первая уязвимость была представлена в джейлбрейке iOS 10.0-10.1.1 для iPhone 7, что собрал Лука Тодеско — yaluX+extra_recipe. Ознакомиться с её исходным кодом можно на
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
. В своём описании KTRR, Siguza отметил, что тогда это удалось лишь потому, что KTRR «не находился в структуре памяти для чтения».

Вторая уязвимость была представлена
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
на github разработчиков Google Project Zero, которую он назвал, к слову,
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
. Также она включена в джейлбрейк-утилиту checkra1n. Самое интересное, Apple отказалась фиксить данную проблему, заявив, что
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!


Устройства, где присутствует KTRR: iPhone 7 [+] и выше, iPad Air (3-го поколения), iPad mini (5-го поколения), iPad (6-го и 7-го поколений), iPad Pro (2-го поколения и выше), iPod touch (7-го поколения).

APRR — Access Protection ReRouting
Наращивание системы защит Apple происходит полным ходом — и теперь Apple представляет APRR — грубо говоря, даже в чём-то сказать, это KTRR 2-го поколения. Только вот APRR — это, если верить Джонатану Левину, улучшенный KTRR, но софтверный. По сути, там, где есть APRR, находится двойная защита ядра — KTRR и APRR.

Более подробное описание Siguza представил очень недавно, у себя на
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
, но стоит учесть, что не надо путать APRR с ещё одной, третьей, сильнейшей защитой ядра — PPL, о которой будет написано чуть ниже. Ошибочно было также сказано, что APRR присутствует только в А12 — нет, она пришла вместе с iPhone 8/X, поколением раньше.

Возможность обхода: как отметил Siguza в своём описании, «APRR — отличная фича, даже если её части несколько сломаны». Первая возможность взлома была уже представлена и доступна на
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
разработчика. Поскольку сама линия защиты считается, судя по всему, софтверной, её возможно пропатчить, и как в итоге, к релизу iOS 13 первый обход APRR будет закрыт. Также, соответственно, на устройствах А11 APRR полностью отключаема с помощью уязвимости checkm8.


Устройства, где присутствует APRR: iPhone 8 [+] и выше, iPad Air (3-го поколения), iPad mini (5-го поколения), iPad Pro (3-го поколения).

PPL — Page Protection Layer
Как объявил Siguza, это «реальная смена правил игры в А12». Используется для защиты «кэша доверия» — это одна из защит в iOS 12+, что не позволяет запускать сторонние файлы помимо CoreTrust.

Возможность обхода: как мы помним, джейлбрейки unc0ver и Electra не обходят этот самый кэш, а включают в него файлы — это означает, что с PPL можно жить. Насчёт побороть — если это не аппаратная функция, то это возможно. Пока что PPL не был взломан ни разу, но… кто знает.

Устройства, где присутствует PPL: iPhone (Xs [Max], Xr и выше), iPad Air (3-го поколения), iPad mini (5-го поколения), iPad Pro (3-го поколения).

CoreTrust
На этом, пожалуй, закончим о защите ядра от изменений и поговорим о более «приземлённых» вещах. Конечно же, оной является CoreTrust — защита, что, по сути, ограничивает запуск бинарных файлов, что не были подписаны сертификатом Apple.

Возможность обхода: это реально, достижимо. В unc0ver, как мы знаем, CoreTrust обходится подписью каждого файла специальным сертификатом, а Chimera же, наоборот, ломает эту линию защиты. Пока что о закрытии этих двух методов объявлено не было.

Присутствует на всех устройствах, где установлена iOS 12 и выше, а также iPadOS.

PAC — Pointer Authentification Code
Отличительная особенность данной линии защиты в том, что она создана не компанией Apple, а создателями архитектуры arm. Впрочем, Siguza же в презентации отмечает, что «PAC была значительно доработана Apple». Детальный анализ создал Брендон Азад и
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
.

Согласно
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
, данная защита усложняет нахождение уязвимостей и запуска эксплойтов в проблемных участках памяти ядра. Следует также отметить, что PAC — главная защита, которую обязательно нужно обходить для получения джейлбрейка, без этого никак.

Возможность обхода: тяжело, если верить словам Siguza, но всё же возможно.

Единственная возможность обхода данного слоя защиты была представлена Брендоном Азадом вместе с уязвимостью
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
для iOS 12.0-12.1.2. Впрочем,
Пожалуйста, Вход или Регистрация для просмотра содержимого URL-адресов!
произвёл революцию, создав методику «PACLess», что представил для unc0ver в iOS 12.1.3-12.4.1, поэтому как таковой обход этого слоя защиты может быть и необязательным для джейлбрейка.

Устройства, где присутствует PAC: iPhone (Xs [Max], Xr и выше), iPad Air (3-го поколения), iPad mini (5-го поколения), iPad Pro (3-го поколения).

KPPbypass / KPPLess-джейлбрейк: что лучше?
Главная линия защиты, которая отвечает за этот вопрос — KPP / KTRR / APRR. О возможностях обхода подобных защит было написано выше.

Преимущества обхода KPP / KTRR:
  • Полноценный джейлбрейк устройства (в данном значении не тот, что отвязанный, а тот, что позволяет получить полный контроль над устройством);
  • Substrate / Substitute может обратиться напрямую к нужным для работы твиков защищённым частям ядра, что априори делает стабильнее cам джейлбрейк — городить велосипед с созданием вспомогательного файла не нужно (в Electra — «jailbreakd», в unc0ver — «substrated»);
  • Можно провести полноценное перемонтирование файловой системы, что даёт возможность реально менять ОС девайса по своему усмотрению / желанию. При наличии обхода KPP / KTRR можно менять несколько функций файловой системы, в том числе записывать папки в корневой раздел (/), а также полноценно управлять снимком системы.
  • На устройствах с KTRR, возможно, джейлбрейк будет непривязанный с возможностью даунгрейда прошивки, поскольку единственный способ отключения — найти iBoot-уязвимость.
Преимущества использования технологии «KPPLess»:
  • Создание джейлбрейка намного проще и быстрее: согласитесь, отключить KTRR для новейших устройств — та ещё задачка, с учётом того, что требуется взломать iBoot;
  • Джейлбрейк останется полуотвязанным — но, впрочем, при желании его можно выключить и включить.
Таким образом, вопрос в стабильности. Но, как показывает практика, отличие будет не таким сильным, но вот преимуществ при отключении KTRR будет достаточно — и, в основном, они будут достаточно приятными. Но найти уязвимость iBoot настолько сложно, что её, к сожалению, проще продать, чем выпустить. Поэтому будущее всё же за KPPLess-джейлбрейками, ведь KPP-устройства, где обход защиты возможен, уходят в прошлое — уже сейчас остались только устройства с процессорами А9(Х).
 

О нас

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

    Dark-Time 2015 - 2022

    При поддержке: XenForo.Info

Быстрая навигация

Меню пользователя