Злом Wintermute відтворено на простому ноутбуці менш ніж за 48 годин завдяки використанню недоліку ненормативної лексики

Amber Group, постачальник технології блокчейн, відтворила злом Wintermute менш ніж за 48 годин, використовуючи базовий ноутбук. У звіті Amber Group зазначено,

«Ми використовували Macbook M1 із 16 ГБ оперативної пам’яті для попереднього обчислення набору даних менш ніж 10 години… Ми завершили впровадження та змогли зламати закритий ключ 0x0000000fe6a514a32abdcdfcc076c85243de899b менш ніж за 48 годин».

Команда зламати було пов’язано з марнославними адресами, створеними за допомогою інструменту Profanity, що дозволяє користувачам генерувати конкретні адреси ethereum із певними символами. У випадку Wintermute адреса містила сім початкових нулів. Додаткові адреси дозволяють обліковим записам мати схожі символи, що полегшує ідентифікацію загальнодоступних адрес у блокчейні.

Іншим впливом адреси Ethereum з кількома початковими нулями є зниження плати за газ через зменшення простору, необхідного для зберігання інформації в блокчейні. Однак усунення елемента випадковості з криптографічного процесу, який використовується для генерації адреси, відбувається за рахунок зниження безпеки.

Початковий аналіз показав, що 1,000 графічних процесорів знадобиться лише 50 днів, щоб створити всі можливі закриті ключі для адрес, які починаються з семи нулів на початку. Однак тепер Amber Group стверджує, що цього можна досягти, використовуючи лише один ноутбук менш ніж за 48 годин.

Криптографія пояснюється

Богохульство це інструмент генерації адрес для екосистеми Ethereum. Кодову базу можна легко завантажити з GitHub, і вона доступна з 2017 року. Однак поточна версія кодової бази містить попередження, що не рекомендує використовувати цей інструмент. Творець інструменту, Йогусе, 15 вересня 2022 р. додав таке повідомлення до файлу readme.md.

«Я настійно раджу не використовувати цей інструмент у його поточному стані. Це сховище незабаром буде додатково оновлено додатковою інформацією щодо цієї критичної проблеми».

Крім того, двійкові файли ядра було видалено, щоб користувачі не могли скомпілювати кодову базу, «щоб запобігти подальшому небезпечному використанню цього інструменту».

Profanity використовує локальну «потужність графічного процесора з OpenCL за допомогою простого алгоритму» для генерації закритих і відкритих ключів Ethereum, доки не знайде адресу, яка відповідає правилам, установленим користувачем. Наприклад, якщо користувач бажає створити адресу Ethereum із закінченням на «AAA», він продовжуватиме працювати, доки не згенерує адресу з цими символами як суфікс.

Коли генерується адреса, яка не відповідає умовам, описаним у наборі правил, Profanity «додає 1 до закритого ключа та отримує нову адресу Ethereum, доки не знайде ту, яка відповідає правилам».

Адреси Ethereum зазвичай генеруються локально за допомогою криптографії еліптичної кривої. Під час генерації адреси Ethereum не потрібно перевіряти, чи використовувався закритий ключ у минулому для іншої адреси. Однак це пов’язано з величезною кількістю можливих адрес Ethereum.

Це відео пояснює справжню величину 256-бітове шифрування використовується в криптографії Ethereum. Просте порівняння також можна зробити в тому, що є грубо 2^76 піщинок у світі, але 2^160 можливих адрес Ethereum.

Однак, коли будь-які символи адреси Ethereum визначені заздалегідь, обчислення для створення закритого ключа стає значно простішим, а кількість можливих адрес різко зменшується.

Експлойт

Amber Grouped пояснила, що недолік методу Profanity пов’язаний із використанням 32-бітного початкового числа для генерації адрес.

«Щоб згенерувати випадковий приватний ключ, Profanity спочатку використовує випадковий пристрій для створення початкового числа. Але, на жаль, початкове число є 32-розрядним, і його не можна використовувати безпосередньо як закритий ключ».

32-розрядне початкове число подається через генератор псевдовипадкових чисел (PRNG), який використовує детерміновану функцію. Цей метод PRNG забезпечує простий спосіб визначення всіх життєздатних початкових значень відкритого ключа, які використовуються в нецензурній лексики.

«Оскільки існує лише 2^32 можливі початкові пари ключів (d_0,0, Q_0,0) і ітерація кожного раунду є оборотною, можна зламати приватний ключ з будь-якого відкритого ключа, згенерованого Profanity».

Метод, використаний Amber Group, полягав у отриманні відкритого ключа адреси, попередньому обчисленні можливих відкритих ключів нецензурної лексики, обчисленні відкритих ключів за допомогою OpenCL, порівнянні обчислених відкритих ключів і реконструкції закритого ключа, коли буде знайдено збіг.

Через простоту методу Amber Group рекомендує, що «ваші кошти не є безпечними, якщо ваша адреса була згенерована нецензурною лексикою».

Розповіли Amber Group CryptoSlate що стосовно того, чи потрібен кращий криптографічний алгоритм, «відповідь, очевидно, так… галузь бачить, наскільки вразливим є цей тип конструкції».

Джерело: https://cryptoslate.com/wintermute-hack-replicated-on-simple-laptop-in-under-48-hours-by-exploiting-profanity-flaw/