КЕЙС Как выяснили специалисты, смартфоны HTC One Max и Samsung Galaxy S5 сохраняли данные отпечатков пальцев владельцев в общем разделе файловой системы в виде незащищенного графического файла с расширением. bmp. Любому приложению, получившему на телефоне доступ к файлам и интернету, доступен и этот графический файл. Кроме того, во многих смартфонах недостаточно защищен сам датчик: вредоносная программа может перехватывать передаваемые данные
[903]. Производители выпускают патчи, закрывающие уязвимости, но нет никаких гарантий, что в следующем флагмане с новой версией операционной системы не найдутся новые «дыры». Стоит добавить, что для многих устройств, в частности под управлением операционной системы Android, обновления выпускаются в течение ограниченного срока, после чего поддержка прекращается.
Блокировка загрузчика
Механизм блокировки загрузчика реализован на всех мобильных устройствах (кроме разве что редких китайских поделок – устройства с разблокированным загрузчиком не сертифицируются Google и не допускаются к продаже законными путями). Суть блокировки (защиты) загрузчика, т. е. самого первого кода, выполняющегося при включении смартфона, в предотвращении исполнения постороннего кода. В процессе загрузки мобильной операционной системы загрузчик выполняет инструкции, которые загружают ядро системы и передают ему управление. Поскольку загрузчик запускается на смартфоне первым, именно он принимает решение о том, какой именно код будет выполняться, а какой – нет. В загрузчике проверяется целостность и аутентичность цифровой подписи ядра системы, т. е. неизменность кода ядра. Когда загрузчик заблокирован – запускается только код, предусмотренный производителем устройства (если код изменен, загрузка мобильной операционной системы прекращается), а когда разблокирован – допускается загрузка стороннего кода, например измененного системного ядра с иной цифровой подписью.
Примечание. Штатная разблокировка загрузчика в устройствах компании Apple не предусмотрена, а за эксплойтами следят разработчики. На поиск уязвимости в iOS/iPadOS могут уйти годы, а обнаруженные бреши компания Apple закрывает за пару недель.
Это не значит, что любой смартфон можно разблокировать для загрузки стороннего кода и обойти защиту, чтобы получить доступ к персональным данным. Соответствующую защиту имеют многие аппараты известных компаний, для разблокировки других требуется определенная последовательность действий или связь с компанией-разработчиком. Но время от времени встречаются уязвимости. Например, модель OnePlus 6 была выпущена с уязвимостью загрузчика, позволявшей загружать произвольный код без всякого разблокирования. Обнаруживались уязвимости и в аппаратах Motorola (в том числе модели Nexus 6, работающей на «чистом» Android) и Samsung (в частности, из-за утекшего в интернет инженерного загрузчика
[904]). Аппараты Xiaomi могут поставляться с незаблокированным загрузчиком (блокируется автоматически после установки актуальной версии прошивки, но может быть вновь разблокирован без потери данных при откате до предыдущей версии операционной системы)
[905]. Но даже если злоумышленник сможет разблокировать загрузчик – единственное, что он сможет сделать с устройством, – попытаться сбросить его к заводским настройкам и настроить заново (начиная с версии Android 5.1 устройство запрашивает данные аккаунта Google, если владелец ранее добавил такой аккаунт
[906]). Возможно, злоумышленнику удастся скопировать зашифрованный раздел, содержащий персональные данные владельца, но расшифровать его в ряде случаев будет невозможно. Система Android устроена так, что в процессе разблокирования загрузчика уничтожаются криптографические ключи, с помощью которых зашифрован раздел пользовательских данных
[907]. Но все же существуют исключения, так как для надежного шифрования пользовательских данных требуются определенные настройки и алгоритмы шифрования.
Алгоритмы шифрования
В аппаратах под управлением Android используется два алгоритма шифрования:
■ Полнодисковое шифрование (FDE).
■ Пофайловое шифрование (FBE).
Примечание. В iOS используется сложное многослойное шифрование. На уровне файловой системы используются уникальные криптографические ключи, защищающие каждый файл по отдельности (а есть еще и отдельное шифрование для некоторых категорий данных). При удалении файла соответствующий ключ удаляется, поэтому невозможно восстановить такой файл даже при физическом доступе к накопителю
[908].
В большинстве старых устройств под управлением операционной системы Android используется полнодисковое шифрование (FDE). В этом режиме данные в пользовательском разделе зашифрованы с помощью ключа шифрования, который генерируется на основе некоего аппаратного ключа и неизменной фразы «default_password». Аппаратный ключ генерируется внутри безопасной среды исполнения (TrustZone) в момент загрузки устройства; он уникален для каждого устройства и недоступен за пределами TrustZone. А вот фраза «default_password» одинакова для всех устройств с FDE без режима безопасного запуска – это очевидная уязвимость в системе защиты пользовательских данных.
TrustZone
TrustZone – это изолированная защищенная среда. Благодаря TrustZone, реализующей на устройствах принцип двух «миров» – Secure World и Normal World, на смартфонах и планшетах запускаются сразу две операционные системы: безопасная TEE (Trusted Execution Environment) OS (Secure World) и расширенная Rich OS (Normal World)
[909]. Эти операционные системы и приложения в них функционируют независимо друг от друга. Сначала загружается TEE OS, в которой запускаются специальные доверенные приложения, трастлеты, и хранятся особенно важные данные, такие как биометрические отпечатки и ключи шифрования, а затем загружается так называемая гостевая система, Rich OS, например iOS или Android. Несмотря на сложность реализации TrustZone, атаки на TEE OS вероятны: это может привести к перехвату управления устройством и несанкционированному доступу к приватной информации
[910],
[911],
[912].