The OpenNET Project / Index page

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

Уязвимости в HSM-модулях, которые могут привести к атаке на ключи шифрования

10.06.2019 10:38

Группа исследователей из компании Ledger, выпускающей аппаратные кошельки для криптовалюты, выявила несколько уязвимостей в устройствах HSM (Hardware Security Module), которые могут быть использованы для извлечения ключей или совершения удалённой атаки для подмены прошивки HSM-устройства. В настоящий момент доклад о проблеме доступен только на французском языке, англоязычный доклад планируется опубликовать в августе во время конференции Blackhat USA 2019. HSM представляет собой специализированное внешнее устройство, предназначенное для хранения открытых и закрытых ключей, используемых для формирования цифровых подписей и для шифрования данных.

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

Предложенные методы атаки позволяют неаутентифицированному пользователю получить полный контроль над содержимым HSM, в том числе извлечь все хранимые на устройстве криптографические ключи и учётные данные администратора. Проблемы вызваны переполнением буфера во внутреннем обработчике команд PKCS#11 и ошибкой в реализации криптографической защиты прошивок, позволяющей обойти проверку прошивки по цифровой подписи PKCS#1v1.5 и инициировать загрузку в HSM собственной прошивки.

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

Проблема была выявлена в ходе применения fuzzing-тестирования предлагаемой в HSM внутренней реализации команд PKCS#11. Тестирование было организовано через загрузку в HSM своего модуля при помощи штатного SDL. В итоге в реализации PKCS#11 было выявлено переполнение буфера, которое оказалось можно эксплуатировать не только из внутреннего окружения HSM, но и через обращение к драйверу PKCS#11 из основной операционной системы компьютера, к которому подключен модуль HSM.

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

Имя производителя, в HSM-устройствах которого выявлены уязвимости, пока не разглашается, но утверждается, что проблемные устройства применяются некоторыми крупными банками и провайдерами облачных сервисов. При этом сообщается, что информация о проблемах ранее была отправлена производителю и он уже устранил уязвимости в свежем обновлении прошивки. Независимые исследователи предполагают, что проблема может быть в устройствах компании Gemalto, которая в мае выпустила обновление Sentinel LDK c устранением уязвимостей, доступ к информации о которых пока закрыт.

  1. Главная ссылка к новости (https://cryptosense.com/blog/h...)
  2. OpenNews: Началось альфа-тестирование открытого HSM-модуля CrypTech
  3. OpenNews: Сертификат удостоверяющего центра был использован для перехвата трафика произвольных доменов
  4. OpenNews: Mozilla использует Crypto Stick для формирования цифровых подписей в своих репозиториях
  5. OpenNews: Первая открытая реализация анклава для аппаратно изолированных окружений
  6. OpenNews: Уязвимость в чипах Qualcomm, позволяющая извлечь закрытые ключи из хранилища TrustZone
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/50838-hsm
Ключевые слова: hsm, crypt
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (13) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Crazy Alex (ok), 11:04, 10/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +12 +/
    Если что, Ledger - это контора, делающая хардварные биткоин-кошельки, в которых HSM используются для хранения ключей.

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

     
     
  • 2.3, Аноним (3), 12:35, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Ещё одна проблема независимо от закрытости: при поломке этой хреновины остаёшься без кошелька.

    С банками и УЦ некритично, там это не первоисточник секрета и можно другой сделать.

     
     
  • 3.4, Crazy Alex (ok), 12:39, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Нет, как раз в этом плане там порядок - при ирициализации ключевая фраза генерируется, из которой можно все ключи вывести. Записываешь и прячешь в тайник или сейф.
     
  • 3.6, anonymous (??), 12:42, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Там используется seed
     

  • 1.2, Аноним (2), 11:56, 10/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я думаю, что вопрос с openhardware настолько далеко, что о нем серьёзно говорить можно будет только через несколько лет.
    Проблема в том, что получение, к примеру PCI DSS, имея thales намного проще.
    Кто будет сертифицоровать какое-то opensource оборудование?
     
     
  • 2.5, Crazy Alex (ok), 12:41, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, в данном случае всё просто - с одной стороны специализированный чип с уже зашитым закрытым софтом, с другой - stm32,  который в каждом чайнике, покупается через общие каналы и код в него шьётся свой
     
     
  • 3.7, Аноним (7), 14:11, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > с другой - stm32,  который в каждом чайнике, покупается через общие каналы и код в него шьётся свой

    А где гарантия, что в «stm32,  который в каждом чайнике, покупается через общие каналы» не окажется кроме Вашего кода еще и кусок кода от "кетайсов" специально для Вашего изделия?

     
     
  • 4.8, KotikNarkotik (ok), 17:39, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Значит покупаем чайники, выпаиваем из них stm32 для использования в своём изделии.
     
     
  • 5.11, Crazy Alex (ok), 20:41, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    просто покупаем стмку или макетку с ней. Вполне рабочий вариант, я глядел ради интереса - там в уродливом исполнении возни часа на три для того, кто что-то в stm32 уже шил
     
  • 4.9, Аноним (9), 17:39, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Придется проверять чайник рентгеном...
     
  • 4.10, Crazy Alex (ok), 20:39, 10/06/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Гарантии нет. Но крайне маловероятно. Как минимум, это дополнительный блок, который стоит лишних денег в производстве. Учитывая, что абсолютное большинство применений этой стмки никакого интереса не представляет, совать его туда - чистый убыток. Специальный же чип - это просто готовая мишень. Плюс в HSM уже зашит довольно сложный софт, так что куда троян сунуть - тоже есть. А в микроконтроллере общего назначения в общем случае ничего нет. Опять же - с ним возится куча народу, велика вероятность, что странное поведение будет замечено.

    Если вы о доверии к производителю конкретного кошелька - нет никаких проблем собрать свою фирмварь и сравнить хэш с предоставляемой производителем, поторяемая сборка у них обеспечена. Есть нюансы с загрузчиком, но скорее в том плане, что в три строчки я не объясню. Можно и полностью свою железку спаять, всё открыто. И, понятное дело, куча людей всё это проверяла на практике - крипта, в общем-то, как раз о том, что "do not trust, verify".

    Кроме того, в Ledger обычный МК тоже есть, на котором основная прошивка и крутится, в HSM только ключи лежат. А вот та часть прошивки HSM, которую делает Ledger, закрыта - лицензия не позволяет её распространять, насколько я понимаю.

     

  • 1.12, Аноним (12), 08:14, 11/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >Атака на ключи

    Чиво? В криптографию могу, в русская языка - нет?

     
  • 1.13, Аноним (13), 10:43, 15/06/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Nitrokey partners with Gentoo Foundation to equip developers with USB keys.

    https://gentoo.org/news/2019/04/16/nitrokey.html

    Только открытое железо и открытые прошивки!

     

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



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

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