Баг в функции 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, по-прежнему генерируют слабые секретные ключи, которые легко сбрутфорсить.

ТСПУ начали перенаправлять DNS-запросы к Google и Cloudflare на НСДИ

С вечера 26 августа открытые DNS-запросы к серверам Google и Cloudflare начали перехватываться на российских технических средствах противодействия угрозам (ТСПУ). При обычном UDP-запросе к этим серверам для доменов YouTube и RuTracker возвращался ответ NXDOMAIN, будто таких адресов вообще не существует. Однако запрос по TCP успешно доходил до сервера и получал настоящие IP-адреса.

Об этом сообщил пользователь Хабра angry_agent, изучивший поведение адресов 8.8.8.8 и 1.1.1.1.

Анализ трафика показал ещё более интересную картину. Когда автор отправил DNS-запрос с малым значением TTL, в ответе ICMP TTL Exceeded обнаружился адрес 195.208.5.1, принадлежащий Национальной системе доменных имён (НСДИ), хотя исходный пакет предназначался для 8.8.8.8.

С произвольными UDP-пакетами такой подмены не происходило, система реагировала именно на DNS-трафик.

По версии исследователя, ТСПУ распознаёт открытый DNS-запрос и выполняет направленный DNAT: незаметно меняет адрес назначения и отправляет пакет на сервер НСДИ. Тот уже решает, какой ответ вернуть пользователю. При этом для оператора связи запрос выглядит направленным не к Google, а сразу к НСДИ.

Механизм оказался неидеальным. При быстрой отправке нескольких одинаковых запросов первый получал NXDOMAIN, а следующие всё-таки добирались до Google и возвращали реальные адреса. Кроме того, перенаправление срабатывало не для всех DNS-серверов.

Официального подтверждения такого механизма пока нет, выводы основаны на эксперименте одного пользователя. Напомним, вчера мы писали, что ользователи сразу нескольких российских операторов пожаловались на проблемы с защищёнными DNS-сервисами Google и Cloudflare.

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