Эксплойт нацелен на режим EDL Qualcomm и затрагивает некоторые устройства Xiaomi, OnePlus, Nokia и другие устройства.

Устройства Qualcomm имеют режим EDL, который, как оказалось, можно использовать, если у вас есть правильные инструменты, выпущенные OEM-производителями.

Устройства с чипсетами Qualcomm имеют ппервичный Бойлoader (PBL), который обычно загружает систему Android, но также содержит альтернативный режим загрузки, известный как режим EDL. Режим EDL принадлежит Qualcomm Эчрезвычайная ситуация Дсобственная загрузка Мода и позволяет Ооригинальный Эоборудование Мпроизводитель (OEM) принудительно перепрограммирует программное обеспечение на устройстве. Его нельзя изменить (режим только для чтения), и он имеет полный контроль над хранилищем устройства. Многие OEM-производители, включая OnePlus и Xiaomi, выпустили инструменты (известные как программисты), которые используют режим EDL и протокол, известный как Firehose, для разблокировки устройства, в то время как другие инструменты от таких компаний, как Nokia, просочились. Firehose может использовать ряд команд для прошивки устройств, а также возможность проверять данные в памяти устройства. Исследователи безопасности

Рои Хэй (@roeehay) и Ноам Хадад от Алеф Исследования обнаружили критические уязвимости устройства, используя этот режим, что фактически дает злоумышленнику полный доступ к устройству.

Важно отметить, что этот эксплойт требует физического доступа к устройству, но он по-прежнему невероятно опасен и, вероятно, не может быть исправлен.. Злоумышленники использовали уровень доступа, предоставленный режиму EDL, для обхода безопасной загрузки на Nokia 6, победив цепочка доверия и полное выполнение кода на всех этапах последовательности загрузки, включая ОС Android. сам. Предполагается, что он будет работать таким же образом и на других устройствах, и исследователям также удалось разблокировать и получить root права на нескольких устройствах Xiaomi без потери данных.

На какие устройства влияет этот эксплойт?

Во-первых, устройства, которые затронуты.

Список затронутых устройств.

  • LG G4
  • Нокиа 6 (д1с)
  • Нокиа 5
  • Нексус 6 (шаму)
  • Нексус 6П (рыболов)
  • Мото G4 Плюс
  • OnePlus 5 (чизбургер)
  • OnePlus 3T
  • OnePlus 3
  • OnePlus 2
  • OnePlus X
  • Один плюс один
  • ZTE Аксон 7
  • ЗУК Z1
  • ЗУК Z2
  • Xiaomi Note 5A (угглайт)
  • Xiaomi Note 5 Prime (угг)
  • Xiaomi Примечание 4 (мидо)
  • Xiaomi Примечание 3 (Джейсон)
  • Xiaomi Примечание 2 (скорпион)
  • Xiaomi Mix (литиевый)
  • Сяоми Микс 2 (Хирон)
  • Сяоми Ми 6 (стрелец)
  • Xiaomi Mi 5s (Козерог)
  • Xiaomi Mi 5s Plus (натрий)
  • Сяоми Ми 5х (Тиффани)
  • Сяоми Ми 5 (Близнецы)
  • Сяоми Ми 3 (канкро)
  • Xiaomi Mi A1 (тиссо)
  • Xiaomi Mi Max2 (кислород)
  • Xiaomi Redmi Note 3 (кензо)
  • Xiaomi Redmi 5A (рива)
  • Xiaomi Redmi 4A (розовый)

читать далее

Использование телефона Android

Последовательность загрузки типичного телефона Android Qualcomm

Важно сначала понять последовательность загрузки типичного устройства Android, прежде чем объяснять, как его можно использовать. Спрограммное обеспечение Бойлoader (SBL) — это загрузчик с цифровой подписью, подлинность которого проверяется перед загрузкой в ​​imem. imem — это быстродействующая память, используемая для отладки и DMA (дпрямой мЭмори аccess) транзакций и является собственностью чипсетов Qualcomm.

Некоторые устройства имеют электронныйИкснапряженный Бойлoader (XBL) вместо SBL, но процесс загрузки практически такой же. Затем SBL или XBL запускает ABOOT, который реализует быструю загрузку. После этого также загружается TrustZone (аппаратная безопасность). TrustZone проверяет подлинность ABOOT с помощью аппаратного корневого сертификата. SBL (или в некоторых случаях XBL) предназначен для отклонения неправильно подписанного (или неподписанного) ABOOT.

После аутентификации ABOOT проверяет подлинность /boot и /recovery перед запуском ядра Linux. Выполняется некоторая подготовка системы, а затем выполнение кода передается ядру. ABOOT широко известен как «загрузчик Android», и когда мы разблокируем загрузчик устройства, мы отключаем проверку подлинности в ABOOT.

Визуализация последовательности загрузки стандартного устройства Android. // Источник: Алеф Исследования

Доступ к режиму EDL

Хотя некоторые устройства имеют простую аппаратную комбинацию (или, что еще хуже, простую проприетарную команду быстрой загрузки, присутствующую во многих устройства Xiaomi), другие, такие как устройства Nokia, должны закорачивать контакты, известные как «тестовые точки», присутствующие на основном разъеме устройства. доска. До обновления безопасности от декабря 2017 года также было возможно просто запустить «adb restart edl» на многих устройствах (включая Nexus 6 и 6P) и войти в режим EDL. С тех пор это было исправлено.

Тестовые точки показаны в нарисованном желтом поле в нижней части материнской платы устройства. // Источник: Алеф Исследования

Другие устройства также могут использовать так называемый кабель «глубокой флэш-памяти», который представляет собой специальный кабель с закороченными определенными контактами, чтобы сообщить системе о необходимости загрузки в режиме EDL. Старые устройства Xiaomi могут использовать этот метод вместе с Nokia 5 и Nokia 6. Другие устройства также будут загружаться в режиме EDL, если им не удастся проверить SBL.

Кабель для глубокой вспышки

Использование режима EDL для получения полного доступа к OnePlus 3/3T

Режим EDL можно использовать на устройстве разными способами, в основном для разблокировки устройств путем их принудительной прошивки. Как объяснялось выше, теоретически доступ к этому режиму должен быть безопасным для всех, поскольку в худшем случае ABOOT отклонит программное обеспечение, которое официально не подписано производителем. Хотя это и правда, на самом деле можно получить полный контроль над OnePlus 3 или 3T и его файлами с помощью экспериментального эксплойта, продемонстрированного исследователями.

Это будет сделано с помощью двух очень опасных команд, которые OnePlus оставил доступными в старой версии ABOOT (Android). загрузчик), чтобы разблокировать загрузчик устройства (без отображения предупреждения пользователю при загрузке) и отключить dm_verity. dm_verity также известен как проверенная загрузка и является частью безопасной последовательности загрузки на устройстве Android. Эти две команды заключаются в следующем.

fastboot oem disable_dm_verity
fastboot oem 4F500301/2

Обратите внимание на простой четырехэтапный процесс, описанный ниже, в котором используется протокол Firehose.

  1. Сначала загрузите устройство в режиме EDL. Это можно сделать либо через adb в OxygenOS 5.0 или более ранней версии, либо с помощью простой комбинации аппаратных клавиш.
  2. Загрузите старый образ системы ниже OxygenOS 4.0.2.
  3. Прошить aboot.bin через Firehose (помните, что aboot.bin реализует быструю загрузку, как мы упоминали ранее)
  4. Теперь вы сможете отключить безопасную загрузку и разблокировать загрузчик. без очистки устройства просто используя две приведенные выше команды быстрой загрузки.

Если вы помните, почти год назад было обнаружено, что OnePlus оставил две опасные команды быстрой загрузки: одну, которая разблокировала загрузчик, и другую, которая отключила безопасную загрузку. Хотя это правда, что злоумышленник не могу установить вредоносное ПО на устройство, они могут понизить версию устройства иметь старое, уязвимое для атак программное обеспечение. Просто выполнив приведенные выше команды быстрой загрузки, злоумышленник может получить полный доступ к устройству.

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

Firehose работает через протокол Qualcomm Sahara, который принимает программист, подписанный OEM, и именно по нему будет осуществляться описанная выше атака. При подключении к устройству он действует как SBL через USB. Большинство программистов используют Пожарный шланг для связи с телефоном в режиме EDL, что исследователи и использовали для получения полного контроля над устройством. Исследователи также использовали это, чтобы разблокируйте устройство Xiaomi, просто прошив модифицированный образ который разблокировал загрузчик. Затем они прошили собственное ядро, которое предоставило root-доступ, запустили SELinux в разрешительном режиме, а также извлекли зашифрованный образ пользовательских данных с устройства.

Заключение

Неизвестно, почему OEM-производители выпускают этих программистов от Qualcomm. Программисты Nokia, LG, Motorola и Google скорее слили информацию, чем опубликовали, однако исследователям удалось разорвите всю цепочку доверия на Nokia 6 и получите полный доступ к устройству с помощью аналогичных методов эксплуатация. Они уверены, что атаку можно перенести на любое устройство, поддерживающее этих программистов. Если возможно, OEM-производители должны использовать аппаратные предохранители qFuse, которые предотвращают откат программного обеспечения, сгорая при откате оборудования устройства, и могут предупредить пользователя о том, что это произошло. Желающие могут ознакомиться с полной исследовательской работой ниже, а также прочитать полную информацию об эксплуатации Nokia.


Источник: Исследование Алеф.