Неприкосновенность генератора случайных чисел dev/random, встроенного в ядро Linux, более чем на месяц стала поистине больным вопросом. Петиция, опубликованная в сентябре на change.org, призывающая удалить инструкцию RdRand для генерации случайного числа при помощи dev/random, была встречена в штыки, например, Линусом Торвальдсом. Он назвал инициатора проекта, опубликовавшего петицию, «невежественным», предложив ему в весьма неделикатных выражениях подучиться криптографии.

На данный момент многие исследователи из университета Нью-Йорка и Северо-Восточного университета ставят под сомнение две реализации ГПСЧ в Linux — dev/random и dev/urandom. В статье «Анализ безопасности генератора псевдослучайных чисел путем внедрения /dev/random показал его ненадежность» («Security Analysis of Pseudo-Random Number Generators with Input: /dev/random is Not Robust»), опубликованной в середине октября, исследователи объясняют проведение атак на ГПСЧ в Linux демонстрацией слабых мест в соответствующих алгоритмах, а также предлагают свой вариант ГПСЧ, более простой и эффективный.

«В ходе нескольких атак мы показали, что эти ГПСЧ, в соответствии с нашим определением, неустойчивы, а значит, не накапливают энтропию должным образом. Атаки становятся возможны вследствие уязвимости в счетчике энтропии и функции внутреннего перемешивания в ГПСЧ в Linux, — отмечают исследователи в своей статье. — Эти атаки, направленные против ГПСЧ в Linux, показали, что он не удовлетворяет понятию неуязвимости в области безопасности, но остается неясно, приводят ли эти атаки к фактической уязвимости на практике».

Это не первый случай, когда надежность аппаратных средств безопасности ставится под сомнение. Совсем недавно группа исследователей разместила вредоносное ПО при помощи чипа, и, несмотря на наличие механизмов обнаружения, чип остался нераспознанным. Это было сделано путем изменения полярности в легирующей примеси транзисторов, проводка и другие элементы схемы (примесь добавляется в полупроводники и позволяет им проводить электричество) не были при этом затронуты.

Атаки на ГПСЧ, направленные против dev/random, оспаривают случайность генерируемых чисел и предполагают возможность манипулирования ГПСЧ, чтобы третья сторона могла угадать или получить ключ. Аналогичное подозрение заставило RSA Security открыть свои карты в отношении алгоритма Dual EC DRBG. RSA рекомендовала разработчикам отказаться от использования генератора случайных чисел, опасаясь, что это может некоторым образом поставить их под угрозу со стороны спецслужб. Рекомендация RSA появилась буквально вслед за сходным сообщением от NIST (The National Institute of Standards and Technology). Уточним, что Dual EC DRBG — это дефолтный генератор случайных чисел для некоторых продуктов RSA, в том числе для криптобиблиотек BSAFE и пакета программ по управлению ключами RSA Data Protection Manager.

Несмотря на то что нет непосредственных причин опасаться взлома ГПСЧ dev/random в Linux, исследователи тщательно анализируют поведение счетчика энтропии и функции перемешивания, применяемых для обновления их внутреннего состояния, сообщается в статье.

«Мы показали уязвимость в счетчике энтропии при его применении в процессе передачи данных между накопителями в ГПСЧ в Linux», — отмечается в документе. В результате, в соответствии с рекомендацией исследователей, при оценке функций ГПСЧ не следует полагаться на такие из них, как счетчик энтропии.

Категории: Уязвимости