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



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

    Уязвимость содержится в генераторе случайных чисел 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 разных ключей могут совпадать.
    • +23
    • 13,1k
    • 5
    Positive Technologies 302,61
    Компания
    Поделиться публикацией
    Комментарии 5
    • 0
      А счастье было так близко…
      ID ключа, если я ничего не путаю — единственный DWORD, который меняется на раз…
      • 0

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

        • 0

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

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

        Обнаружена (кем? чем?) — Феликсом Дёрре и Владимиром Клебановым.
        • +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.

          Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

          Самое читаемое