0-day уязвимости под общим названием BitForge угрожают криптовалютным кошелькам - «Новости»
- 10:30, 14-авг-2023
- Новости / Отступы и поля / Заработок / Текст / Изображения / Видео уроки / Линии и рамки / Преимущества стилей / Самоучитель CSS
- Goldman
- 0
На ИБ-конференции BlackHat эксперты Fireblocks рассказали о двух уязвимостях (CVE-2023-33241 и CVE-2023-33242) в криптографических протоколах, используемых криптовалютными кошельками MPC (включая Binance, Coinbase и ZenGo). Уязвимости, получившие общее название BitForge, позволяют злоумышленникам восстанавливать seed-фразы и похищать средства владельцев кошельков.
Проблемы были выявлены в составе широко используемых криптографических протоколов GG-18, GG-20 и Lindell 17, то есть затрагивают многие популярные криптовалютные кошельки.
Для упомянутых выше Binance, Coinbase и ZenGo уже вышли патчи. Однако исследователи предупреждают, что десятки других кошельков остаются уязвимыми перед BitForge, и подготовили специальный инструмент для проверки проектов, чтобы разработчики могли узнать, подвержены ли они рискам из-за проблемной имплементации MPC.
Первая уязвимость (CVE-2023-33241) затрагивает TSS (Threshold Signature Schemes) в протоколах GG18 и GG20, которые считаются основополагающими для индустрии MPC-кошельков, позволяя нескольким сторонам генерировать ключи и совместно подписывать транзакции.
Fireblock объясняет, что в зависимости от параметров имплементации злоумышленник может отправить специально подготовленное сообщение и извлечь шарды ключа в виде 16-битных фрагментов, таким образом извлекая из кошелька весь приватный ключ за 16 повторений.
«Эксплуатация этой уязвимости позволяет злоумышленнику, взаимодействующему с участниками TSS, похитить их секретные шарды и в итоге получить приватный мастер-ключ, — говорится в отчете Fireblock. — Серьезность уязвимости зависит от параметров имплементации, поэтому выбор разных параметров приводит к разным атакам, и для извлечения полного ключа необходима разная степень усилий и ресурсы».
Вторая уязвимость, обнаруженная в протоколе Lindell17 2PC (CVE-2023-33242), имеет аналогичную природу и позволяет злоумышленнику извлечь весь приватный ключ примерно за 200 попыток подписи.
Корень проблемы кроется в имплементации 2PC, а не в самом протоколе, и проявляется в некорректной работе кошельков с прерываниями, что вынуждает их продолжать подписывать операции, которые раскрывают биты приватного ключа.
Атака, использующая этот баг, является асимметричной, то есть может быть использована как против клиента, так и против сервера.
В первом случае злоумышленник атакует клиента, заставляя его посылать команды серверу от своего имени, что приводит к раскрытию части приватного ключа сервера. По данным исследователей, на сбор достаточно количества данных для восстановления полного приватного ключа, необходимо 256 таких попыток. Поскольку ограничений не существует, атакующий может отправить серверу множество быстрых последовательных запросов, и атака может быть реализована за короткое время.
Второй сценарий атаки нацелен на приватный ключ клиента. В этом случае взломанный сервер получает его с помощью специально подготовленных сообщений. Эта атака так же требует примерно 256 запросов для извлечения полного ключа.
Исследователи уже опубликовали на GitHub два PoC-эксплоита (1, 2) для каждой из уязвимостей.
Комментарии (0)