Режим ограничения доступа к аксессуарам в устройствах iOS и как его обходят
Сегодня я расскажу об одном интересном с технической точки зрения решении Apple, посредством которого компания попыталась защитить свои устройства от перебора паролей – и о том, что из этого получилось в результате. Для начала отвечу на вопрос, для чего вообще нужен режим ограничения доступа к аксессуарам в iPhone.
Защита от взлома кода блокировки экрана
Основной рассказ о системе безопасности iOS ещё впереди. Сейчас же я хочу акцентировать внимание на одной достаточно спорной особенности iOS, которая ставит безопасность всех данных пользователя как в устройстве, так и в облачной учётной записи в зависимость от одного единственного фактора: кода блокировки экрана. Если известен код блокировки экрана, из iPhone можно извлечь практически все данные, включая пароли от учётных записей. Защита резервных копий паролем? Нет, не слышали: она как бы есть, но сбросить её, зная код блокировки – дело нескольких секунд. Отвязать украденный телефон от iCloud? Если известен код блокировки – вообще без проблем; пароль от iCloud меняется в несколько секунд, причём старый пароль от Apple ID не нужен. Двухфакторная аутентификация? Прекрасно, обязательно включите её! Вот только если код блокировки известен, всё устройство целиком становится тем самым вторым фактором. Скромно упомяну такие вещи, как база данных паролей пользователя в iCloud, его сообщения SMS и iMessage, а также данные «Здоровья», которые наши программы могут расшифровать при помощи кода блокировки (при необходимости сбросив предварительно пароль от «облака» при помощи всё того же единственного кода блокировки).
Зная код блокировки iPhone, можно проделать целый ряд восхитительных вещей; страна должна знать своих героев, и я обязательно напишу об этом в подробностях. Неудивительно, что последний оставшийся рубеж обороны – собственно, код блокировки экрана, — в Apple охраняют как зеницу ока. Уже несколько лет подряд длина кода блокировки по умолчанию – не 4, а 6 цифр. Secure Element, аппаратная часть подсистемы безопасности Secure Enclave, с переменным успехом ограничивает скорость перебора. Так, для только что включённого (или перезагруженного) iPhone скорость перебора будет невелика; нам называли цифры порядка 19 лет для полного перебора пространства паролей. (Впрочем, 6-значный код блокировки никто не ломает «лобовыми» атаками; в ход идут словари, в которых коды блокировки отсортированы по частоте использования).
Защита от извлечения данных
Казалось бы, код блокировки из 6 цифр и 19 лет на перебор – уже неплохо. Однако прогресс не стоит на месте, и на рынке присутствует уже как минимум два решения (разработки компаний Cellebrite и GrayShift для полиции и спецслужб), способных значительно ускорить перебор в случаях, когда телефон достался в состоянии AFU (After First Unlock, то есть, был изъят у пользователя во включённом состоянии, а пользователь разблокировал устройство хотя бы раз после перезагрузки). Более того, для таких устройств (а это, заметим, подавляющее большинство изъятых телефонов) у таких решений доступен и специальный режим, в котором часть данных (здесь заранее прошу прощения – без деталей) извлекается даже без необходимости взламывать код блокировки. Отчаявшись защитить свои устройства от эксплуатируемых Cellebrite и GrayShift уязвимостей, в Apple решились на отчаянный шаг, вызвавший бурные дискуссии среди всех причастных. Шаг этот – введение в iOS 11.4.1 (и дальнейшее улучшение в iOS 12) режима ограничения доступа к аксессуарам, или USB restricted mode.
Ограничение доступа к USB
Раз уж GrayKey и Cellebrite UFED (или сервис CAS) подключаются к iPhone для передачи данных посредством порта Lightning (а это именно так, никаких сервисных или диагностических портов решения не используют), то давайте просто отключим этот порт напрочь? Нет, заряжаться мы ему позволим (да и то не от всякой зарядки), но возможность передачи данных зарубим напрочь! С отключённым режимом передачи данных GrayKey и UFED не смогут даже увидеть iPhone, а уж тем более – извлечь из него информацию!
Вот мы и подошли к режиму ограничения доступа к аксессуарам, или USB restricted mode. Оба названия – неофициальные; сама компания Apple никак особо не выделяет этот режим. В статье Использование аксессуаров USB с ОС iOS 11.4.1 и более поздних версий говорится следующее:
В ОС iOS 11.4.1 и более поздних версий […] может потребоваться разблокировать устройство для распознания и последующего использования аксессуара. Аксессуар будет оставаться подключённым, даже если устройство впоследствии заблокировать. Если сначала не разблокировать защищённое паролем устройство iOS (или не разблокировать и не подключить его к аксессуару USB в течение последнего часа), устройство iOS не будет взаимодействовать с аксессуаром или компьютером, а в отдельных случаях оно может не заряжаться. А ещё может появляться уведомление о том, что устройство необходимо разблокировать для использования аксессуаров.
Далее описаны шаги для того, чтобы эту возможность (по умолчанию – активную) деактивировать.
Можно сделать так, чтобы устройство iOS всегда получало доступ к аксессуарам USB. […] На многих вспомогательных устройствах автоматически включается параметр, который обеспечивает доступ к устройствам USB при первом подключении. (Уточню: здесь явная неточность перевода. В оригинальной статье на английском используется формулировка “Many assistive devices will automatically turn on the setting to allow USB devices the first time they’re connected”, то есть, «многие устройства универсального доступа могут автоматически включать эту настройку». На самих устройствах, как следует из русскоязычного текста Apple, на самом деле ничего не включается).
Если вы не подключаетесь к аксессуарам USB регулярно, может потребоваться включить этот параметр вручную.
В меню «Настройки» выберите пункт «Face ID и код-пароль» или «Touch ID и код-пароль» и включите доступ к аксессуарам USB в разделе «Доступ с блокировкой экрана».
Если доступ к аксессуарам USB отключен [...], может потребоваться разблокировать устройство iOS для подключения к аксессуарам USB.
Обратите внимание: режим ограничения доступа к аксессуарам активируется при «выключенном» положении переключателя USB Accessories.
Кстати говоря, режим ограничений доступа к аксессуарам моментально активируется и тогда, когда пользователь активирует на телефоне режим S.O.S., для чего в зависимости от модели нужно или несколько раз (3 или 5 в зависимости от рынка) нажать кнопку включения экрана, либо зажать и удерживать кнопку включения экрана и любую из кнопок управления громкостью.
Что делает этот режим? В режиме ограничения доступа к аксессуарам iPhone или iPad полностью отключает любой обмен данными через встроенный в устройство порт Lightning. Единственное, что остаётся доступным – зарядка (на практике даже она – не всегда). С точки зрения компьютера или другого устройства, к которому будет подключён iPhone в защитном режиме, телефон ничем не будет отличаться от внешнего аккумулятора.
Как это работает? На обывательском уровне – прекрасно. Забудем про iOS 11.4.1, всё-таки этой версии системы уже больше года. В актуальных версиях iOS (начиная с iOS 12) доступ к аксессуарам блокируется в тот самый момент, когда пользователь блокирует экран iPhone. Есть исключения; например, если время от времени подключать телефон к компьютеру или другим «цифровым» аксессуарам (переходник на наушники 3.5мм «не считается», об этом ниже), то активироваться защитный режим будет не сразу после блокировки экрана, а через час.
Если попытаться подключить заблокированный iPhone к компьютеру, то компьютер не увидит ничего: недоступна даже базовая информация об устройстве (такая, как модель, серийный номер и версия iOS). На самом же устройстве появится всплывающее уведомление, предлагающее разблокировать iPhone для использования аксессуара.
Теоретически, защитный режим достаточно надёжен: телефон по-прежнему откажется общаться с компьютером, даже если его перезагрузить. Если перевести iPhone в режим Recovery или DFU, он становится доступен с компьютера – но перебор паролей в этих режимах невозможен. Можно даже залить свежую прошивку (мы это сделали), но при последующей загрузке в систему порт снова деактивируется. Иными словами, на обывательском уровне защита работает.
А не на обывательском уровне? Нам известно два решения, разработчики которых, как утверждается, смогли обойти защиту. Это – компании Cellebrite (решение UFED Premium, работающее в режиме офлайн, и сервис CAS) и GrayShift («железное» решение GrayKey). При определённых условиях (условия не разглашаются) оба производителя в состоянии подключиться к iPhone с «заблокированным» портом и провести атаку на код блокировки (а в некоторых случаях – и извлечь часть информации и без кода блокировки).
Таким образом, своей цели Apple удалось достичь лишь частично. Да, iPhone стал ещё немного безопаснее. Ни случайный взломщик, ни даже умельцы из преступных группировок, промышляющих крадеными iPhone, не смогут обойти эту защиту. А вот у полиции и спецслужб шансы есть, и довольно неплохие.
Уязвимости в режиме ограничения доступа
Сразу оговорюсь: мне неизвестны (не «не могу рассказывать», а действительно неизвестны) уязвимости, которые используют Cellebrite и GrayShift для обхода защиты ограничений. Я могу лишь делать предположения по информации, полученной из публичных источников. Первое предположение – уязвимость в протоколе Lightning. Помните, я упоминал переходник с разъёма Lightning на выход 3.5мм для наушников? Именно этот переходник не подчиняется общим правилам: его подключение не сбрасывает таймер активации защитного режима, а если защитный режим уже включился – подключить и использовать этот переходник можно, не разблокируя iPhone.
Между тем в отличие от многих подобных переходников с USB Type C, использующих USB Alt Mode для передачи аналогового сигнала, данный переходник – полноценное цифровое устройство со встроенной микросхемой ЦАП. То есть, даже в «защитном» режиме iPhone всё-таки передаёт какие-то данные через, казалось бы, намертво заблокированный порт. А что если наше устройство «представится» переходником для активации порта, а дальше пойдёт по цепочке уязвимостей? Это всего лишь предположение, но вариант кажется вполне правдоподобным.
Второе предположение – снова уязвимость Lightning, но несколько с другой стороны. Недавно выяснилось, что другой переходник Apple – адаптер Lightning – HDMI, фактически является компьютером со встроенным Secure Boot и ядром Darwin. Причём собственной прошивки этот адаптер не имеет; прошивка на него закачивается с iPhone каждый раз, когда пользователь подключает переходник. При этом прошивка не подписывается уникальным идентификатором, цифровая подпись статична. Вряд ли уязвимость была найдена именно в этом переходнике, но идея кажется вполне перспективной.
Наконец, есть ещё устройства «универсального доступа», которые могут использоваться слабовидящими, людьми с нарушениями мелкой моторики и другими категориями пользователей, которым нужны специальные устройства для общения с iPhone. Эта категория устройств имеет особый статус; по документации Apple, их использование приводит к деактивации ограничения доступа к аксессуарам. Можно попробовать представить атаку, в которой наше устройство представится сначала переходником на 3.5мм (пошёл обмен данными), после чего – аксессуаром для людей с нарушениями мелкой моторики (иными словами, внешней клавиатурой).
Почему я думаю, что уязвимость кроется именно в протоколе Lightning? На чёрном рынке можно найти как «инженерные» модели разных версий iPhone, в которых часть аппаратных средств защиты деактивирована, так и некие специальные кабели, предоставляющие дополнительные функции. Об этом вышла подробная статья на английском; вот ссылающаяся на неё русскоязычная статья. А здесь выложили фотографию специального инженерного кабеля – увы, без подробностей. Плюс подробно про Lightning в целом можно почитать тут.
Есть ли польза от ограничения доступа к аксессуарам?
Насколько вообще полезен режим ограничения доступа к аксессуарам? В конце концов, и Cellebrite, и GrayShift могут его обойти? Здесь я хочу обратить внимание на две вещи. Во-первых, мало кому известно, как именно, в каких именно случаях и для каких именно комбинаций «железа» и версий iOS две упомянутые компании могут обойти защитный режим. Информация компаниями выдаётся строго дозированно, строго конфиденциально и исключительно пользователям их продуктов после подписания соглашения о неразглашении. Во-вторых, пользователи продуктов обеих компаний – исключительно правоохранительные органы и спецслужбы ряда стран, в число которых Россия в настоящий момент не входит. Таким образом, лично вашим данным и лично вашему устройству на территории России ничего не грозит: других подобных решений сейчас просто не существует.
Таким образом, воспользовавшись этим режимом (он активируется автоматически для всех пользователей и остаётся активным, если вы сами или какой-либо из аксессуаров универсального доступа его не отключит), вы можете получить дополнительную степень защиты как от взлома паролей, так и от утечки данных сразу после блокировки экрана. Впрочем, даже если вы подключали iPhone к компьютеру или переходнику в течение последних трёх дней, передача данных всё равно будет заблокирована в течение часа.
Ссылки по теме: