Код 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.

Let's Encrypt может отказать МАКС в TLS-сертификате из-за санкций

У российского мессенджера МАКС назревает новая техническая проблема. На форуме сообщества Let's Encrypt развернулась дискуссия о том, может ли сервис продолжать выдавать TLS-сертификаты для официального сайта проекта. Поводом стали санкции США.

Представитель Let's Encrypt напомнил, что домен связан с компанией «Коммуникационная платформа», которая фигурирует в американских санкционных списках.

А поскольку Let's Encrypt работает под юрисдикцией США, организация обязана соблюдать соответствующие ограничения.

«Let's Encrypt находится под юрисдикцией США, поэтому не может выдавать сертификаты организациям, находящимся под санкциями», — говорится в комментарии представителя удостоверяющего центра.

Ситуация выглядит особенно любопытно на фоне того, что МАКС уже менял поставщика сертификатов. Ранее сайт использовал сертификат японского удостоверяющего центра GlobalSign, однако затем перешёл на Let's Encrypt.

Пока никаких официальных заявлений об отзыве сертификата нет. Более того, действующий сертификат сайта МАКС остаётся активным до 4 сентября. Однако сама позиция Let's Encrypt намекает, что в будущем у владельцев ресурса могут возникнуть сложности с продлением.

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

Пока сайт МАКС работает в штатном режиме. Но если международные центры сертификации окончательно закроют двери для российских проектов под санкциями, вопрос доверенных TLS-сертификатов может стать для них не менее важным, чем разработка самого сервиса.

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