The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

Обновление GnuPG с устранением уязвимости, позволяющей восстановить закрытые RSA-ключи

26.07.2013 10:01

Представлено корректирующее обновление пакета GnuPG 1.4.14 (GNU Privacy Guard) и библиотеки Libgcrypt 1.5.3 с реализацией компонентов, лежащих в основе механизмов шифрования, применяемых в GnuPG 2.0. В указанных выпусках устранена интересная уязвимость, позволяющая восстановить содержимое закрытого RSA-ключа другого пользователя многопользовательской системы, используя особенности помещения данных в совместно используемый L3-кэш.

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

Представленная техника атаки позволяет восстановить более 98% битов закрытого ключа при проведении в системе каждого цикла дешифровки данных или формирования цифровой подписи. В отличие от ранее известных атак, представленный метод не требует привязки выполнения на одном ядре CPU шифрующего кода и кода злоумышленника, так как L3-кэш разделяется между всеми процессорными ядрами. Более того, атака может применяться и в виртуализированных окружениях, в которых злоумышленник может атаковать GnuPG-сеанс, выполняемый в другой гостевой системе.

Несмотря на то, что отдельного корректирующего обновления GnuPG 2.0 не выпущено, проблема также затрагивает ветку GnuPG 2.0.x, для пользователей которой выпущено обновление Libgcrypt 1.5.3 (в ветке GnuPG 2.0.x базовая логика шифрования вынесена в отдельную библиотеку).

  1. Главная ссылка к новости (http://permalink.gmane.org/gma...)
  2. OpenNews: Автор GnuPG прекращает передачу имущественных прав Фонду СПО
  3. OpenNews: В OpenSSL и GnuPG обнаружены серьезные уязвимости
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/37517-gnupg
Ключевые слова: gnupg, crypt
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (24) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, arisu (ok), 10:58, 26/07/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    yummy!
     
     
  • 2.19, Аноним (-), 15:28, 27/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > данных на основе методов статистического анализа.

    Офигеть!!!

     

  • 1.2, Вонни (?), 11:00, 26/07/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    АНБ со своими бэкдорами
     
     
  • 2.3, Аноним (-), 11:38, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    если бы это было абн, а не человеческий фактор, то и не сказали бы
     
     
  • 3.4, Аноним (-), 11:51, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Сделал АНБ, а сказали, что человеческий фактор
     
  • 3.5, Вонни (?), 12:05, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >> если бы это было абн, а не человеческий фактор, то и не сказали бы

    договор о неразглашении

     

  • 1.6, Аноним (-), 12:08, 26/07/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Копание в потрохах соседних процессов и контейнеров виртуализации? Фиксить нужно в ядре, как можно скорее.
     
     
  • 2.7, Аноним (-), 12:27, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    MMU не пофиксишь. Надо фиксить мозги инженеров создающих такое непотребство
     
     
  • 3.9, Аноним (-), 14:10, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    воистину.
    как и реализация SMI/SMM - лютый руткит хардварный.
    или BMC на сервачных платах.
    а очень характерные люки в IPMI ? :)
     
     
  • 4.10, Аноним (-), 14:35, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > воистину.
    > как и реализация SMI/SMM - лютый руткит хардварный.
    > или BMC на сервачных платах.
    > а очень характерные люки в IPMI ? :)

    Это же энтерпрайз, еретик! Запилить непонятную фичу в железке и потом продать её! Из-за таких как ты прогресс тормозит.

     
     
  • 5.12, Аноним (-), 17:33, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    оно посреди ТНП наличествует, при чем тут Ынтерпрайз, вертуальный ?
     
     
  • 6.16, Аноним (-), 23:05, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Ну какбэ имелось ввиду, что с энтерпрайза всё валится на ТНП
     
  • 4.22, Аноним (-), 15:39, 27/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > как и реализация SMI/SMM - лютый руткит хардварный.
    > или BMC на сервачных платах.

    Если б только на сервачных. Половина ноутов с ним тоже. И десктопные мамки от интеля были с ним, опять же. Потому что вентиляторами рулит, etc. На мамках всяких асусов и гигабайтов обычно относительно тyпой чип с PWM и датчиками, но интель же как обычно заботится об удостве пользователя. Даже если это большой брат :)


     
  • 3.17, Аноним (-), 23:44, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Можно сделать принудительную однозадачность со смывом кэша между переключениями, параллельно выполнять только треды одного процесса. Производительность окажется в заднице, зато безопасно! :3
     
     
  • 4.18, Аноним (-), 00:16, 27/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Можно... нужно...
    Необходимо запилить нормальный диспетчер памяти. Или даже лучше микрокод для MMU под конкретную систему.
     
     
  • 5.21, Аноним (-), 15:38, 27/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Необходимо запилить нормальный диспетчер памяти. Или даже лучше микрокод для MMU под
    > конкретную систему.

    Ага, и зонд АНБшный прямо в микрокод запихать :)

     
     
  • 6.23, arisu (ok), 15:55, 27/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > Ага, и зонд АНБшный прямо в микрокод запихать :)

    да оно уже там, потому и не пускают: чтобы ламер Вася всё не поломал ненароком.

     

  • 1.8, Аноним (-), 12:49, 26/07/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это как же надо через L3 атаку провернуть?
     
     
  • 2.11, Аноним (-), 14:41, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Несколько байтов кода в ring0
     

  • 1.13, Xasd (ok), 17:51, 26/07/2013 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    а это точно уязвимость в GPG а не в процессоре?
     
     
  • 2.14, Andrew Kolchoogin (ok), 18:12, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    Формально -- да, в архитектуре MMU. Но зафиксить можно и на софтварном уровне. Так, к примеру, в ядрах старых операционок фиксили взвис от F0-0F-C7-C8.
     
     
  • 3.15, Xasd (ok), 18:52, 26/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    а если так -- то почему это нужно фиксить в прикладной программе, а не в ядре операционной системы?

    нет возможности исправить это в операционной системе?
    или разработчик GPG решил на всякий случай исправить и у себя тоже на случай если это вдруг не исправляет ядро?

    (спрашиваю потому что до конца не понял как эксплуатируется эта уязвимость)

    # UPDATED

    вопрос снимаю. атака на основе статистического анализа времени -- думаю  не будут такое фиксить в ядре :)

     
     
  • 4.20, Аноним (-), 15:35, 27/07/2013 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > а если так -- то почему это нужно фиксить в прикладной программе,

    Да, ведванольщики/питонщики/прочие думать головой не лю. За них подумает ЯП, фреймворк и прочая. Поэтому такие только и могут что делать супер-пупер сервисы с мегашифрованием на JS или каком там еще скриптошите. Ни разу не парясь фактическим знанием предмета.

    А оказывается - обана, это вполне себе рокетсайнс где вот такой небольшой промах при должной квалификации атакующего может иметь очень интересные последствия. Да, парни, криптография - это не написание очередной веселой фермы. Там надо понимать как работает алгоритм, как это будет происходить по факту в железе, какие потенциальные проблемы могут быть и прочая. А для этого надо всего ничего - понимать самую малость как, собственно, компьютеры работают. А не уповать что за вас умный фреймворк подумает. В таких случаях - нифига за криптографа думать никто не будет. Больно уж требования специфичные.

     
     
  • 5.24, Xasd (ok), 22:29, 28/07/2013 [^] [^^] [^^^] [ответить]  
  • +/
    > при должной квалификации атакующего может иметь очень интересные последствия

    ...и при присутсвии себя вторым пользователем на этом компьютере.. и при этом ни какие другие программы (и пользователи) не должны проявлять активность.

    да! тайминг-атаки они такие! тут одной только квалификации мало -- а нужно ещё чтобы Луны Юпитера приняли нужное положение.

    > А для этого надо всего ничего - понимать самую малость как, собственно, компьютеры работают. А не уповать что за вас умный фреймворк подумает. В таких случаях - нифига за криптографа думать никто не будет.

    пока вы там ноете о том какая это сложная наука, криптография -- в это время люди сидят себе и делают програмы, используя умные фреймворки, не разводя соплей :)

     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру