Защита iOS от хакеров и спецслужб

Защита iOS от хакеров и спецслужб

В сегодняшней статье поговорим о защите iOS. Рассмотрим способы, которыми пользуются спецслужбы и полицейские, чтобы взломать iPhone, и способы, при помощи которых извлекаются ваши данные; попробуем от них защититься и сразу же оценить стойкость такой защиты. Основная тема статьи — как уберечь данные, если пароль блокировки вашего iPhone стал известен злоумышленнику.

Еще по теме: Досмотр телефона на границе: что делать?

iOS достаточно безопасна

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

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

Резервные копии: еще безопаснее

Система резервного копирования iOS достойна всяческого подражания. Именно она, а не стеклянные корпуса или вырез в экране, в котором все равно не будет модуля объемного сканирования лица. Шифрование локальных резервных копий в iOS 10.2 и более новых настолько стойкое, что даже топовый акселератор Nvidia GTX 1080 демонстрирует скорость перебора не выше сотни паролей в секунду. Таким образом, несложный пароль всего из семи знаков (это среднее по больнице) загрузит единственный компьютер на ближайшее тысячелетие. Вплоть до выхода iOS 11 можно было назначить на резервную копию длинный случайный пароль, который обеспечил бы работой все компьютеры мира до скончания веков.

…но это не имеет значения

С такой безопасной iOS и такими безопасными резервными копиями о чем еще можно говорить? Достаточно отнести денежки в ближайший Apple Store, не забыть про шестизначный пароль блокировки и наслаждаться безопасностью, так?

Как показывает практика, целую бочку меда можно испортить всего одной ложкой дегтя. И эта ложка здесь — тот самый код блокировки. Мы уже подробно писали о том, что можно сделать с iPhone, если узнать этот код. Напомним тезисно:

  • отключить Find my iPhone и блокировку Activation Lock;
  • включить двухфакторную аутентификацию, если она не была включена;
  • сменить пароль от Apple ID / iCloud; с этим паролем получить доступ к облачным резервным копиям, синхронизированным данным и паролям из облачной связки ключей iCloud Keychain, причем со всех устройств, привязанных к данной учетной записи;
  • скачать фотографии из iCloud Photo Library (вспомнили Celebgate);
  • заблокировать или удалить данные с других устройств, привязанных к данному Apple ID;
  • сбросить пароль на локальную резервную копию, подключить телефон к компьютеру и извлечь все данные;
  • извлечь все пароли из связки ключей или просмотреть их на самом устройстве.

Переход iOS от многослойной защиты к обороне пароля

Тебе не кажется, что как-то многовато всего нехорошего можно сделать в iOS 11 (и в iOS 12 бета, мы проверяли), просто узнав пароль блокировки телефона? К примеру, если тебе в руки попадет телефон с Android и будет известен код блокировки, просто так сменить пароль от учетной записи Google ты не сможешь. Хотя… если ты просмотришь пароли в Chrome (Chrome → Settings → Passwords), там и пароль от учетки Google может оказаться. Да и отвязать телефон от FRP (Factory Reset Protection) все-таки можно, так что о том, чей подход более безопасен, можно поспорить.

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

Для всех устройств iPhone и iPad существует как минимум два работающих независимых решения, позволяющих взломать код блокировки методом перебора. Эти решения — Cellebrite и GrayKey — доступны исключительно полиции и спецслужбам, но однажды найденная уязвимость рано или поздно окажется в руках не столь чистоплотных.

О решениях двух компаний официально известно мало. Неофициально же ситуация довольно интересна. Так, GrayKey прекрасно отрабатывает на всех устройствах под управлением iOS 11.3.1 и более ранних версий, при условии, что взламываемый телефон был хотя бы раз разблокирован после включения или перезагрузки. В таких случаях перебор идет очень быстро, и код блокировки из четырех цифр будет взломан в течение максимум одной недели. Значит ли это, что код блокировки, состоящий из шести цифр, будет взломан максимум через сто недель? Нет, не значит: из-за аппаратных ограничений с такой скоростью можно перебрать только 300 тысяч комбинаций из 10 миллионов. После этого перебор будет доступен лишь в «медленном» режиме.

«Медленный» режим перебора позволяет делать попытки с интервалом в десять минут. Именно с такой скоростью решение компании Grayshift будет перебирать пароли на устройствах, которые были выключены или перезагружены (и ни разу после этого не разблокированы). Более того, начиная с iOS 11.4 «медленный» режим перебора — единственное, что доступно и для ранее разблокированных устройств. Больше двух месяцев на взлом пароля из четырех цифр и почти девятнадцать лет для полного перебора пространства паролей из шести цифр вроде бы вполне удовлетворительные показатели.

Но не с точки зрения Apple.

USB Restricted Mode

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

О новом режиме USB Restricted Mode, который то появлялся, то исчезал, то снова появлялся в бета-версиях iOS, на сегодняшний день не написал лишь ленивый. В двух словах: режим USB Restricted Mode полностью отключает любой обмен данными через встроенный в устройство порт Lightning. Единственное, что остается доступным, — зарядка; с точки зрения компьютера, к которому будет подключен iPhone с активировавшимся режимом USB Restricted Mode, устройство ничем не будет отличаться от, к примеру, внешнего аккумулятора.

Активируется этот режим так:

USB Restricted Mode
Не перепутайте! Режим USB Restricted Mode активируется при «выключенном» положении переключателя USB Accessories

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

USB Restricted Mode iOS
Телефон теперь потребуется разблокировать

В текущей реализации режим USB Restricted Mode появился в iOS далеко не сразу. Если в бета-версиях iOS 11.3 этот режим активировался спустя семь дней с момента последней разблокировки устройства, то в iOS 11.4.1 beta (а также в первой тестовой сборке iOS 12) USB-порт отключается спустя всего час. Таким образом, если ты не разблокировал телефон в течение часа (и не подключал его к доверенному устройству), решение Cellebrite или GrayKey для взлома пароля не сможет работать: оно попросту не увидит телефон.

Режим USB Restricted Mode достаточно надежен: телефон по-прежнему откажется общаться с компьютером, даже если его перезагрузить. Если перевести iPhone в режим Recovery или DFU, он становится доступен с компьютера, но перебор паролей в этих режимах невозможен. Мы пытались «восстановить» телефон, залив на него свежую прошивку, — но даже это не помогло отключить USB Restricted Mode после перезагрузки в систему.

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

Ограничения родительского контроля: тот самый дополнительный уровень защиты

Если твой телефон уже попал в руки к спецслужбам или украден, делать что-либо, помимо блокировки через iCloud, поздно. И даже блокировка не особо поможет: зная пароль блокировки телефона, злоумышленник сможет как минимум сбросить пароль на резервную копию, извлечь пароли от твоих социальных сетей и почтовых сервисов. Частично защититься от такого сценария можно при помощи ограничений родительского контроля — Restrictions.

Изначально ограничения появились в iOS как средство родительского контроля, позволяющее заблокировать или ограничить определенные приложения и функции на iPhone, iPad или iPod touch ребенка. Тем не менее ограничения способны помочь и тогда, когда телефон украден злоумышленником или попал в руки спецслужб. Подробно об ограничениях родительского контроля можно почитать в статье «Использование родительского контроля на устройствах iPhone, iPad и iPod touch ребенка». Мы же воспользуемся ограничениями именно с целью дополнительно обезопасить iPhone, пароль блокировки которого скомпрометирован.

Ограничения на сброс пароля к резервной копии

Первое и самое главное: чтобы ограничить возможность сброса пароля к локальной резервной копии iOS, тебе достаточно просто включить ограничения как таковые, без каких-либо дополнительных настроек. Для этого открой меню «Настройки» и выбери «Основные → Ограничения». Затем нужно выбрать «Включить ограничения» и задать PIN-код из четырех цифр. Разумеется, этот код должен отличаться от цифр пароля блокировки и не должен совпадать с твоим годом рождения или цифрами из телефонного номера. Этот код понадобится тебе в исключительно редких случаях, когда потребуется изменить настройки или отключить ограничения, поэтому вполне рабочим сценарием будет установка совершенно случайного кода, который хранится у тебя дома, записанный на бумажке.
защита ios с помощью ограничения на сброс пароля

Что произойдет при попытке сбросить пароль на резервную копию после включения ограничений через меню Reset all settings? Система все так же запросит пароль блокировки устройства. На следующем же шаге потребуется ввести дополнительный четырехзначный PIN-код ограничений. С учетом того, что подсмотреть код блокировки значительно проще, чем узнать редко используемый PIN ограничений, эта дополнительная мера безопасности вполне способна отвадить любопытных. Впрочем, много ли от нее пользы, если твои пароли из связки ключей можно просмотреть на самом устройстве?

Защита от доступа к паролям из связки ключей: отсутствует

К сожалению, ни одно из доступных «ограничений» не регламентирует доступ к сохраненным в связке ключей паролям. В связке ключей часто содержатся пароли к учетным записям Google, Apple, Microsoft, что позволит злоумышленнику сменить твой пароль к iCloud и, соответственно, отвязать от него iPhone, даже не зная PIN-кода «ограничений». Вот, например, мой пароль от Apple ID — его спокойно можно просмотреть даже при включенных ограничениях:Защита iOS от доступа к паролям из связки ключейКак добраться? Несложно: Settings → Accounts & Passwords → App & Website Passwords. Система запросит отпечаток пальца (или идентификацию через Face ID):
Защита iOS от доступа к паролям из связки ключей

Не подумай, что это тот самый дополнительный слой защиты. Несколько неудачных попыток, и вот уже на экране запрос на код блокировки iPhone:
Защита iOS от доступа к паролям из связки ключей

Вводишь код блокировки — и все пароли твои. Пароли из связки ключей можно просматривать по одному или копировать в буфер длинным нажатием.

К сожалению, мы не нашли способа ограничить доступ к паролям на устройствах без внешней политики безопасности. Единственное, что ты можешь сделать, — это убедиться, что пароль хотя бы от Apple ID / iCloud в твоей связке ключей не присутствует. Усиленно рекомендуем это сделать, иначе все описанное выше будет применимо к твоему iPhone в полной мере.

Ограничения на сброс iCloud Lock и изменение пароля Apple ID

Убедившись, что пароль от Apple ID и iCloud в твоей связке ключей не засвечен, можно переходить к следующему шагу: ограничить возможность отключения функции Find my iPhone и сброса пароля от Apple Account при помощи кода блокировки устройства. Для этого нужно установить ограничение на изменение настроек учетных записей:
Защита iOS путем ограничения на сброс iCloud Lock и изменение пароля Apple ID

После этого никто не сможет получить доступа к твоей учетной записи, не отключив предварительно данное ограничение:Защита iOS путем ограничения на сброс iCloud Lock и изменение пароля Apple IDК сожалению, по непонятной причине доступ к паролям из связки ключей остается открытым. С нашей точки зрения — очевиднейшая недоработка.

Как защититься от jailbreak?

В предыдущих выпусках мы много писали о том, как правильно установить jailbreak, чтобы получить полный доступ к информации. А что насчет обратного? Можно ли как-то защитить свой телефон от взлома? Даже если сейчас на установленную в твоем устройстве версию iOS еще не выпущен соответствующий jailbreak, шанс на то, что он появится через какое-то время, весьма высок.

К сожалению, единственный способ защититься от jailbreak — это установить ограничение на установку приложений.
Как защититься от jailbreak

Почему «к сожалению»? Потому что в отличие от ограничений, которые мы уже рассмотрели, ограничение на установку приложений может доставить заметные неудобства в повседневном использовании устройства и рано или поздно будет отключено. Отдельного же ограничения на установку приложений не из App Store (подобного соответствующему режиму в Android) в устройствах под управлением iOS просто нет. Соответственно, для большинства пользователей мы не можем рекомендовать это ограничение.

Насколько безопасны ограничения?

Единственный вид пароля, который ты можешь выбрать для ограничений, — четырехзначный PIN-код. Десять тысяч комбинаций. В принципе, ничего сложного, любой робот для перебора паролей должен справиться в разумный срок. Или нет?

Ограничения — функция iOS. Телефон должен быть полностью загружен и разблокирован, только в этом случае можно попытаться снять пароль с ограничений. Казалось бы, задача проста, но разработчики iOS учли этот момент. После нескольких неудачных попыток система ограничит скорость перебора PIN-кодов ограничений, вводя прогрессивные задержки в 1, 5, 15 и 60 минут. После десяти неудачных попыток каждая следующая попытка может быть предпринята не ранее, чем через 60 минут после предыдущей; перезагрузка устройства не поможет ускорить процесс.

При скорости перебора один код в час пространство из 10 тысяч комбинаций можно перебрать примерно за 416 дней. Это довольно долго и, пожалуй, достаточно безопасно для большинства обычных пользователей. Конечно, с безопасностью пароля к резервной копии не сравнить, но все же гораздо лучше, чем ничего. Тем не менее сама возможность сбросить пароль на резервную копию даже через 416 дней уже не позволяет говорить о какой-то особой безопасности iOS в сравнении, например, с устройствами на BlackBerry 10, чьи резервные копии шифровались двоичным ключом, который сохранялся на сервере компании BlackBerry или (если речь о корпоративных устройствах) на сервере компании — владельца устройства. Разумеется, о сбросе этого пароля на самом устройстве речи не шло.

Что делать при пересечении границы?

По примеру Соединенных Штатов пограничники разных стран начинают все активнее интересоваться содержимым персональных гаджетов. Этот процесс будет набирать обороты; так, в 2017 году пограничники США зарегистрировали порядка 30 тысяч требований разблокировать смартфоны путешественников. Коснуться может любого, неприкасаемых нет:

A US-born NASA scientist was detained at the border until he unlocked his phone.

За годы, прошедшие с начала подобной практики, выработались и рекомендации для путешественников. Жизнь показала, что сопротивление нерационально: ты имеешь полное право не разблокировать телефон, а пограничник имеет право не пустить тебя в страну или (если ты гражданин) задержать тебя до тех пор, пока ты не согласишься выполнить все требования.

При пересечении границы имеет смысл попробовать защитить важные данные от автоматизированного анализа, задав сложный и длинный пароль на резервную копию (лучше, чтобы он был случайным; запоминать его необязательно — сбросить можно в любой момент) и установив ограничение на сброс пароля от резервной копии. У пограничника нет 416 дней на перебор всех кодов ограничений, так что все закончится ручным досмотром того, до чего пограничник сможет дотянуться непосредственно с экрана устройства (еще раз напомним, что ограничения не мешают просматривать пароли из связки ключей). Сам же пароль на ограничения ты можешь попросить установить члена семьи, записав пароль на бумажку, которая останется дома.

Заключение

Развитие iOS идет зигзагами. Возможность сброса пароля на резервные копии при помощи одного лишь кода блокировки устройства разработчики Apple пытаются компенсировать усложнением условий, при которых возможен взлом пасскода, оставляя при этом открытым доступ к паролям из связки ключей. Все, что остается обычным, не корпоративным пользователям, — это воспользоваться «детскими» ограничениями, которые, очевидно, не предназначены для серьезной защиты данных.

В то же время в iOS нет секретных «черных ходов» или явных проблем в шифровании; из штаб-квартиры Apple не выходят загрузчики с наивными, просто детскими уязвимостями (камень в огород компании OnePlus), не утекают цифровые подписи (камень в огород Microsoft и ключей от Secure Boot), не создаются и не получают распространения инженерные загрузчики (машем рукой Samsung). Те уязвимости, которые все-таки есть, обнаруживаются трудом и усилиями профессиональных команд, а их использование — часто дело нетривиальное.

Еще по теме: Как Apple защищает данные своих пользователей

ВКонтакте
OK
Telegram
WhatsApp
Viber

Один комментарий

  1. Случайный читатель

    Было бы неплохо, если указывали дату написания или публикации статьи.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *