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

bitcoin

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

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

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

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

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

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

Ещё интересное для вас:
Тест: чьё это рабочее место? Угадываем айтишников по их столам
Тест: что вы знаете о работе мозга?
Тест: какой язык программирования вам стоит выбрать для изучения?

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

Nsys Group
Web–разработчик
Web–разработчик
Nsys Group, Санкт-Петербург, 100 000 ₽ (до налогов)
CallKeeper
JavaScript-разработчик
JavaScript-разработчик
CallKeeper, Москва, от 100 000 до 150 000 ₽
«Сбербанк-Технологии»
Программист ASP.NET / C#
Программист ASP.NET / C#
Сбербанк-Технологии, Москва