Исследователи нашли изъян в защите хранилища криптоключей 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 оставляет желать лучшего, и заверили, что в будущем схему шифрования изменят, но этим всё и ограничилось. Когда произойдут обещанные изменения, исследователи не знают.