Пока пользователи постепенно обновляются на новую версию iOS, мы продолжаем исследовать нововведения в различных подсистемах безопасности iOS 13 и её производных. В этой статье мы рассмотрим изменения в работе функции ограничений USB. Кроме того, была опубликована официальная информация о времени жизни файлов lockdown, позволяющих подключать iPhone к компьютеру, даже если его экран заблокирован.
Режим ограничения USB впервые появился в iOS 11.4.1 и был расширен в iOS 12. Мы опубликовали пять статей на тему ограничений USB в нашем англоязычном блоге. Также рекомендуем русскоязычную статью Apple «Использование аксессуаров USB с ОС iOS 11.4.1 и более поздних версий».
Более подробная информация доступна в документе iOS Security Guide. Последний раз документ обновлялся в мае 2019 (соответственно, речь идёт об iOS 12.3). Относительно ограничений USB в документе указано следующее:
To improve security while maintaining usability, Touch ID, Face ID, or passcode entry is required to activate data connections via the Lightning, USB, or Smart Connector interface if no data connection has been established recently. This limits the attack surface against physically connected devices such as malicious chargers, while still enabling usage of other accessories within reasonable time constraints. If more than an hour has passed since the iOS device has locked or since an accessory’s data connection has been terminated, the device won’t allow any new data connections to be established until the device is unlocked. During this hour period, only data connections from accessories that have been previously connected to the device while in an unlocked state will be allowed. Attempts by an unknown accessory to open a data connection during this period will disable all accessory data connections over Lighting, USB, and Smart Connector until the device is unlocked again. (Источник: iOS Security Guide May 2019 edition, iOS 12.3).
В переводе на русский язык ограничения USB работают следующим образом.
Доверенные аксессуары
В последних сборках iOS появилась концепция «доверенных» аксессуаров USB. В отличие от компьютера, для установления доверенной связки с которым пользователю необходимо разблокировать iPhone и ввести код блокировки, USB аксессуар становится «доверенным», если просто подключить его к разблокированному iPhone (или сначала подключить, а потом разблокировать устройство). Информация о новом «доверенном» аксессуаре запоминается телефоном.
Ограничения USB и «доверенные» аксессуары
В iOS 13 возможность обмениваться данными по протоколу USB (коннектор Lightning) ограничивается спустя час после того, как пользователь заблокировал экран или отключил аксессуар USB (если в настройках устройства выставлен соответствующий режим ограничений, который активен по умолчанию). По истечение часа никакие аксессуары к заблокированному телефону подключить будет нельзя; для подключения аксессуара или компьютера телефон придётся разблокировать.
Разница в том, как себя поведёт телефон в течение того самого первого часа.
Если в течение первого часа после отключения аксессуара или блокировки экрана к телефону будет подключён «доверенный» аксессуар, то соединение будет успешно установлено.
Если же в течение первого часа подключить новый аксессуар или компьютер, то возможность обмена данными по протоколу USB будет мгновенно заблокирована (после чего не сработает даже подключение доверенных аксессуаров).
Наши рекомендации
В 2018 году, сразу после выхода функции ограничений USB, мы опубликовали в англоязычном блоге статью “This $39 Device Can Defeat iOS USB Restricted Mode”. В статье давались рекомендации о том, как сбросить обратный отсчёт блокировки порта, подключив к телефону цифровой аксессуар. Рекомендация применима исключительно для iOS 11.4.1.
В iOS 12 Apple изменили алгоритм работы ограничений USB. Вот как об этом писали в Руководстве по безопасности iOS в сентябре 2018 года:
In addition, on iOS 12 if it’s been more than three days since a USB connection has been established, the device will disallow new USB connections immediately after it locks. This is to increase protection for users that don’t often make use of such connections. USB connections are also disabled whenever the device is in a state where it requires a passcode to re-enable biometric authentication. (Источник: Apple iOS Security, September 2018).
Изначально в iOS 12 отсутствовало понятие «доверенных» аксессуаров; режим ограничений активировался мгновенно после блокировки экрана. Впоследствии в Apple изменили алгоритм работы этого режима. Соответственно, для устройств с iOS 13 мы можем предложить следующие рекомендации по транспортировке изъятых устройств.
Нам неизвестно, каким образом новые ограничения повлияют на решения по взлому кодов блокировки (например, те, которые предоставляет компания GrayShift). Мы уверены в том, что ограничения USB самым отрицательным образом скажутся на возможности как логического, так и физического анализа iPhone в случаях, когда устройство не может быть разблокировано кодом блокировки экрана или посредством биометрики. В частности, логический анализ станет недоступным даже при наличии действительных файлов lockdown.
Несколько лет назад мы писали о возможности, позволяющей провести анализ iPhone с заблокированным экраном. Эта возможность заключается в использовании так называемых файлов lockdown (или pairing records), извлечённых из компьютера пользователя. Вкратце напомним, что это такое и как это работает в современных версиях iOS.
Если iPhone защищён паролем, то во время первого подключения к компьютеру будет инициирован процесс установления доверенных отношений. В процессе происходит обмен криптографическими ключами, которые позволят компьютеру и телефону обмениваться данными. От пользователя потребуется разблокировать телефон и подтвердить запрос «Доверять этому компьютеру», после чего (начиная с iOS 11) подтвердить код блокировки устройства.
На компьютере будет создан файл, в котором содержится депонированный ключ (часто используются альтернативные названия – lockdown-файл или pairing record). В самом устройстве сохраняется вторая часть пары ключей; при её удалении (в результате сброса телефона к фабричным настройкам или из меню настроек) депонированный ключ уже не сможет разблокировать телефон.
До тех пор, пока пара ключей сохраняется на обоих устройствах (телефоне и компьютере), iTunes (или Elcomsoft iOS Forensic Toolkit) сможет автоматически разблокировать iPhone при подключении. Важный момент: депонированный ключ – это всего лишь файл. Если скопировать его на другой компьютер, то Elcomsoft iOS Forensic Toolkit сможет разблокировать телефон и при подключении его к компьютеру эксперта.
Благодаря депонированным ключам пользователю не нужно каждый раз разблокировать телефон при подключении его к компьютеру для синхронизации или создания резервной копии. В то же время, депонированные ключи используются в криминалистическом анализе для того, чтобы получить возможность извлечения данных из iPhone, когда телефон заблокирован.
Депонированный ключ не может быть использован для разблокирования устройства сразу после «холодного» старта (включения или перезагрузки). Вторая часть пары ключей хранится в самом устройстве в зашифрованном виде, и будет расшифрована только после того, как устройство будет разблокировано кодом блокировки экрана.
Срок жизни депонированных ключей ограничен. Для старых версий iOS срок жизни ключей измерялся в месяцах, для современных – в днях. Тем не менее, для нас точное время жизни депонированных ключей долго оставалось неопределённым. Наконец, в опубликованном Apple Руководстве по безопасности iOS появилась следующая информация:
The pairing process requires the user to unlock the device and accept the pairing request from the host. In iOS 11 or later, the user is also required to enter their passcode. After the user has done this, the host and device exchange and save 2048-bit RSA public keys. The host is then given a 256-bit key that can unlock an escrow keybag stored on the device (refer to “Escrow keybag” within the Keybags section of this paper). The exchanged keys are used to start an encrypted SSL session, which the device requires before it will send protected data to the host or start a service (iTunes syncing, file transfers, Xcode development, etc.). The device requires connections from a host over Wi-Fi to use this encrypted session for all communication, so it must have been previously paired over USB. Pairing also enables several diagnostic capabilities. In iOS 9, if a pairing record hasn’t been used for more than six months, it expires. This timeframe is shortened to 30 days in iOS 11 or later. (Source: iOS Security Guide May 2019 edition, iOS 12.3).
Из этого можно сделать вывод, что в версиях iOS 9 и 10 lockdown-файлы действительны в течение 6 месяцев с момента последнего использования. Для iOS 11, 12 и 13 этот срок составляет 30 дней (вероятно, также с момента последнего использования).