[О блоге] [наверх] [пред] [2019-11-03 19:15:29+03:00] [775179af0407cdf7a477fed8acd20f2a9c052f42]
Темы: [crypto][hard][hate]

Сломанный RDRAND в AMD процессорах

https://arstechnica.com/gadgets/2019/10/how-a-months-old-amd-microcode-bug-destroyed-my-weekend/
Корявый микрокод AMD возвращал одно и то же значение при RDRAND вызове и
Wireguard из-за этого не работал. Автор пишет:

    I want to be very clear here, this is not a WireGuard bug! WireGuard
    correctly checks to see if RDRAND is available, fetches a value if
    it is, and correctly checks to see if the carry bit is set. Then it
    indicates that, not only is there a value, it's a properly random
    one. Nevertheless, it's a problem that will lock up affected systems
    hard.

Нет и ещё раз нет! Не согласен с автором что это не бага Wireguard.
Нехер софту заниматься добыванием рандома! Если, конечно, он это не
делает хорошо и продуманно. RDRAND ТОЛЬКО как *дополнительный* источник
энтропии может быть использован и никак иначе. Wireguard возможно для
скорости пытается определить его наличие и заюзать? Я бы негодовал от
такого поведения наивного с точки зрения ПО.

Шнайер так и пишет: https://www.schneier.com/blog/archives/2019/10/a_broken_random.html
Что всегда надо использовать хороший PRNG типа Fortuna, это просто
всегда безопаснее. *Всегда*. Или используй то, что даёт ОС или делай
сам, но нормально.

Когда я работал в ivi, то в сервере аутентификации я буквально внедрял
Fortuna PRNG с кучей самых разных источников (и их весов) энтропии.

    [оставить комментарий]