Критичная уязвимость позволяет обойти шифрование диска в Android (FDE)

Критичная уязвимость позволяет обойти шифрование диска в Android (FDE)

Исследователи обнаружили уязвимость критического уровня, которая затрагивает большинство Android-устройств и позволяет злоумышленнику обойти полное шифрование устройства (Full Device Encryption). Эта функция была реализована в Android 5.0.

Об этой уязвимости (CVE-2016-2431) сообщалось еще в октябре 2015 года, однако Google исправила ее только в мае 2016. Проблема заключается в среде безопасного выполнения Qualcomm (Qualcomm Secure Execution Environment). Эту проблему обнаружил Gal Beniamini, независимый израильский исследователь, ранее подробно описавший уязвимость в компоненте Widevine QSEE TrustZone в Android (CVE-2015-6639), которая была закрыта Google в январе.

Как сообщил в мае 2016 Google, уязвимость CVE-2016-2431, затрагивая компонент Qualcomm TrustZone, может позволить вредоносным приложениям выполнить произвольный код в контексте ядра TrustZone. Дальнейшие подробности компанией не раскрываются, однако, Beniamini на прошлой неделе показал, что эта ошибка может быть использована для того, чтобы вывести из строя систему полного шифрования диска в Android (FDE).

Если описывать вкратце, то FDE работает следующим образом: устройство генерирует случайным образом выбранный 128-битный мастер-ключ (the Device Encryption Key - DEK) и так же случайным образом выбранный 128-битный модификатор и защищает DEK, используя при этом сложную схему формирования ключа. Зашифрованный DEK затем хранится на устройстве внутри незашифрованной структуры.

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

Модуль, обеспечивающий аппаратную связь называется KeyMaster и он работает на Android-устройствах на базе чипсета Qualcomm. Используя реверс-инжиниринг (обратная разработка, reverse engineering), Beniamini обнаружил, что формирование ключа не связано с аппаратной начинкой и производители устройств могут фактически нарушить работу полного шифрования диска.

Он также отмечает, что шифрование диска в Android напрямую зависит от модуля KeyMaster и компонента TrustZone kernel и что уязвимость может быть использована даже на устройствах с соответствующим патчем, так как злоумышленник может понизить устройство до уязвимой версии, имея зашифрованный образ диска. После этого, злоумышленник может извлечь ключ, используя TrustZone.

«Функция полного шифрования диска используется многими людьми по всему миру и иногда позволяет обеспечить конфиденциальность личных данных пользователей. Именно поэтому я считаю, что схема шифрования должна быть разработана непробиваемой настолько, насколько это возможно, против всех типов атак. Как мы уже убедились, текущая схема шифрования далека от понятия «непробиваемый», и может быть взломана злоумышленником или даже самим производителем устройства (если их принудят правоохранительные органы)» - утверждает Beniamini.

Также не стоит забывать, что процессоры Qualcomm установлены приблизительно на 80% Android-устройствах, а это значит, что большинство из них уязвимы для атаки. Однако Duo Security утверждает, что уязвимы только 57% всех Android- устройств, потому что в самых популярных из них быстро закрыли эту брешь.

Согласно исследователям Duo Security, Samsung обновили свои устройства, такие как Galaxy S6 (75% из которых было обновлено по состоянию на май 2016) и Galaxy S5 (45% соответственно). По состоянию на январь, 60% всех Android-устройств были признаны уязвимыми к CVE-2015-6639.

Владельцам Nexus 5X и Nexus 5P волноваться не стоит – их устройств эта уязвимость не касается, однако остальные устройства Nexus уязвимы. Кроме того, тот факт, что злоумышленник может понизить устройства до версии, восприимчивой к атаке, а затем использовать эту уязвимость позволяет предположить, что число пострадавших устройств может быть значительно выше.

Другие компоненты Android на Qualcomm также были признанными уязвимыми к разного рода атакам и Google в июне сосредоточилась на исправлении многочисленных проблем в драйверах. Тем не менее, производители все еще отстают с выпуском патчей для своих продуктов, а пользователи не спешат обновлять свои устройства, что приводит к тому, что подавляющие 75% Android-устройств не имеют последних обновлений безопасности.