В библиотеке шифрования Libgcrypt обнаружена критическая уязвимость, существовавшая 19 лет

1442a4ce31c6427781ab07b5742d11e0.png

Команда GnuPG Project опубликовала сообщение о том, что в популярной библиотеке Libgcrypt содержится критическая уязвимость. Ошибка была обнаружена экспертами Технологического института немецкого города Карлсруэ Феликс Дёрре (Felix Dörre) и Владимир Клебанов.

Уязвимость содержится в генераторе случайных чисел Libgcrypt — она позволяет атакующему, который получил 4640 битов из генератора легко предсказать следующие 160 бит его вывода. Это открывает возможность для взлома ключей шифрования. Ошибка присутствует в Libgcrypt и GnuPG версий, выпущенных до 17 августа 2016 года, для всех платформ. Как указано в сообщении GnyPG Project, этот баг существует с 1998 года.

В сообщении также говорится о том, что первоначальный анализ позволил подтвердить криптостойкость ранее созданных RSA-ключей. Что касается ключей Elgamal и DSA, то «кажется маловероятным, что частный ключ можно предсказать на основе публичной информации». Авторы сообщения призывают пользователей сохранять спокойствие и не торопиться отзывать свои ключи.

Как защититься


В том случае, если пользователь работает с версией GnuPG или Libgcrypt от определенного вендора, ему следует дождаться соответствующего обновления безопасности, выпущенного компанией.

Если же используется GnuPG-2 версий 2.0.x или 2.1.x, то следует обновить Libgcrypt — разработчики уже выпустили исправленные версии библиотеки 1.7.3, 1.6.6 и 1.5.6. При использовании GnuPG-1 версии 1.4.x необходимо обновиться до версии GnuPG 1.4.21.

Для проверки того, что загруженная версия является оригинальной и не модифицирована, необходимо следовать инструкциям со специальной страницы.

Вкратце, сделать это можно двумя способами. Первый из них заключается в проверке подписи OpenPGP. К примеру, для проверки подписи файла libgcrypt-1.7.4.tar.bz2 можно использовать такую команду, которая проверяет соответствие подписи исходному файлу:

gpg --verify libgcrypt-1.7.4.tar.bz2.sig libgcrypt-1.7.4.tar.bz2

Если проверка пройдена успешна, появится соответствующее сообщение.

В тех случаях, когда использование GnuPG невозможно, следует проверить контрольную сумму SHA-1:

sha1sum libgcrypt-1.7.3.tar.bz2

Вывод должен совпать с первой строкой списка:
5a034291e7248592605db448481478e6c963aa9c  libgcrypt-1.7.3.tar.bz2
a05cba7037e6cbc68dcf3ea5b45f703b79fa234f  libgcrypt-1.7.3.tar.gz
ad79fd0b6963e1049612aa5d98e1a0b8eb775701  libgcrypt-1.6.6.tar.bz2
d11b6ca1d55eb12f5d3091a5169d874806007130  libgcrypt-1.6.6.tar.gz
62eade7cd3545efee1a87512d54f69151abbae47  libgcrypt-1.5.6.tar.bz2
8d3f55cce21e17f21d0c991cccf6bf52ec244353  libgcrypt-1.5.6.tar.gz
e3bdb585026f752ae91360f45c28e76e4a15d338  gnupg-1.4.21.tar.bz2
97bfba0e4db7cb1a3458f73240481767cb7fe90e  gnupg-1.4.21.tar.gz

Кроме того, недавно стало известно о том, что неизвестным удалось подделать PGP-ключи создателя Linux Линуса Торвальдса и ключевых разработчиков TOR. Для этого они использовали «клоны» коротких идентификаторов ключей PGP — как известно такие short-ID разных ключей могут совпадать.

Комментарии (1)

  • 18 августа 2016 в 13:00

    0

    А счастье было так близко…
    ID ключа, если я ничего не путаю — единственный DWORD, который меняется на раз…

© Habrahabr.ru