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

Подпишитесь на новости

GlobalSign готовит новый отзыв сертификатов у российских сайтов

GlobalSign уведомил «Руцентр» о новой волне отзыва SSL/TLS-сертификатов российских организаций. Речь идёт о десятках сертификатов, в том числе компаний из последнего санкционного списка ЕС. Для бизнеса это риск внезапно получить ошибки соединения на работающем сайте.

Как сообщает РБК, об уведомлении рассказал представитель «Руцентра» Георгий Казаров.

По его данным, зарубежные удостоверяющие центры уже отозвали 11 тыс. сертификатов у 1,3 тыс. российских организаций. На GlobalSign пришлось 4830 сертификатов, на греческий HARICA — 3456.

Смена поставщика тоже не гарантирует ничего. По словам Казарова, некоторые компании после GlobalSign перешли к HARICA, но затем столкнулись с отзывом и там. Иногда сертификаты отзывали за считаные секунды, и времени на замену практически не оставалось.

Последствия все давно известны: браузер может показать предупреждение или заблокировать соединение, а клиентские и внутренние сервисы — перестать работать.

В «Руцентре» говорят и об ошибочных отзывах. Некоторые сертификаты удаётся исключить из списков после переговоров с удостоверяющими центрами. Но рассчитывать на такой исход заранее владельцам сайтов не приходится.

Комментарий Яндекс Браузера:

«Важно, чтобы у пользователей сохранялся стабильный доступ к российским цифровым сервисам. Расширение использования сертификатов НУЦ Минцифры — один из способов обеспечить такой доступ. При этом уже сегодня есть удобные решения: например, Яндекс Браузер поддерживает отечественные сертификаты, позволяя получать доступ к сайтам без дополнительных настроек. Востребованность такой возможности подтверждается в том числе и ростом аудитории Браузера. Пользователи других браузеров также могут установить сертификаты в операционную систему самостоятельно, если это необходимо.

Помимо поддержки сертификатов, важны дополнительные механизмы безопасности. Например, Яндекс Браузер проверяет, зарегистрирован ли сертификат сайта в публичных журналах Certificate Transparency (CT), которые позволяют отслеживать выпуск сертификатов и выявлять нарушения требований безопасности. Если сертификат не проходит необходимые проверки, Браузер блокирует соединение и предупреждает пользователя, не позволяя ему перейти на потенциально небезопасный сайт».

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