Если ваш криптокошелёк был создан до 2016 года, стоит внимательно изучить все риски.
Биткойн-кошельки, созданные в период с 2011 по 2015 год, могут быть уязвимы для нового типа эксплойта под названием Randstorm. Эксплойт позволяет восстанавливать пароли и получать несанкционированный доступ к множеству кошельков на разных блокчейн-платформах.
Как заявила компания Unciphered в своём отчёте , опубликованном на прошлой неделе, «Randstorm» — это термин, придуманный для описания набора ошибок, дизайнерских решений и изменений API, которые, при взаимодействии друг с другом, в совокупности значительно снижают качество случайных чисел, генерируемых веб-браузерами определённой эпохи (2011-2015).
По примерным оценкам, около 1,4 миллиона биткойнов находятся в кошельках, сгенерированных с потенциально слабыми криптографическими ключами. А ведь такая астрономическая сумма, может долгие годы финансировать какую-нибудь инновационную космическую программу с десятками запущенных ракет.
Пользователи могут проверить, уязвимы ли их кошельки через сервис KeyBleed , также запущенный специалистами Unciphered.
Компания сообщила, что уже выявляла эту проблему в январе 2022 года, работая на неназванного клиента, хотя впервые на данную уязвимость публично указал исследователь под ником «ketamine» ещё в 2018 году. Как бы то ни было, специалисты Unciphered решили максимально громко заявить об угрозе криптокошелькам только сейчас.
Уязвимость в основном связана с использованием BitcoinJS — открытой JavaScript-библиотеки для разработки криптовалютных кошельков в браузере. В частности, эксплойт Randstorm обусловлен зависимостью этого пакета от функции SecureRandom() в библиотеке JSBN, а также криптографическими недостатками, которые существовали в то время в реализации функции Math.random() в веб-браузерах. Разработчики BitcoinJS прекратили использование JSBN в марте 2014 года.
В результате, недостаток энтропии можно использовать для проведения брутфорс-атак и восстановления приватных ключей кошельков, сгенерированных с помощью библиотеки BitcoinJS (или зависимых от неё проектов). Самые лёгкие для взлома кошельки были созданы до марта 2012 года.
Полученные выводы наглядно демонстрируют как уязвимости в таких базовых библиотеках, используемых в открытых проектах, могут иметь каскадные риски для всей цепочки поставок. Похожая проблема наблюдалась с Apache Log4j в конце 2021 года.
Как отметила Unciphered, недостаток безопасности изначально был встроен в уязвимые кошельки, созданные с помощью BitcoinJS, и устранить его невозможно. Единственным способом защиты своих средств, если ваш кошелёк был создан в промежутке с 2011 по 2015, — перенести все свои средства на новый криптокошелёк, созданный с использованием современного ПО.
Одно найти легче, чем другое. Спойлер: это не темная материя