Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

Код Kyber, скомпилированный Clang, может слить секретный ключ шифрования

В эталонной реализации механизма инкапсуляции ключей (KEM) обнаружена уязвимость, позволяющая получить секретные данные через атаку по стороннему каналу. Опасная проблема Kyber, виновником которой оказался компилятор, уже устранена.

Американский институт стандартов и технологий (NIST) собирается стандартизировать Kyber как ML-KEM, пригодный для квантово-устойчивого шифрования. Однако даже самый криптостойкий алгоритм может оказаться неэффективным, если его реализация содержит уязвимости, и такой подводный камень обнаружили в PQShield.

Выявленная уязвимость может проявиться, когда компилятор — в данном случае Clang — оптимизирует код. Как оказалось, он при этом порождает в функции poly_frommsg переход, зависящий от обрабатываемого секрета.

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

Для этого, по словам экспертов, достаточно просто измерить время, за которое совершается декапсуляция. PoC-код, созданный в PQShield для машин с архитектурой x86, успешно эксплойтит тайминг-уязвимость и позволяет получить ключ ML-KEM 512 менее чем за 10 минут.

Исследователям удалось найти противоядие, объединив усилия с командой Kyber. Ненадежное условное перемещение было реализовано как функция в отдельном файле, и Clang, встретив флаг условия, переставал модифицировать код.

Об опасной находке были извещены авторы проектов на базе Kyber, в частности, liboqs, aws-lc, pq-code-package, WolfSS, PQClean и rustpq/pqcrypto. Исследователи не исключают, что уязвимыми могут оказаться даже библиотеки, не использующие функцию poly_frommsg.

В конце прошлого года в некоторых реализациях KEM были выявлены уязвимости, тоже грозящие раскрытием криптоключей через тайминг-атаку. Им было присвоено общее имя KyberSlash.

В Android впервые показали журнал взломов и утечек данных

Google продолжает отбиваться от репутации Android как «менее защищённой» платформы по сравнению с iOS. Один из ключевых аргументов в этой борьбе — функция Intrusion Detection, а точнее её часть под названием Intrusion Logging («логирование вторжений»), которая должна помочь пользователям проверить, не был ли их смартфон взломан и не утекли ли личные данные.

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

Информация появилась благодаря реверс-инжинирингу Google Play Services версии 26.02.31. Именно там удалось обнаружить интерфейс и детали будущей функции, которая, судя по всему, готовится к запуску в Android 16.

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

 

 

В настройках Android опция Intrusion Logging появится в разделе Advanced Protection. При включении защиты устройства пользователю сразу предложат активировать сбор логов — хотя этот шаг можно и пропустить. На приветственном экране система отдельно подчёркивает, что данные защищены сквозным шифрованием.

Из описания функции стало ясно, какие именно данные будут сохраняться. В логах окажется информация о подключениях устройства, установке приложений, моментах разблокировки экрана, истории браузера и ряде других событий, которые могут быть полезны при расследовании взлома. При этом Google предусмотрела ограничение по срокам хранения: логи автоматически удаляются через 12 месяцев после загрузки в облако.

Если пользователь заподозрит, что с безопасностью смартфона что-то не так, интерфейс Intrusion Logging позволит скачать логи локально — для анализа или передачи специалистам.

Пока функция официально не запущена, и Google не называла точные сроки. Учитывая, что Intrusion Detection анонсировали ещё до выхода Android 16, ожидается, что Intrusion Logging может появиться вместе со стабильным релизом Android 16 QPR3, но гарантий на этот счёт пока нет.

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