Баг в функции JavaScript подвергает адреса Bitcoin риску брутфорса

Баг в функции JavaScript подвергает адреса Bitcoin риску брутфорса

Баг в функции JavaScript подвергает адреса Bitcoin риску брутфорса

Специалисты в области кибербезопасности предупреждают, что старые адреса Bitcoin, сгенерированные в браузере или через приложения на основе JavaScript, могут содержать недостаток, благодаря которому злоумышленники могут провести атаку брутфорс закрытых ключей, завладеть кошельками пользователей и украсть их средства.

Уязвимость существует из-за функции JavaScript SecureRandom(), которая используется для генерации случайного Bitcoin-адреса и его закрытого ключа (некого аналога пароля). Вся проблема заключается в том, что эта функция не генерирует по-настоящему случайные данные.

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

Напрашивается вывод — все адреса Bitcoin, созданные с использованием функции SecureRandom(), уязвимы для атак брутфорс, с помощью которых можно угадать закрытый ключ учетной записи.

Специалисты отмечают, что уязвимы все адреса Bitcoin, созданные с использованием BitAddress до 2013 года, а также Bitcoinjs до 2014 года. Wallet-приложения, использующие старые версии jsbn.js, по-прежнему генерируют слабые секретные ключи, которые легко сбрутфорсить.

Zombie Card: просроченные карты Visa оживили для бесконтактной оплаты

Исследователи продемонстрировали атаку Zombie Card, которая позволяет расплачиваться некоторыми просроченными картами Visa через NFC. Ломать криптографию и клонировать карту для этого не пришлось, хватило путаницы в том, как терминал и банк проверяют срок её действия.

Атаку разработали специалисты Массачусетского университета в Амхерсте. Результаты они представили в работе для USENIX Security (PDF).

Для эксперимента исследователи разместили два Android-смартфона между просроченной картой и платёжным терминалом. Один телефон изображал карту, второй — терминал, а обмен данными между ними шёл в реальном времени.

Во время оплаты система перехватывала поле EMV с датой окончания действия карты и заменяла прошедшую дату на будущую. Терминал видел свежую карту и пропускал локальную проверку.

При этом криптограмма операции оставалась действительной, поскольку изменяемое поле в Visa EMV Kernel 3 не всегда связано с проверяемыми криптографическими данными.

 

Но просто достать карту из ящика с хламом недостаточно. Её ключи должны оставаться рабочими, а связанный счёт и номер карты — активными. Поведение банков тоже различается: один из протестированных эмитентов одобрял такие платежи с разными суммами и у разных продавцов, другой стабильно отказывал и отправлял клиента за новой картой.

На Mastercard, American Express и Discover аналогичная подмена не сработала: их реализации либо сверяли разные представления срока действия, либо защищали нужные данные криптографически.

 

Атака сложнее обычного скимминга: преступнику потребуются старая карта и NFC-ретранслятор возле терминала.

RSS: Новости на портале Anti-Malware.ru