Amber Group, поставщик технологии блокчейн, воспроизвел взлом Wintermute менее чем за 48 часов с помощью обычного ноутбука. В отчете Amber Group говорится,
"Мы использовали Macbook M1 с 16 ГБ ОЗУ для предварительного вычисления набора данных менее чем за 10 часов... Мы закончили реализацию и смогли взломать закрытый ключ 0x0000000fe6a514a32abdcdfcc076c85243de899b менее чем за 48 часов".
Взлом был приписан тщеславным адресам, созданным с помощью инструмента Profanity, позволяющего пользователям генерировать специфические адреса Ethereum с определенными символами. В случае с Wintermute адрес содержал семь ведущих нулей. Тщеславные адреса позволяют аккаунтам иметь похожие символы, что облегчает идентификацию публичных адресов в блокчейне.
Еще одно влияние адреса Ethereum с несколькими ведущими нулями - снижение платы за газ из-за уменьшения пространства, необходимого для хранения информации в блокчейне. Однако устранение элемента случайности из криптографического процесса, используемого при генерации адреса, обходится в меньшую сумму за счет снижения безопасности.
Первоначальный анализ показал, что 1000 графических процессоров потребуется всего 50 дней, чтобы сгенерировать все возможные закрытые ключи для адресов, начинающихся с семи ведущих нулей. Однако теперь Amber Group утверждает, что это можно сделать с помощью одного ноутбука менее чем за 48 часов.
Объяснение криптографии
Profanity - это инструмент генерации адресов для экосистемы Ethereum. Кодовая база может быть легко загружена с GitHub и доступна с 2017 года. Однако текущая версия кодовой базы содержит предупреждение, предостерегающее от использования инструмента. Создатель инструмента, Johguse, добавил следующее сообщение в файл readme.md 15 сентября 2022 года.
"Я настоятельно рекомендую не использовать этот инструмент в его текущем состоянии. Этот репозиторий скоро будет обновлен дополнительной информацией относительно этой критической проблемы."
Кроме того, двоичные файлы ядра были удалены, чтобы лишить пользователей возможности компилировать кодовую базу "для предотвращения дальнейшего небезопасного использования этого инструмента".
Profanity использует локальную "мощность GPU с OpenCL посредством простого алгоритма" для генерации закрытых и открытых ключей Ethereum, пока не найдет адрес, соответствующий правилам, установленным пользователем. Например, если пользователь хочет создать адрес Ethereum, заканчивающийся на `AAA,`, Profanity будет работать до тех пор, пока не сгенерирует адрес с этими символами в качестве суффикса.
Когда генерируется адрес, не соответствующий условиям, подробно описанным в наборе правил, Profanity "добавляет 1 к закрытому ключу и генерирует новый адрес Ethereum, пока не найдет тот, который соответствует правилам".
Адреса Ethereum обычно генерируются локально с использованием криптографии эллиптической кривой. При генерации адреса Ethereum не производится вычислений для проверки того, использовался ли закрытый ключ в прошлом для другого адреса. Однако это связано с огромным количеством возможных адресов Ethereum.
Это видео объясняет истинную величину 256-битного шифрования, используемого в криптографии Ethereum. Также можно провести простое сравнение: в мире существует примерно 2^76 песчинок, но 2^160 возможных адресов Ethereum.
Однако, когда любые символы адресов Ethereum заранее определены, вычисления для генерации закрытого ключа становятся значительно более простыми, а количество возможных адресов резко сокращается.
Эксплуатация
Эмбер Группед объяснила, что недостаток метода Profanity заключается в использовании 32-битного семени для генерации адресов.
"Чтобы сгенерировать случайный закрытый ключ, Profanity сначала использует случайное устройство для генерации seed. Но, к сожалению, семя является 32-битным, что не может быть использовано в качестве закрытого ключа напрямую."
32-битное семя подается через генератор псевдослучайных чисел (ГПСЧ), который использует детерминированную функцию. Этот метод ГПСЧ позволяет определить все жизнеспособные семена открытых ключей, используемые в Profanity.
"Поскольку существует только 2^32 возможных начальных пар ключей (d_0,0, Q_0,0) и итерация на каждом раунде обратима, можно взломать закрытый ключ из любого открытого ключа, сгенерированного Profanity".
Метод, использованный Amber Group, заключался в получении открытого ключа адреса, предварительном вычислении возможных открытых ключей Profanity, вычислении открытых ключей с помощью OpenCL, сравнении вычисленных открытых ключей, а затем восстановлении закрытого ключа после обнаружения совпадения.
Из-за простоты метода Amber Group рекомендует: "Ваши средства не в безопасности, если ваш адрес был сгенерирован Profanity".
CryptoSlate связался с Amber Group для получения дальнейших комментариев, но группа отказалась от дальнейших комментариев по поводу инцидента или последствий эксплойта Profanity.
Также известный как Акиба, Лиам - журналист и редактор блокчейна на CryptoSlate. Он считает, что технология децентрализованных реестров обладает потенциалом для широкомасштабных позитивных изменений. По его прогнозам, в ближайшие 10 лет наступит рассвет новой эры технологических инноваций.