June 17, 2019

Как iOS ставит ее пользователей под угрозу

Мы много писали о безопасности мобильной ОС Apple и о том, как отдельные уязвимости системы можно использовать для доступа к информации. И в каждой такой статье звучала мысль: несмотря на отдельные недостатки, iOS у Apple получилась грамотно спроектированной и хорошо защищенной ОС. Сегодня мы перевернем твой мир с ног на голову утверждением, что iOS — наименее безопасная из всех мобильных систем на рынке.

Скажу откровенно: мне нравится подход Apple к обеспечению безопасности. Мне известно о слабостях и уязвимостях iOS (они устраняются с каждым обновлением) и отлично видны слабости архитектуры безопасности, вызванные желанием компании угодить широкому кругу потребителей. Да, Apple можно было бы похвалить за тщательно продуманный и качественно реализованный подход к безопасности.

Можно было бы, если бы не одно «но»: iPhone — самое популярное в мире устройство. Да, мы помним, что смартфонов с Android на руках у пользователей гораздо больше, но моделей с Android — десятки тысяч, а iPhone — единицы. Популярность сыграла с Apple злую шутку: устройствами с iOS стали заниматься буквально все заинтересованные стороны, не жалея времени и денег. В результате на сегодняшний день ситуация сложилась весьма и весьма интересная: iOS считается безопасной, но заинтересованные стороны при соблюдении некоторых условий могут получить полный доступ к данным.

Физическая безопасность устройств iOS

  1. Все современные, не очень современные и откровенно устаревшие iPhone и iPad применяют стойкое шифрование накопителя. Любые атаки методом извлечения микросхемы памяти заведомо обречены (это действительно так; данный вектор атаки стал бесполезен много лет назад).
  2. В iOS предусмотрена (и действительно работает) система защиты данных в случае кражи или потери устройства. Доступны механизмы удаленного стирания и блокировки устройства. Украденное устройство невозможно будет разблокировать и перепродать, если злоумышленнику неизвестны пароль на устройство (код блокировки экрана) или пароль от учетной записи Apple ID владельца (требуется одно из двух).
  3. Многоуровневое шифрование данных «из коробки» идеально спроектировано и реализовано. Пользовательские данные зашифрованы всегда — за редкими исключениями в виде файлов и баз данных, необходимых, чтобы телефон принимал звонки сразу после перезагрузки. В iOS используется файловая система APFS. Каждый файл зашифрован своим ключом, который будет уничтожен при удалении файла. В результате восстановить удаленные файлы становится в принципе невозможно. Ключи защищены выделенным сопроцессором, входящим в систему Secure Enclave, и извлечь их оттуда нельзя даже после взлома устройства. Данные при включении телефона остаются зашифрованными, пока не будет введен правильный пароль, разблокирующий экран.
  4. Многоуровневое шифрование означает, в частности, то, что некоторые данные (например, пароли к веб-сайтам, скачанная на устройство электронная почта) дополнительно защищены: они хранятся в виде зашифрованных записей в базе данных связки ключей keychain (которая, в свою очередь, зашифрована при помощи пофайлового шифрования вместе с остальными файлами на пользовательском разделе).
  5. Нельзя просто подключить к компьютеру iPhone и скачать с него данные (кроме фотографий). В iOS предусмотрена возможность установления доверительных отношений с компьютерами. При этом создается пара криптографических ключей, позволяющих доверенному компьютеру обмениваться информацией и создавать резервные копии устройства. Для установления доверительных отношений с компьютером iPhone необходимо разблокировать и ввести код блокировки.
  6. Дополнительной степенью защиты от подключения к неавторизованному компьютеру устройства (начиная с iOS 11.4.1) блокируют передачу данных через USB-порт сразу после того, как экран телефона был выключен, если устройство недавно не подключалось к компьютеру или аксессуару. Режим USB Restricted Mode опционален, но включен по умолчанию. Кстати, появился этот режим для противодействия перебору паролей решениями GrayKey и Cellebrite.
  7. Безопасность резервных копий обеспечивается возможностью установить сложный пароль (пароль требуется исключительно для восстановления данных из резервной копии, поэтому в режиме повседневного использования мешать не будет). Шифрование локальных резервных копий исключительно стойкое, перебор паролей — очень медленный. В старых версиях iOS эта защита была абсолютной; начиная с iOS 11 этот пароль можно сбросить, указав код блокировки экрана.
  8. Для разблокировки можно использовать как стандартный PIN-код из четырех или шести цифр, так и более сложный пароль. Единственный дополнительный способ разблокирования устройства — биометрический (отпечаток пальца Touch ID или Face ID). При этом реализация биометрики такова, что число попыток будет ограничено. Данные отпечатка зашифрованы и будут удалены из оперативной памяти устройства после выключения или перезагрузки (а также после входа в режим S.O.S.); через некоторое время, если устройство ни разу не разблокировалось; после пяти неудачных попыток; через некоторое время, если пользователь ни разу не вводил пароль для разблокировки устройства.

В Apple спроектировали и реализовали достаточно логичную и всестороннюю архитектуру безопасности. Однако физическая безопасность iPhone в настоящий момент близка к нулю. Перечислим основные моменты, которые нам не нравятся.

  1. В Apple придают исключительное значение коду блокировки экрана. Зная только и исключительно код блокировки, с устройством и данными пользователя можно проделать решительно всё: подключить к новому компьютеру, сбросить пароль от резервной копии, сбросить и изменить пароль от учетной записи Apple ID, сменить средства двухфакторной аутентификации, отвязать телефон от сервиса Find My iPhone и снять блокировку iCloud. В данном случае в Apple сложили все до единого яйца в одну корзину; в качестве единственной защиты выступает код блокировки, только код блокировки и ничего, кроме кода блокировки экрана.
  2. На рынке существует по крайней мере два решения (компаний Cellebrite и GrayShift), которые позволяют подобрать код блокировки и извлечь данные из iPhone любой модели, работающего на актуальной или более старой версии iOS (на момент написания статьи это актуальная версия iOS 12.3.1). И если для выключенного устройства потребуется перебор кодов блокировки (он медленный, до десяти минут на попытку, что дает максимальный срок перебора девятнадцать лет для всего пространства шестизначных цифровых паролей), то для устройств, которые были разблокированы хотя бы раз после загрузки (а это большая часть устройств, конфискованных полицией), данные извлекаются сразу, а перебор паролей очень быстрый (приблизительно за 20–30 минут перебирается все пространство паролей из четырех цифр). После разблокировки из телефона извлекается абсолютно вся информация вплоть до зашифрованных записей из связки ключей (а это все сохраненные пароли пользователя из браузера Safari и сторонних приложений).
  3. Устройства и услуги по взлому паролей и извлечению данных из заблокированных iPhone доступны исключительно государственным и правоохранительным органам, причем далеко не для каждой страны. К примеру, в США, Канаде, Израиле, странах Европы эти решения правоохранительным органам доступны, а в России и Китае — нет.

Результат интересный и неоднозначный: мощная, всесторонне продуманная архитектура безопасности соседствует с ущербной физической безопасностью. Данные могут быть извлечены из любого iPhone, вопрос лишь в доступности спецсредств и состоянии устройства (получено в лаборатории в выключенном виде или же было разблокировано пользователем хотя бы раз с момента включения). В Apple прекрасно осведомлены о решениях Cellebrite и GrayShift и попытались противодействовать им, добавив режим USB Restricted Mode, отключающий передачу данных через USB сразу после блокировки экрана устройства. Но он не стал принципиальным препятствием для взлома iPhone.

Разумеется, все может измениться с выходом iOS 13, а новое аппаратное обеспечение (11-е поколение iPhone) наверняка сделает невозможным используемые в настоящий момент подходы. Распространение спецсредств для взлома паролей и извлечения данных из iPhone тщательно контролируется компаниями — разработчиками Cellebrite и GrayShift, работающими исключительно с правоохранительными органами избранных государств, в число которых Россия не входит. А пока сделаем осторожный вывод: можно продолжать пользоваться устройствами Apple, которые надежно защищают данные от злоумышленников — но не от полиции и спецслужб США, Канады, стран ЕС или Израиля.

Облачная безопасность iOS

С вопросом физической безопасности устройств с iOS мы разобрались. А как обстоят дела со слежкой за пользователем и с утечками данных?

В iOS есть отключаемая синхронизация с облаком через собственный сервис Apple iCloud. В частности, в iCloud могут сохраняться:

  1. Резервные копии устройства (фактически используется достаточно редко из-за чрезвычайной скупости Apple, выделяющей пользователям не самых дешевых смартфонов всего 5 Гбайт свободного места в облаке iCloud).
  2. Синхронизированные данные — журнал звонков, заметки, календари, почта.
  3. Синхронизированные данные с дополнительным шифрованием (для доступа требуется как логин и пароль от Apple ID, так и второй фактор аутентификации и — обязательно! — код блокировки устройства). Сюда попадают пароли из облачной связки ключей iCloud Keychain, данные «Здоровья», сообщения в iCloud (SMS, iMessage). Обрати внимание: данные из этого списка не будут выданы компанией Apple по запросу правоохранительных органов.
  4. Открытые вкладки (без ограничения по времени; лишь в iOS 13 появится режим, ограничивающий время жизни открытых вкладок) и история посещения ресурсов в браузере Safari за последние 30 дней.
  5. Фотографии и видео, если включена облачная библиотека iCloud Photos.
  6. Данные приложений, разработчики которых используют iCloud Drive.

Все виды облачной синхронизации пользователь iOS может отключить, выключив iCloud и деактивировав iCloud Drive. После этого данные не будут передаваться на серверы Apple. Несмотря на то что некоторые механизмы работают не слишком интуитивно (как пример — для выключения синхронизации звонков нужно отключать iCloud Drive, предназначенный для синхронизации файлов и фотографий), полное выключение облачных сервисов синхронизацию полностью отключает.

В iOS предусмотрен механизм для предотвращения отслеживания устройств (система может представлять внешнему миру случайные идентификаторы модулей Wi-Fi и Bluetooth вместо фиксированных настоящих).

Насколько безопасно хранить данные в iCloud? Здесь нужно отметить, что Apple использует для хранения пользовательских данных сторонние сервисы (Microsoft, Amazon, Google, AT&T, а также серверы, контролируемые правительством Китая). Означает ли это, что Microsoft, Amazon и далее по списку могут получить доступ к этим данным? Нет: все данные разбиты на блоки, а каждый блок зашифрован собственным уникальным ключом, который физически хранится на серверах Apple в Купертино. Соответственно, просто получить доступ к блокам на сервере Amazon или Google недостаточно — нужно еще и извлечь ключи шифрования, которые хранятся совсем в другом месте. В то же время доступ к этим ключам может получить как сама компания Apple, так и третьи лица, которые смогли зайти в учетную запись пользователя.

В зависимости от того, кто пытается получить данные и что ему известно о пользователе, можно сформулировать следующие правила.

Для резервных копий iCloud Backups, фотографий, а также всех видов синхронизированных данных, за исключением категории «Синхронизированные данные с дополнительным шифрованием»: для доступа достаточно знать логин и пароль пользователя. Если учетная запись защищена по методу двухфакторной аутентификации, также необходим доступ ко второму фактору (это требование можно обойти, если подключаться к синхронизированным данным с компьютера пользователя, где установлено приложение iCloud). Правоохранительные органы могут получить эти данные, отправив запрос в Apple. Запрос должен сопровождаться соответствующим постановлением суда (для Китая действуют упрощенные правила, когда достаточно просто требования полиции).

Для категории «Синхронизированные данные с дополнительным шифрованием» (пароли из облачной связки ключей, данные «Здоровья», сообщения SMS/iMessage, синхронизированные в облако): доступа к этим данным нет ни у полиции, ни у самой компании Apple. Эти данные не будут предоставлены по запросу правоохранительных органов. Тем не менее доступ к ним получить все-таки можно, если доступен полный набор из следующих факторов: логин и пароль к Apple ID; второй фактор аутентификации (к примеру, SIM-карта с доверенным телефонным номером или одно из устройств пользователя, привязанных к той же учетной записи, в разблокированном виде); код блокировки экрана (iPhone, iPad, iPod Touch) или системный пароль (Mac) одного из устройств пользователя, привязанных к той же учетной записи Apple.

Анализ модели безопасности Apple на примере категории «Сообщения»

Рассмотрим модель безопасности Apple немного подробнее, взяв для примера такую категорию данных, как сообщения (Messages).

С момента появления сообщения iMessage были для Apple одной из ключевых возможностей iOS. Сквозное шифрование, отсутствие облачной синхронизации, исключительно локальный доступ долгое время оставались отличительными чертами системы. В современных версиях iOS сообщения, включая iMessage, могут быть синхронизированы с облаком.

Физическая безопасность сообщений обеспечивается теми же механизмами, что и безопасность основного массива данных в iPhone. Сообщения в самом iPhone хранятся в обычной базе данных без дополнительного шифрования. Точнее говоря, Apple полагается на шифрование средствами файловой системы и только на него. Учитывая описанные ранее методы взлома кода блокировки и извлечения данных, можно сказать, что для всех моделей iPhone и всех актуальных версий iOS существуют методы, позволяющие рано или поздно получить доступ к сообщениям, если на руках у эксперта находится iPhone пользователя.

В отличие от Android, iOS ни при каких обстоятельствах не предоставляет доступа к сообщениям никаким сторонним приложениям. Соответственно, никакое зловредное ПО не сможет прочитать или перехватить сообщения.

В iOS предусмотрен механизм резервного копирования. Пользователь может создать резервную копию своего iPhone на компьютере, воспользовавшись приложением Apple iTunes. Резервная копия может быть как защищена паролем, так и не защищена. Если у эксперта есть доступ к такой резервной копии (или он может создать резервную копию, воспользовавшись, к примеру, записью lockdown, извлеченной из компьютера пользователя), то возможность доступа к сообщениям лежит лишь в плоскости расшифровки резервной копии. Напомним: неизвестный эксперту пароль, если он был установлен, может быть сброшен на самом iPhone (для этого нужно знать код блокировки устройства) или восстановлен достаточно медленной атакой (результат не гарантирован).

Синхронизация сообщений появилась в iOS относительно недавно, однако в облако сообщения попадали и раньше. Если в iCloud есть резервная копия устройства, то в ней могут присутствовать и сообщения (если пользователь не включил режим облачных сообщений; об этом ниже). О защите резервных копий в облаке мы уже рассказали: зашифрованные блоки, которые хранятся на серверах сторонних компаний, и ключи шифрования, которые лежат на серверах Apple. Если известны логин и пароль от облака (и есть доступ ко второму фактору аутентификации), то резервная копия успешно скачивается, а сообщения из нее извлекаются.

Наконец, пользователь может включить режим облачных сообщений.


Он доступен только для учетных записей с двухфакторной аутентификацией. Теперь все сообщения в облаке будут дополнительно зашифрованы посредством ключа шифрования из облачной связки ключей, которая, в свою очередь, зашифрована ключом, перешифрованным на основе кода блокировки экрана или системного пароля одного из уже зарегистрированных в учетной записи устройств. Теперь сообщения в облаке становятся недоступными как самой компании Apple, так и правоохранительным органам: они не будут выданы по запросу.

Отдельно отметим, что при включении режима облачной синхронизации сообщений в резервную копию они больше не попадают (то же относится и к фотографиям). Тем не менее если в распоряжении эксперта есть логин и пароль от Apple ID и второй фактор аутентификации, а также известен код блокировки iPhone или системный пароль к компьютеру Mac пользователя, то сообщения можно успешно извлечь из облака при помощи Elcomsoft Phone Breaker.

iOS и зловредное программное обеспечение

Немаловажный фактор, влияющий на общую безопасность экосистемы, — защита от зловредного программного обеспечения. В iOS с такой защитой дело обстоит очень хорошо: Apple контролирует приложения, которые могут быть установлены на iPhone. Обычные пользователи могут устанавливать приложения исключительно из курируемого Apple магазина App Store, в который зловредное ПО может попасть в исключительных единичных случаях и очень ненадолго. Установка из независимых источников возможна, но доступна исключительно разработчикам, корпоративным пользователям и отдельным хорошо разбирающимся в технике энтузиастам.

Если зловредное приложение все же проникнет в систему, большого вреда оно причинить не сможет: в iOS каждое приложение надежно изолировано как от самой системы, так и от других приложений с помощью песочницы, а доступа, например, к сообщениям (SMS/iMessage) у сторонних приложений нет принципиально.

Широкую известность получил случай заражения ряда китайских приложений, включая популярнейший в Китае WeChat, зловредным ПО XcodeGhost

Нужно отметить, что в iOS реализован гранулярный контроль за разрешениями приложений. Можно по отдельности разрешить или запретить каждому приложению такие вещи, как возможность работы в фоновом режиме, доступ к местоположению, камере. Наличие этих настроек позволяет эффективно ограничивать слежку со стороны приложений, которые сделали такую слежку своим основным бизнесом (это касается и приложений класса Facebook, и игр наподобие Angry Birds). В iOS 13 появится дополнительная возможность, позволяющая как ограничивать доступ приложений к местоположению пользователя, так и увидеть, какие данные о местоположении приложение уже успело собрать.

Наконец, Apple регулярно обновляет iOS даже на старых устройствах, оперативно исправляя найденные уязвимости. При этом обновления становятся доступны одновременно всем пользователям.

Защита от атак MITM (man in the middle)

iOS, начиная с 9-й версии, защищена и от атак класса man in the middle с перехватом и подменой сертификата. И если в нашей лаборатории получилось исследовать протокол резервных копий iCloud в 8-й версии iOS, то в более новых ОС это сделать не удалось по техническим причинам.

Выводы

Из-за широкого распространения и ограниченной номенклатуры смартфоны Apple и операционная система iOS находятся в фокусе внимания как спецслужб, так и независимых исследователей безопасности. Это привело к появлению доступных для полиции ряда государств технических средств, позволяющих взломать код блокировки iPhone, а в ряде случаев — и получить доступ к данным даже без кода блокировки. Облачная синхронизация реализована практически идеально. Тем не менее большая часть данных доступна как компании Apple, так и полиции по официальному запросу.

Ограниченное число категорий данных защищено дополнительным уровнем шифрования и не выдается по запросу, однако даже их можно извлечь, если известны логин и пароль от Apple ID, есть доступ ко второму фактору аутентификации и известен код блокировки одного из устройств пользователя. Защита от слежки и зловредного ПО находится на максимально возможном для потребительских устройств уровне.

UPD: канал "Информация опасносте" сообщает:

Сразу две новости про смартфоны и их взлом. Про компанию Grayshift в этом канале я писал неоднократно. Компания известна тем, что разработала “коробочку”, которая умеет взламывать iPhone и добывать из него данные. По слухам, компания решила расширить свою сферу деятельности и поддержать в своих устройствах смартфоны на базе Android

https://www.forbes.com/sites/thomasbrewster/2019/06/12/feds-favorite-iphone-hacker-grayshift-plans-to-crack-android/

В то же время другая компания, которая занимается примерно тем же (и которая тоже неоднократно фигурировала в этом канале) — Cellebrite — анонсировала, что их новое устройство умеет теперь разблокировать все смартфоны и планшеты на iOS, включая последнюю релизную версию iOS 12.3. Кроме этого, поддерживаются многие модели смартфонов на Android. Речь идет о разблокировке заблокированных устройств и получению данных с устройств.

https://www.cellebrite.com/en/ufed-premium/

https://twitter.com/Cellebrite_UFED/status/1139569499206643715

by @it_ha