Ошибка в JavaScript-классе привела к генерации уязвимых ключей для криптокошельков

bitcoin

Специалист по безопасности Дэвид Джерард в своём блоге сообщил, что использующие класс SecureRandom() JavaScript-приложения криптовалют могли генерировать уязвимые ключи. Созданные в браузере пароли также можно взломать.

В чём заключается проблема?

Функция генерирует ключи, которые имеют менее 48 бит энтропии. Затем SecureRandom() запускает номер, полученный через устаревший алгоритм RC4. Это ещё больше снижает количество бит энтропии, а ключ становится более предсказуем.

Уязвимы адреса, созданные с использованием BitAddress до 2013 года, а также Bitcoinjs до 2014 года. Слабые ключи генерируют приложения, использующие версии jsbn.js до 2013 года — они содержат SecureRandom().

В декабре 2017 года у пользователей Reddit украли Bitcoin Cash через сервис рассылки Mailgun. Расследование показало, что злоумышленник взломал аккаунт сотрудника сервиса и через него запрашивал смену паролей.

Источник: блог Дэвида Джерарда

Вакансии в тему:

Лого компании «Finch»
Junior Frontend-разработчик
Junior Frontend-разработчик
Finch, Москва, от 70 000 до 90 000 ₽ (до налогов)
Лого компании «Wheely»
Frontend Developer
Frontend Developer
Wheely, Москва, 180 000 ₽
Лого компании «CSBI»
Full-stack разработчик ASP.NET
Full-stack разработчик ASP.NET
CSBI, Санкт-Петербург, от 80 000 до 120 000 ₽