Что, если ФБР попытается взломать телефон Android? Мы напали на одного, чтобы узнать

Министерству юстиции удалось разблокировать iPhone 5c, которым пользовался боевик Сайед Ризван Фарук, который вместе со своей женой убил 14 человек в Сан-Бернардино, Калифорния, в декабре прошлого года. Это громкое дело натолкнуло федеральные правоохранительные органы на Apple, которая боролась с законом, пытаясь обойти свою функцию защиты паролем, чтобы предоставить правоохранительным органам доступ к данным телефона. ФБР заявило, что использовало третью сторону для взлома зашифрованных данных телефона, что вызвало вопросы о безопасности iPhone и о том, должны ли федеральные агентства раскрывать свой метод.

Но что, если бы устройство работало под управлением Android? Разыгралась бы такая же техническая и юридическая драма?

Мы — пользователи и исследователи Android, и первое, что мы сделали, когда спор между ФБР и Apple обрушился на популярные СМИ, — это прочитали документацию по полному шифрованию диска Android.

Мы попытались воспроизвести то, что ФБР хотели сделать на телефоне Android, и получили некоторые полезные результаты. Помимо того, что в экосистему Android входит больше компаний, мы обнаружили некоторые технические отличия, в том числе способ удаленного обновления и, следовательно, разблокировки ключей шифрования, что ФБР не смогло сделать для iPhone 5c самостоятельно.

Простые способы

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

Расшифровка этого надежного шифрования может быть очень трудным. Но иногда получение доступа к зашифрованным данным с телефона вообще не требует взлома кода. Вот как:

  • На целевой телефон можно установить собственное приложение для извлечения информации. В марте 2011 года Google удаленно установил программу, очищающую телефоны, зараженные вредоносным ПО. Неясно, позволяет ли это по-прежнему Android.
  • Многие приложения используют Android Backup API. Информация, для которой выполняется резервное копирование и, следовательно, доступ к ней напрямую с сайта резервного копирования, зависит от того, какие приложения установлены на телефоне.
  • Если целевые данные хранятся на съемной SD-карте, они могут быть незашифрованный. Только самые последние версии Android позволяют пользователю зашифровать всю съемную SD-карту; не все приложения шифруют данные, хранящиеся на SD-карте.
  • В некоторых телефонах есть считыватели отпечатков пальцев, которые можно разблокировать с помощью изображения отпечатка пальца владельца телефона.
  • Некоторые люди изменили операционные системы своих телефонов, предоставив им привилегии «root» — доступ к данным устройства сверх того, что разрешено во время обычных операций — и потенциально ослабили безопасность.

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

Запуск атаки

Очень абстрактное представление получения ключей шифрования на Android. Уильям Энк и Адвайт Надкарни, CC BY-ND

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

Но офлайн-атаки также может быть намного сложнее, потому что они требуют либо проверки каждого возможного ключа шифрования, либо определения пароля пользователя и ключа для конкретного устройства (уникальный идентификатор Apple и привязанный к оборудованию ключ в более новых версиях Android).

Чтобы попробовать все возможные решения для довольно стандартного 128-битного ключа AES, нужно попробовать все 100 ундециллионов (10 38 ) возможных решений — достаточно, чтобы взять на суперкомпьютер больше более миллиарда миллиардов лет.

Подобрать пароль можно относительно быстро: для шестизначного PIN-кода, состоящего только из цифр, это всего лишь миллион вариантов. Если буквы и специальные символы, такие как «$» и «#», разрешены, вариантов будет больше, но все же только в сотнях миллиардов. Однако угадать ключ для конкретного устройства, вероятно, будет так же сложно, как угадать ключ шифрования.

Учитывая онлайн-атаку

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

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

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

Атака на телефон Android

Что происходит, когда кто-то пытается взломать заблокированный телефон Android? Разные производители по-разному настраивают свои устройства Android; На телефонах Nexus установлена ​​стандартная конфигурация Android от Google. Мы использовали устройство Nexus 4 под управлением Android 5.1.1 и включенным полным шифрованием диска.

Android добавляет 30-секундную задержку после каждых пяти неудачных попыток; снимок 40 попытки. Уильям Энк и Адвайт Надкарни, CC BY-ND

Мы начали с телефона, который уже работал, но имел заблокированный экран. Android позволяет вводить PIN-коды, пароли и блокировку на основе шаблонов, при которой пользователь должен соединить серию точек в правильной последовательности, чтобы разблокировать телефон; мы провели этот тест с каждым типом. Мы вручную назначили фактический пароль на телефоне, но наши попытки разблокировки генерировались случайным образом.

После пяти неудачных попыток ввода пароля Android наложил 30-секундную задержку, прежде чем разрешить еще одну попытку. В отличие от iPhone, задержки не увеличивались с последующими сбоями; более 40 попыток мы встречали только 30-секундную задержку после каждых пяти неудач. Телефон подсчитывал количество неудачных последовательных попыток, но не стирал данные. (Телефоны Android других производителей могут иметь увеличивающиеся задержки, аналогичные iOS.)

Эти задержки налагают значительные временные штрафы на злоумышленника. Подбор шестизначного PIN-кода (один миллион комбинаций) может привести к задержке в худшем случае чуть более 69 дней. Если бы пароль состоял из шести символов, даже используя только строчные буквы, в худшем случае задержка составила бы более 58 лет.

Когда мы повторили атаку на телефон, который был выключен и только что был При запуске нас попросили перезагрузить устройство после 10 неудачных попыток. После 20 неудачных попыток и двух перезагрузок Android запустил обратный отсчет неудачных попыток, которые вызвали бы очистку устройства. Мы продолжили атаку, и с 30-й попытки — как было предупреждено на экране и в документации Android — устройство выполнило «сброс настроек до заводских», удалив все пользовательские данные.

Осталась всего одна попытка. устройство стирает свои данные. Уильям Энк и Адвайт Надкарни, CC BY-ND

В отличие от офлайн-атак, существует разница между Android и iOS для сетевых атак грубой силы. В iOS и экран блокировки, и процесс загрузки могут стереть пользовательские данные после фиксированного количества неудачных попыток, но только если пользователь явно разрешает это. В Android процесс загрузки всегда стирает пользовательские данные после фиксированного количества неудачных попыток. Однако наше устройство Nexus 4 не позволило нам установить предел сбоев экрана блокировки. При этом как в Android, так и в iOS есть опции удаленного управления, которые, если они включены, могут стирать данные после определенного количества неудачных попыток.

Использование специальных инструментов

IPhone 5c в чехле San Bernardino принадлежит работодателю одного из стрелков, и на нем установлено программное обеспечение для управления мобильными устройствами (MDM), которое позволяет компании отслеживать его и выполнять другие функции на телефоне с помощью дистанционного управления. Такое приложение MDM обычно устанавливается как приложение «Администратор устройства» на телефон Android и настраивается с помощью инструмента «Apple Configurator» для iOS.

Наш тестовый MDM успешно сбрасывает пароль. Затем функция создания ключа шифрования (KDF) используется для генерации нового ключа шифрования ключа (KEK).. Уильям Энк и Адвайт Надкарни, CC BY-ND

Мы создали собственное приложение MDM для нашего телефона Android и проверили, что пароль можно сбросить без явного согласия пользователя; это также обновило ключи шифрования телефона. Затем мы могли бы использовать новый пароль для разблокировки телефона с экрана блокировки и во время загрузки. (Чтобы эта атака работала удаленно, телефон должен быть включен и иметь подключение к Интернету, а приложение MDM уже должно быть запрограммировано на сброс пароля по команде с удаленного сервера MDM.)

где получить дополнительную помощь

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

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

Google, основной разработчик операционной системы Android, подписывает обновления для своих флагманских устройств Nexus. Samsung подписывается на свои устройства. Операторы сотовой связи (такие как AT&T или Verizon) также могут подписывать. И многие пользователи устанавливают специальную версию Android (например, Cyanogenmod). Компания или компании, подписавшие программное обеспечение, должны были бы ФБР убедить — или заставить — написать программное обеспечение, позволяющее проникнуть внутрь.

Сравнение iOS и Android

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

Но мы обнаружили различия для онлайн-атак, основанные на конфигурации пользователя и удаленного управления: Android имеет более безопасный по умолчанию для сетевых атак при запуске, но наш Nexus 4 не позволял пользователю устанавливать максимальное количество неудачных попыток с экрана блокировки (другие устройства могут отличаться). Устройства под управлением iOS имеют обе эти возможности, но пользователь должен заранее включить их вручную.

Безопасность Android также может быть ослаблена программным обеспечением для удаленного управления, в зависимости от используемого программного обеспечения. Хотя ФБР не смогло получить доступ к iPhone 5c, сбросив пароль таким образом, мы успешно провели аналогичную атаку на наше устройство Android.

Эта статья была обновлена ​​в апреле 8, 2016, добавить пропущенное слово «не» в предложение, начинающееся «Телефон вел счет…»

Оцените статью
Botgadget.ru
Добавить комментарий