The OpenNET Project / Index page

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

Представлена техника атаки для определения ключей ECDSA и DSA

15.06.2018 13:00

Исследователи из компании NCC Group разработали новый метод атаки по сторонним каналам (CVE-2018-0495, PDF), позволяющий воссоздать применяемые для создания цифровых подписей закрытые ключи ECDSA и DSA, используя технику извлечения информации из процессорного кэша для оценки изменения задержки при выполнении вычислений.

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

Для успешного воссоздания 256-разрядного закрытого ключа ECDSA достаточно наблюдения за созданием нескольких тысяч цифровых подписей (например, можно анализировать работу во время установки TLS или SSH соединений с использованием ECDSA). Рабочий прототип эксплота предоставлен для OpenSSL. Для защиты от атаки предлагается использовать в процессе математических вычислений дополнительное случайное число, на которое выполняется умножение секретного параметра, а затем инвертируется результат.

Наибольшую опасность уязвимость представляет для систем виртуализации, в которых атакующий потенциально может определить серверный SSH-ключ или закрытые ключи TLS, применяемые в другой виртуальной машине. Но в реальных условиях атака достаточно трудна в проведении и её успешность зависит от множества сопуствующих факторов, таких как необходимость привязки виртуальной машины атакующего к тому же физическому CPU.

Проблеме подвержены библиотеки OpenSSL, LibreSSL, Libgcrypt (ECDSA), Mozilla NSS, Botan (ECDSA), WolfCrypt (ECDSA), LibTomCrypt (ECDSA), LibSunEC (ECDSA), MatrixSSL (ECDSA), BoringSSL (DSA) и CryptLib. Обновления с устранением уязвимости уже выпущены для LibreSSL 2.7.4/2.6.5, BoringSSL и Libgcrypt 1.8.3/1.7.10 (GnuPG). Уязвимость не затрагивает библиотеки Nettle (ECDSA), BearSSL и Libsecp256k1, так как математические вычисления в них всегда выполняются за постоянное время. Библиотека NaCl не подвержена проблемам, так как не поддерживает цифровые подписи ECDSA и DSA (в NaCl применяется только алгоритм Ed25519).

  1. Главная ссылка к новости (https://www.nccgroup.trust/us/...)
  2. OpenNews: В Libgcrypt/GnuPG выявлена уязвимость, позволяющая воссоздать RSA-ключи
  3. OpenNews: Доступен проект Phuctor, коллайдер RSA-ключей (16)
  4. OpenNews: Представлена техника воссоздания речи по вибрации предметов на видеозаписи
  5. OpenNews: Представлена техника воссоздания отпечатков пальцев по изображению рук на фотографии
  6. OpenNews: Утилита degate позволяет воссоздать алгоритмы шифрования смарт-карт по их снимкам
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/48780-cryps
Ключевые слова: cryps, ecdsa, dsa
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (38) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (-), 13:13, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –3 +/
    OpenSSH\LibreSSH как?
     
     
  • 2.6, Онанимус (?), 13:33, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +6 +/
    > OpenSSH\LibreSSH как?

    Как OpenSSL и LibreSSL.

     
  • 2.7, Andrey Mitrofanov (?), 13:33, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >LibreSSH

    Держитесь там.

    >как?

     
     
  • 3.30, Аноним (-), 17:33, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >>LibreSSH
    > Держитесь там.
    > >как?

    обновилась вчера вечером

     
     
  • 4.39, Andrey Mitrofanov (?), 10:11, 18/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >>>Libre[B]SSH [/B]
    >> Держитесь там.
    > обновилась вчера вечером

    Как оно там, http://www.aixtools.net/index.php/libreSSH в 2015ом?

     

  • 1.2, Аноним (-), 13:22, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Это имеет какое-то отношение к дырам с кэшированием в процессорах или нет?
     
     
  • 2.4, Аноним (-), 13:29, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Это имеет отношение к тому что разработчики, обучавшиеся по книгам
    "Программирование для чайников за 24 часа!" не знают,
    что все криптографические операции нужно выполнять за постоянное время.
    Уже пятая дырка подобного рода в OpenSSL
     
     
  • 3.24, Аноним (-), 16:24, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это не дырка, а кривая разработка. Концепция атаки была сформулирована кажись чуть ли не в начале 90х годов, а воз и ныне там.
     
  • 3.32, KonstantinB (ok), 18:07, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Просто OpenSSL довольно старый. Когда его разрабатывали, даже SMP был редкостью, не говоря уж о виртуализации, и никто о таких вещах просто не задумывался: единственным реалистичным случаем была бы генерация на шаред-машине, и ответ на такое очевиден - "не делайте так".
     
  • 2.8, Andrey Mitrofanov (?), 13:35, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Это имеет какое-то отношение к дырам с кэшированием в процессорах или нет?

    Кому и "a simple memory cache side-channel attack" - невеста.

     

  • 1.3, Аноним (-), 13:26, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Можно сказать исторический момент.
    Мы наблюдаем как архитектура 8086 начинает рушиться под гнетом миллиардов костылесипедов и "оптимизаций" принятых исключительно ради увеличения прибыли.

     
     
  • 2.9, КО (?), 13:37, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +10 +/
    Точно Бро. И пофиг, что у остальных вариантов процов те же проблемы...
     
     
  • 3.25, Аноним (-), 16:26, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >  Точно Бро. И пофиг, что у остальных вариантов процов те же проблемы...

    Вы слишком далеко заглядываете, что не свойственно обычному человеку. У нас же в мире какой принцип: "сначала все поломаем, а там видно будет". Вот когда все сломают и разрушат, вот там и увидят "те же проблемы".

     
  • 2.11, ы (?), 13:41, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +11 +/
    Вы лично, вместе с вашим голосами в голове, формирующими это самое пафосное "мы", сходите к психиатору за антипсихотиками.
     
     
  • 3.15, Аноним (-), 14:03, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Они зовутся нейролептиками.
     
     
  • 4.26, Шизиатр (?), 16:36, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Теперь антипсихотиками, потому что не все они умеют вызывать нейролепсию. (Да простят меня модераторы за оффтоп)
     
     
  • 5.33, PereresusNeVlezaetBuggy (ok), 19:23, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Теперь антипсихотиками, потому что не все они умеют вызывать нейролепсию. (Да простят
    > меня модераторы за оффтоп)

    Как может быть оффтопом то, что касается доброй половины посетителей Опеннета?

     
     
  • 6.37, omnomnim (?), 22:23, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    не стоит ТАК преувеличивать свою важность ;)
     
  • 2.12, Вася (??), 13:41, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Конкретно эта атака завязана не только на 8086, а на все архитектуры где скорость вычисления модуля зависит от значений параметров. Как указали выше, проблема в программистах, которые не знают что криптографические операции должны выполняться за постоянное время.

    Что не отрицает того что архитектура с пресказаниями для оптимизации как оказалось имеет массу проблем с безопасностью. И это не только x86, как мы узнали в этом году. Грусть и печаль, и новое светлое будущее, где этого не будет.

     
  • 2.13, Нанобот (ok), 14:00, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >архитектура 8086 начинает рушиться

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

     
  • 2.35, Аноним (-), 22:02, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Благородный дон не в курсе что большинство уязвимостей работают в том или ином виде и на других архитектурах?
     

  • 1.5, Онанимус (?), 13:31, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Тема RSA не раскрыта.
     
     
  • 2.10, Andrey Mitrofanov (?), 13:38, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Тема RSA не раскрыта.

    Туда =>https://www.schneier.com/blog/tags.html

     
     
  • 3.17, Онанимус (?), 15:24, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    >> Тема RSA не раскрыта.
    > Туда =>https://www.schneier.com/blog/tags.html

    То, что с RSA куча проблем и что Шнайер в это тыкал, я знаю. И в пдфке из новости на все это ссылаются. Но из прфки не ясно, их метод применим к RSA или не применим принципиально - не ясно.

     
  • 2.14, Нанобот (ok), 14:01, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    > Тема RSA не раскрыта.

    всё в твоих руках

     

  • 1.16, Аноним (-), 14:57, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    В каждой теме вспоминают устаревшего вендора Intel, вместо хайпов EPYC Zen2+... и выкидывания на помойку синего кремния из ЦОДов.
     
     
  • 2.28, IRASoldier (?), 16:59, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Только Эльбрус, только хардкор!
     

  • 1.18, Ващенаглухо (ok), 15:26, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    /etc/ssh/sshd_config
    Ciphers chacha20-poly1305@openssh.com
    HostKey /etc/ssh/ssh_host_ed25519_key

    /etc/sysconfig/sshd
    AUTOCREATE_SERVER_KEYS="ED25519"

    должно спасти, правда старье всякое не подключится :)

     
     
  • 2.20, Онанимус (?), 15:31, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > правда старье всякое не подключится :)

    так отож (

     

  • 1.19, Аноняшка (?), 15:28, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    А какая процессорная архитектура практически безопасна? Ну, кроме теплого лампового советского калькулятора с плавающей точкой?
     
     
  • 2.21, 1 (??), 15:32, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    z390 же
     
  • 2.23, Аноним (-), 16:10, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +4 +/
    ельбрус в нативном режиме - под него нельзя сканпелировать троян, зырящий в кеш процессора, ибо нечем
     
     
  • 3.27, Аноним (-), 16:39, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Ну типа Security by obscurity, да.
     
     
  • 4.29, Аноним (-), 17:32, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Нет, настоящая физическая защита
     

  • 1.31, Ilya Indigo (ok), 18:00, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    ... не подвержена проблемам ... только алгоритм Ed25519!
     
     
  • 2.34, PereresusNeVlezaetBuggy (ok), 19:24, 15/06/2018 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > ... не подвержена проблемам ... только алгоритм Ed25519!

    Шнайер в доле.

     
  • 2.38, Stax (ok), 10:11, 16/06/2018 [^] [^^] [^^^] [ответить]  
  • +/
    Еще бы браузеры его поддерживали для подписи сертификатов. Без возможности использовать его в TLS ему грош цена (я понимаю, конечно, про ssh, но это в общем и целом ни о чем).
     

  • 1.36, Аноним (-), 22:22, 15/06/2018 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    биткоин уже подешевел?
     

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



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

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