Android поддерживает полное шифрование диска (Full Disc Encryption, FDE), начиная с версии Lollipop (5.0), вышедшей летом 2014 года. Независимый исследователь Гэл Беньямини (Gal Beniamini) утверждает, что на устройствах, работающих на базе процессоров Qualcomm Snapdragon, это шифрование можно взломать, используя брутфорс и терпение.

В своем блоге Беньямини опубликовал пошаговую инструкцию, во всех деталях описав обнаруженный им метод атак.

Полное шифрование диска в Android ОС использует для шифрования данных на устройстве рендомный 128-битный ключ Device Encryption Key (DEK), который, в свою очередь, шифруется при помощи PIN-кода, пароля или графического паттерна. Так как ключ сам по себе зашифрован, считается, что хранить его непосредственно на устройстве вполне безопасно. DEK хранится внутри незашифрованной структуры crypto footer. Чтобы защититься атак Android, равно как и гаджеты Apple, не позволит бесконечно повторять попытки запуска дешифрования, а защита брутфорса реализована посредством привязки ключа к железу и модуля KeyMaster, который занимается обработкой ключей шифрования.

Обычно ключ DEK хранится в модуле KeyMaster, то есть в области TrustZone – специальном отделе ядра, который функционирует отдельно от всего остального и отвечает за работу с ключевыми и наиболее важными операциями, такими как шифрование данных. На устройствах, работающих на базе чипов Qualcomm, модуль KeyMaster расположен в Qualcomm Secure Execution Environment (QSEE) – это собственная вариация изолированного окружения от Qualcomm.

Беньямини обнаружил, что содержимое KeyMaster можно извлечь, использовав ранее известные уязвимости CVE-2015-6639 и CVE-2016-2431. Сам исследователь сумел поместить в QSEE вредоносное приложение (так называемый trustlet), повысить привилегии и полностью перехватить контроль над QSEE. Таким образом можно успешно извлечь с устройства ключ DEK, который затем предлагается вскрыть при помощи брутфорса. Эксплоит исследователь выложил на GitHub.

Для реализации брутфорса Беньямини написал небольшой скрипт на Python (всего 88 строк кода). Он позволяет расшифровать DEK и получить ключ, который пригоден для расшифровки пользовательских данных. Скрипт тоже опубликован на GitHub. К тому же исследователь рассказал изданию The Register, что с ним связался автор hashcat, и теперь они вместе работают над ускорением процесса взлома.

23

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

Хотя оба вышеупомянутых бага были исправлены в январском и майском апдейтах Google, Беньямини объясняет, что как только в модуле KeyMaster и в TrustZone обнаружат новую брешь, ту же самую схему атаки можно будет реализовать, использовав уже другие баги. Кроме того, атакующий в теории может скопировать зашифрованные данные, установить на смартфон уязвимую версию прошивки и все равно извлечь ключ, который из-за этих перемен не изменяется. Исследователь утверждает, что производителям нужно ни больше ни меньше пересматривать всю реализацию системы шифрования в целом.

24
Все этапы атаки на одной схеме

К тому же нельзя забывать о миллионах устройств, производители которых вообще не выпускают никаких обновлений. Согласно официальным данным, девайсы с Android Lollipop на борту занимают 34,4% рынка.

«Текущей схеме, по которой осуществляется шифрование данных, далеко до полной непробиваемости, —пишет Беньямини. — Ее могут сломать как злоумышленники, так и сами производители, если их к этому принудят правоохранительные органы. Надеюсь, что проливая свет на эту проблему, я смогу мотивировать своим исследованием производителей и Google объединиться, чтобы они могли сообща подумать о более стойком решении для полного шифрования диска».

Исследователи компании Duo Security уже подсчитали, что порядка 57% всех Android-устройств уязвимы для атак, описанных Беньямини. Другая половина девайсов либо получила январское и майское обновления от Google, в которых уязвимости CVE-2015-6639 и CVE-2016-2431 устранили, либо вообще не использует железо Qualcomm. Специалисты отмечают, что единственные устройства на базе Android, которые можно рекомендовать без оглядки на многочисленные проблемы с безопасностью, это Nexus и Samsung, которые исправно получают патчи от производителей.



2 комментария

  1. Ghomeless

    03.07.2016 at 10:46

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

  2. suicidedonut

    04.07.2016 at 13:52

    Ну об этом специалисты загнули Samsung выпускает только обновление на модели свыше стоимости 300$ на весь остальной ряд им плевать, вне зависимости от версии Android, ядра, и известных проблемах на устройствах.

Оставить мнение