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

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



On Tue, 18 Dec 2018 13:30:06 +0300
Artem Chuprina <ran@lasgalen.net> wrote:

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

Ага щаз, так уж в эпоху управляемых свитчей и полетит что-нибудь
мимо сетевки, что этому хосту не адресовано. ARP-запросы разве что. Но
много ли их в типичной серверной стойке?

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

Интересная идея. Может такую утилитку написать и запускать из post-up
в /etc/network/interfaces?

Только стартовый адрес надо конфигурируемым сделать. А то вдруг из
этого датацентра нет роутинга до 8.8.8.8.

--  


Reply to: