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

Уязвимость содержится в генераторе случайных чисел Libgcrypt — она позволяет атакующему, который получил 4640 битов из генератора легко предсказать следующие 160 бит его вывода. Это открывает возможность для взлома ключей шифрования. Ошибка присутствует в Libgcrypt и GnuPG версий, выпущенных до 17 августа 2016 года, для всех платформ. Как указано в сообщении GnuPG 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 разных ключей могут совпадать.
Поделиться с друзьями
-->

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


  1. vilgeforce
    18.08.2016 13:00

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


    1. grossws
      18.08.2016 20:57

      PGP/GPG key ID — это кусок fingerprint'а ключа. Short ID — последние 4 байта в hex, long ID — последние 8 байт. Для автоматизированного получения ключей необходимо использовать полные fingerprint'ы.


      1. kay
        18.08.2016 22:29

        Если используются sub keys, то получить из полный fingerprint можно командой: gpg --fingerprint --fingerprint


  1. mxms
    18.08.2016 18:19
    +3

    Ошибка была обнаружена экспертами Технологического института немецкого города Карлсруэ Феликс Дёрре (Felix Dorre) и Владимир Клебанов

    Обнаружена (кем? чем?) — Феликсом Дёрре и Владимиром Клебановым.


  1. grossws
    18.08.2016 20:54
    +1

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

    Про проблему известно 5 лет: http://www.asheesh.org/note/debian/short-key-ids-are-bad-news.html. И прекрасная статья на эту же тему http://gwolf.org/node/4070.


    Другое дело, что большинство до сих пор не чешется. И использует короткие fpr.