[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: linux /dev/random initialization CVE-2018-1108



Victor Wagner -> Artem Chuprina  @ Tue, 18 Dec 2018 12:52:11 +0300:

 >> Как интересно... Хотя, если по уму, то urandom'у бы тоже сначала
 >> набрать энтропию, и только потом уже раскручивать псевдорандомизацию.
 >> А прикапывать ее между перезагрузками чревато тем же боком. Так-то
 >> считается, что urandom — псевдослучайный, но с криптографическим
 >> качеством. А значит, должен иметь в виду криптографическую модель
 >> угроз.

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

 > Но она не может стартовать ни одного сетевого сервиса, не набрав
 > достаточно энтропии хотя бы для urandom, потому что все сервисы нынче
 > хотят какие-нибудь эфемерные ключи. А следовательно - и проявить хоть
 > какую-то сетевую активность, равно и локальный ввод-вывод. Поскольку
 > клиентов нет, а любая имитация нагрузки будет все равно иметь проблемы
 > со своей случайностью.

Отчасти да. Но энтропию оно набирает, сколь я помню, не только с сетевых
запросов к себе, но и вообще со всего, что пролетает мимо сетевки.

А сетевую активность без проблем со случайностью можно сделать,
например, так: взять совсем уже псевдослучайное число, например,
8.8.8.8, пингануть его, таймингом ответа зарядить обычный дешевый PRNG,
который не криптографического качества, а дальше в параллель попинговать
его следующие значения, периодически подмешивая тайминги ответов. С
этого ядро наберет уже вполне вменяемую энтропию.


Reply to: