На официальных форумах проекта Raspberry Pi появилось сообщение от пользователя oittaa. Он рассказывает о баге, которому подвержены некоторые устройства Raspberry. Генератор случайных чисел в Raspbian не включен по умолчанию, что приводит к генерации предсказуемых SSH-ключей при первом запуске. Исследователь пишет, что проблема должна затрагивать системы, которые не могут воспользоваться /dev/urandom до генерации SSH-ключа.
«Аппаратный генератор случайных чисел в Raspbian по умолчанию отключен. Из-за этого при первом запуске генерируется предсказуемый SSH-ключ хоста. Во время запуска системы, systemd-random-seed пытается заполнить /dev/urandom, но библиотека /var/lib/systemd/random-seed отсутствует, так как еще не была создана. Исполняется /etc/rc2.d/S01regenerate_ssh_host_keys, но пул /dev/urandom содержит недостаточно "хаоса", поэтому созданный SSH-ключ будет предсказуем», — пишет oittaa.
Платформа Raspbian, построенная на базе Debian, использует функцию dev/urandom для генерации случайных чисел, точно так же, как это происходит в Linux. Эта функция не должна зависеть от энтропии данных пользователя, именно это отличает её от dev/random, которая генерирует случайные числа, опираясь на энтропию созданную пользователем.
Очевидно, в случае Raspbian функции /dev/urandom не хватает энтропии, так как платформа пытается создать SSH-ключ хоста при первом запуске, и последовательность не срабатывает. В итоге платформа создает предсказуемую последовательность, что делает SSH-ключ менее защищенным.
Судя по всему, разработчики Raspbian уже знают о проблеме и работают над ее исправлением. По словам одного из модераторов, скорее всего, уже следующий образ будет содержать патч. Как только выйдет апдейт, всем пользователям Raspbian настоятельно рекомендуют обновиться.
Данную уязвимость анализировали в закрытом режиме, так что вряд ли стоит ожидать публикации деталей о проблеме.
Фото: Gareth Halfacree