На прошлой неделе консалтинговая фирма Independent Security Evaluators (ISE) опубликовала исследование приватных ключей на блокчейне Эфириума. В ходе своей работы аналитикам удалось обнаружить «блокчейн-мошенника», который сумел украсть более 45 тысяч ETH перебором простых комбинаций. Подробнее о проблеме журналистам Cointelegraph рассказал главный аналитик ISE Эдриан Беднарек.
С чего всё началось?
Беднарек обнаружил хакера совершенно случайно. Ранее он занимался исследовательской работой по заказу одного из своих корпоративных клиентов, который хотел разработать собственный кошелёк с интегрированным алгоритмом генерации ключей.
В Эфириуме, Биткоине или любом другом блокчейне, поддерживающем протокол Elliptic Curve Digital Signature Algorithm (ECDSA), приватные ключи представлены в виде 256-битных чисел. Во время исследования аналитики ISE разделили эту комбинацию на восемь 32-битных «субрегионов», так как брутфорс целого приватного ключа статистически невозможен.
В этих восьми субрегионах было найдено 34 миллиарда слабых ключей. По словам Беднарека, сканирование заняло целый день. Стоит отметить, что ключи были сгенерированы из-за ненадёжного кода.
Приватный ключ — это ваш ID и паспорт. Здесь всё не так, как в банковской системе, где каждому пользователю выдан свой логин и пароль.
Ещё один интересный факт — приватный ключ «1» уже используется в блокчейне Эфириума. Более того, он фигурирует в нескольких тысячах транзакций.
В 256-битном коде ключ имеет следующий вид: 0x0000000000000000000000000000000000000000000000000000000000000001.
Беднарек считает этот факт большой проблемой.
Почему люди вообще пользуются этим ключом? Это невозможно.
Источник: Wired
Команда ISE начала изучать блокчейн более подробно, чтобы найти ещё больше слабых ключей. Им удалось обнаружить по крайней мере 735 комбинаций, которые можно ассоциировать с 49 060 транзакциями.
Мошенник на блокчейне
Примечательно, что кошельки с большинством упомянутых слабых приваткеев имеют определенные транзакции, которые ведут к узкому кругу адресов.
Кое-кто просто высасывал деньги с ключей, которые нам чудом удалось обнаружить. Из 735 приватных ключей, которые мы нашли, он имел доступ к 12. Мошенник не мог просто так угадать комбинацию, он занимался тем же, чем и мы. Он вытаскивал средства с кошельков, как только те поступали туда.
Эксперты установили, что хакер (или группа хакеров) установил ноду, которая «выкачивала деньги» в автоматическом режиме. Чтобы протестировать это, аналитики даже отправили один доллар с использованием слабого приватного ключа. Монеты с указанного кошелька исчезли за считанные секунды.
По данным Etherscan, на кошельке мошенника хранится около 45 000 ETH или около 7,3 миллиона долларов по сегодняшнему курсу. На момент исторического максимума цены Эфириума хакер мог бы обладать более чем 50 миллионами долларов.
Кстати, адрес мошенника имеет много комментариев от потерпевших. Судя по всему, преступник безнаказанно занимается своим делом вот уже несколько лет. В одном из комментариев нашли ссылку на старый тред с Reddita за 2016 год. Создатель обсуждения рассказывал о том, как его «ограбили» всего через несколько минут после запуска собственной ноды.
Ethereum nodes with insecure RPC settings are actively exploited from ethereum
Аналитики подробнее изучили методы работы хакера.
Во-первых, он ищет слабые приватные ключи. Во-вторых, он ищет кошельки с ненадёжной кодовой фразой и неправильно настроенные RPC.
Проблема, как всегда, скрыта в человеческом факторе. Даже у самих экспертов ISE были «моральные трудности» во время проведения исследования.
Перед началом работы у нас появилась этическая дилемма — что если мы найдём ключ от кошелька с миллионами долларов? Мы просто оставим всё как есть? Но если сделать так, хакеры наверняка рано или поздно доберутся до денег.
Однако кого нам предупредить об опасности? Найти владельца приватного ключа довольно сложно. Возможно, мы могли бы взять деньги на хранение, пока кто-то не докажет факт владения ими? Такой сценарий может вызвать много проблем с законом.
Меры безопасности
Итак, Беднарек выделяет две причины, из-за которых приватные ключи могут быть ненадёжными. Первая — ошибки в ПО, которое генерирует сам ключ. Второе — некоторые пользователи могут получить идентичные ключи из-за использования слабых кодовых фраз (к примеру, «abc123» или что-то в этом роде).
По словам аналитика, пока ни одна команда разработчиков кошельков не связалась с ними.
Это интересно, так как сложно найти ответственных среди создателей кошельков. Может быть это просто вина пользователей, которые снисходительно относятся к безопасности собственных денег.
Тем, кто не сильно разбирается в технологиях и просто хочет сохранить свои деньги, Беднарек рекомендует пользоваться аппаратными кошельками. В особенности, если речь идёт о хранении большого объёма криптовалют.
Ещё больше интересного можно найти в нашем крипточате.
ПОДПИСЫВАЙТЕСЬ НА НАШ КАНАЛ В ТЕЛЕГРАМЕ, ЧТОБЫ ВАШИ МОНЕТЫ БЫЛИ В БЕЗОПАСНОСТИ!
2Bitcoins.ru
Автор: Дмитрий Кузюк