В процессорах AMD Zen 5 обнаружен сбой генератора случайных чисел Обложка: Skyread

В процессорах AMD Zen 5 обнаружен сбой генератора случайных чисел

Новости
Главное:

  • В процессорах AMD на базе микроархитектуры Zen 5 инструкция RDSEED в 10% случаев возвращает значение 0 с признаком успешного выполнения.
  • Эта ошибка затрагивает аппаратный генератор случайных чисел, однако не влияет на общую стойкость генератора случайных чисел в ядре Linux.
  • Для устранения проблемы в Linux предложен патч, отключающий использование RDSEED на процессорах AMD Zen 5.

Исследователь Грегори Прайс выявил нестандартное поведение инструкции RDSEED в некоторых процессорах AMD с микроархитектурой Zen 5. Данная инструкция служит для извлечения случайных чисел из аппаратного генератора энтропии. В тестах было обнаружено, что в около 10% случаев RDSEED возвращает значение 0 при установленном флаге успешного выполнения операции (CF=1), что является необычным, так как нулевой результат обычно означает, что корректное случайное число получить не удалось, и в таких случаях CF должен быть равен 0.

Прайс предположил наличие ошибки в части логики определения состояния операции в некоторых экземплярах процессоров AMD Zen 5. Несмотря на это, в ядре Linux RDSEED используется лишь как один из источников энтропии для программного генератора псевдослучайных чисел, и присутствуют другие источники энтропии, что минимизирует влияние выявленной проблемы на общее качество генерируемых случайных чисел.

В ответ на эту ситуацию разработчики ядра Linux подготовили патч, который отключает применение инструкции RDSEED на системах с процессорами AMD Zen 5. Первоначально проблема была обнаружена на процессорах AMD EPYC Turin, однако впоследствии аналогичное поведение было зафиксировано и на других моделях с той же микроархитектурой. В связи с этим обсуждается вопрос о полном прекращении использования RDSEED на всех процессорах семейства AMD Zen 5.

Стоит отметить, что тестирование RDSEED проводилось также в контексте расследования другой ошибки, ранее выявленной в процессорах Zen 2 Cyan Skillfish, связанной с возвращением значения 0xffffffff. Ранее у AMD также фиксировались проблемы с похожей инструкцией RDRAND, вызывавшие сбои после выхода из спящего режима.

Tagged