Исследователи нашли изъян в защите хранилища криптоключей Android

Исследователи нашли изъян в защите хранилища криптоключей Android

Исследователи нашли изъян в защите хранилища криптоключей Android

В схеме шифрования KeyStore, средства хранения криптографических ключей Android, обнаружен существенный изъян. В опубликованной на минувшей неделе работе специалисты из исследовательского подразделения телекоммуникационной компании Orange обсуждают метод, которым могут воспользоваться злоумышленники, чтобы ослабить защиту данных.

KeyStore основан на библиотеке OpenSSL и позволяет приложениям для Android сохранять и генерировать свои собственные криптографические ключи. Проблема связана с тем, что он использует метод хеширование-перед-шифрованием (hash-then-encrypt или HtE) схемы аутентификационного шифрования в режиме сцепления блоков шифротектса (CBC). Исследователи утверждают, что такая схема не гарантирует целостность ключей и позволяет злоумышленникам провести фальсификационную (forgery) атаку, пишет xakep.ru.

«К несчастью, разработчики систем по-прежнему склонны выбирать не те криптографические схемы, безопасность которых доказана, а те, которые кажутся более простыми, — пишут авторы работы. — Мы в который раз демонстрируем, что такой выбор неудачен и обычно ведёт к серьёзным последствиям для всей системы».

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

Для проведения атаки на устройстве жертвы должно быть установлено вредоносное приложение, имеющее разрешения на чтение и запись в директории KeyStore. После этого оно может, к примеру, сократить длину ключей HMAC с 256 до 32 разрядов. Защиту, основанную на таких слабых ключах, не составлит труда сломать.

В теории, Android ограничивает доступ к директории KeyStore, однако при желании любое ограничение можно обойти. Исследователи видят два основных способа: вредоносное приложение может либо воспользоваться одной из уязвимостей, допускающих исполнение произвольного кода, либо каким-то образом поднять свои привилегии до уровня администратора или даже ядра.

Это не теоретические рассуждения. В опубликованной ими работе описана успешная атака такого типа, которую исследователям удалось провернуть под одной из свежих сборок Android — android-6.0.1_r22. Авторы работы полагают, что это первая атака против KeyStore, использующая криптоанализ.

Исследователи ещё в январе предоставили информацию о найденном ими метода атаки разработчикам Android в Google. Гугловские специалисты по безопасности признали, что защита KeyStore оставляет желать лучшего, и заверили, что в будущем схему шифрования изменят, но этим всё и ограничилось. Когда произойдут обещанные изменения, исследователи не знают.

Почему не стоит входить с помощью Google в важные аккаунты

Кнопка «Войти с аккаунтом Google» долго казалась удобным решением, ибо не нужно придумывать новый пароль, заполнять профиль и помнить ещё одни учётные данные. Но у такого удобства есть обратная сторона. Главный риск — зависимость от одного аккаунта.

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

Это может быть что угодно: рабочие инструменты, доставка еды, такси, умный дом, сервисы ИИ, приложения для путешествий или финансов.

Есть и вопрос безопасности. Современные фишинговые атаки умеют подделывать страницу входа Google и перехватывать не только пароль, но и сессионные токены.

В таком случае злоумышленник может получить доступ к аккаунту даже при включённой двухфакторной аутентификации. Чем чаще пользователь входит в разные сервисы через всплывающие окна Google, тем выше риск попасть на такую подделку.

Ещё один минус — недостаток конфиденциальности. Когда разные сервисы привязаны к одному Google-аккаунту, компания получает более цельную картину цифровой активности пользователя: какие приложения он использует, как часто и в каких сценариях. Даже если данные обрабатываются в агрегированном виде, это всё равно расширяет цифровой след.

Более безопасная альтернатива — создавать отдельные учётные записи для важных сервисов и хранить пароли в менеджере паролей. Это менее удобно на старте, зато снижает риск единой точки отказа. Если один аккаунт будет скомпрометирован или заблокирован, остальные не посыплются вслед за ним.

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

RSS: Новости на портале Anti-Malware.ru