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

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

Хакеры спрятали вредонос в обновлении ПО для дронов Quantum Systems

Неизвестные киберпреступники взломали корпоративную сеть немецкого производителя беспилотников Quantum Systems и разместили вредоносную программу на сервере обновлений компании. Код был замаскирован под обычное обновление Qbase, программы для планирования полетов.

В октябре командование Бундесвера на время приостановило полеты всех беспилотников компании. О кибератаке сообщил Der Spiegel.

Их используют украинские военные, а в Бундесвере они стоят на вооружении под названием Falke. По данным Spiegel, вредоносное обновление попало на серверы Бундесвера и других заказчиков, но до самих дронов не дошло. Его обнаружили при плановой проверке.

Расследованием занимаются Служба военной контрразведки Бундесвера, Федеральное ведомство по охране конституции и Федеральное ведомство по информационной безопасности. Кто стоит за атакой, пока не установлено.

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

По словам представителей Quantum Systems, эксплуатация беспилотников не несет рисков для пользователей. Компания считает, что стала целью именно из-за значимости своей работы для безопасности заказчиков.

Handelsblatt со ссылкой на компанию пишет, что запрет полетов действовал в Германии, а за ее пределами дроны продолжали работать в обычном режиме. Министерство обороны ФРГ обсуждать готовность техники отказалось.

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