Крипрографическая библиотека Libgcrypt уязвима к локальной атаке по сторонним каналам (side-channel attack), что по словам исследователей может позволить злоумышленникам восстановить ключи RSA-1024.

Библиотека Libgcrypt изначально создавалась как модуль свободной программы для шифрования GnuPG, но сейчас применяется и в других инструментах Уязвимость CVE-2017-7526 связана с тем, что в библиотеке используется алгоритм дискретного возведения в степень методом скользящего окна слева направо.

Исследование, описывающее уязвимость (Sliding right into disaster: Left-to-right sliding windows leak), было опубликовано еще неделю назад. Но патчи для некоторых дистрибутивов Linux появились только в начале этой недели.

Авторы этого исследования — восемь ученых из пяти различных институтов: одного нидерландского (Технического университета Эйндховена), трех американских (Иллинойсского, Пенсильвансккого и Мерилендского) а также одного австралийского (Аделаидского университета). Исследователи планируют представить отчет о своих находках на конференции CHES (Conference on Cryptographic Hardware and Embedded Systems), которая пройдет на Тайване в сентябре этого года.

Ученые утверждают, что применение алгоритма скользящего окна для дискретного возведения в степень потенциально может привести к утечке информации при проведении атаки по сторонним каналам. Долгое время считалось, что тех битов, которые могут утечь таким образом, недостаточно для полного восстановления RSA-ключа, но по мнению исследователей то, как в библиотеке Libgcrypt реализовано скольжение слева направо «раскрывает значительно больше данных чем если бы было реализовано скольжение справа налево».

Исследовали атаковали функцию возведения в степень, реализованную в Libgcrypt, методом Flush+Reload, при котором отслеживается доступ к данным в кеше. Это позволило им полностью восстановить ключи шифрования, подобрав, таким образом, закрытый ключ RSA-1024.

Ученые считают, что их метод может быть усовершенствован так, что позволит восстанавливать и ключи RSA-2048. Разумеется, на это будет тратиться больше времени и вычислительных ресурсов. В нынешнем же виде, при атаке на RSA-2048 метод оказывается эффективным только в 13% случаев.

Исследователи работали с библиотекой версии 1.7.6. Версия 1.7.7 была выпущена без заплатки, позволяющей решить эту проблему. Похоже, что создатели Libgcrypt наконец-то пришли к необходимости закрытия уязвимости только в версии 1.7.8.

Вернер Кох, автор и основной разработчик GnuPG, в прошлый четверг объявил, что проект GnuPG решит проблемы с уязвимостью CVE-2017-7526 в патче 1.7.8.

«Обратите внимание, что атака по сторонним каналам подразумевает, что атакующий может запускать произвольное ПО на том же оборудовании, где используются закрытые ключи RSA», написал Кох, «возможность доступа к машине с закрытыми ключами, в любом случае следует считать исключительно искусственными условиями. На практике это дает возможность применять гораздо более простые способы, чем атака по сторонним каналам. Однако, на системах с виртуальными машинами этот способ позволит одной виртуалке получить доступ к приватным ключам с другой».

Создатели SUSE Linux выпустили закрывающий эту уязвимость патч для версий 1.6.1, 1.5.0 и 1.2.2, еще в прошлую пятницу. Разработчики системы Debian предложили пользователям проапгрейдить программные пакеты libgcrypt20 в воскресенье. Марк Делорье, специалист по защите информации из Ubuntu, предупредил поклонников этой ОС об угрозе и предложил скачать обновление 1.7.6-1ubuntu0.1 в понедельник. Авторы GnuPG выпустили свое обновление библиотеки, позволяющее справиться с возможными атаками, еще на прошлой неделе.

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