Критический баг генератора случайных чисел угрожает миллиардам IoT-девайсов

Критический баг генератора случайных чисел угрожает миллиардам IoT-девайсов

Критический баг генератора случайных чисел угрожает миллиардам IoT-девайсов

В аппаратных генераторах случайных чисел обнаружена критическая уязвимость, затрагивающая миллиарды IoT-устройств. Поскольку такие генераторы не могут корректно выдать случайные числа, существует риск кибератак на «умные» устройства.

Об уязвимости рассказали специалисты компании Bishop Fox Дэн Петро и Аллан Сесил. В опубликованном отчёте исследователи описывают проблему так:

«В ходе наших тестов оказалось, что так называемые ‘’случайные’’ числа на деле оказались не такими уж рандомными, особенно когда речь идёт об IoT-устройствах. В большинстве случаев девайсы выбирают ключи шифрования уровня 0 или ещё хуже. Такой подход может привести к катастрофическим последствиям для безопасности умных устройств».

Генераторы случайных чисел являются ключевыми компонентом отдельных криптографических приложений. С их помощью, например, задаются ключи, однократно используемые числа и соли (модификатор входа хеш-функции). Однако в случае IoT-девайсов эксперты указывают на серьёзную киберугрозу, связанную с недостаточно корректной работой генераторов случайных чисел.

Проблема в том, что всё работает на SoC (system-on-a-chip — система на кристалле), которая содержит аппаратный генератор случайных чисел (TRNG). Последний используется для извлечения случайности из физических процессов или явлений.

Так вот, специалисты отметили недостаток проверок ошибок в коде, при котором случайно сгенерированные числа уже нельзя назвать рандомными. Хуже того — они предсказуемые.

 

Проблема ограничивается IoT-устройствами, поскольку у них нет надлежащих операционных систем, которые бы шли с соответствующим API для генерации случайных чисел (например, /dev/random в Unix-подобных системах или BCryptGenRandom в Windows). Тем не менее, по словам специалистов, проблему можно решить обновлением софта.

В ядре Linux нашли первую уязвимость в коде на Rust

В ядре Linux зафиксировали первую уязвимость (CVE), связанную с кодом на Rust. Об этом сообщил один из ключевых разработчиков ядра Грег Кроа-Хартман, а подробности появились в рассылке Linux. Речь идёт о проблеме под идентификатором CVE-2025-68260, которая затрагивает переписанный на Rust драйвер Android Binder.

Проблема, согласно публикации Phoronix, связана с состоянием гонки (race condition), возникающим из-за использования небезопасного Rust-кода. В определённых условиях это может привести к повреждению указателей в памяти и, как следствие, к сбою системы.

Уязвимость затрагивает версии ядра Linux 6.18 и новее, то есть те сборки, где появился Rust-драйвер Binder. Важно отметить, что речь идёт именно о потенциальном сбое в работе системы — удалённого выполнения кода или компрометации здесь нет.

Сам Грег Кроа-Хартман подчёркивает, что это первый подобный случай с момента появления Rust-кода в основном дереве ядра Linux. И хотя для кого-то новость может прозвучать тревожно, разработчики призывают не делать поспешных выводов: уязвимость не критическая, а сам факт её обнаружения — скорее показатель того, что Rust-код в ядре теперь проходит тот же путь зрелости, что и C-код десятилетиями ранее.

В сообществе также отмечают, что проблема возникла не «вопреки» Rust, а как раз из-за использования небезопасных участков, без которых в ядре пока не обойтись. Это лишний раз показывает, что Rust снижает класс рисков, но не отменяет необходимости аккуратного проектирования и ревью.

Подробности по CVE-2025-68260 уже опубликованы в официальной рассылке Linux CVE, а исправления, как ожидается, появятся в ближайших обновлениях ядра.

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