Генератор кошельков WalletGenerator работал с ошибкой и создавал одинаковые ключи

WalletGenerator

Онлайновый генератор бумажных кошельков WalletGenerator.net почти год использовал ошибочный код, который создавал идентичные пары закрытого/открытого ключей и выдавал их пользователям. Эту ошибку обнаружил исследователь безопасности Гарри Денли из MyCrypto.

Ошибочный код начал работать в августе 2018 года и был исправлен только недавно — 23 мая. Работающий на сайте код является открытым и должен иметь версию на GitHub, причем обе версии кола должны быть одинаковыми. Но изучив работающий на сайте код, исследователь заметил, что от отличается от того, что GitHub и генерирует ключи не случайным способом.

С 18 по 23 мая MyCrypto провел серию тестов. Исследователи использовали обе версии кода для генерации 1000 ключей. Версия с GitHub как и положено создала 1000 по-настоящему уникальных ключей, а используемый на сайте код создал лишь 120 уникальных ключей. И какие бы факторы не задавали исследователи (меняли браузеры, обновляли их, использовали VPN, разных пользователей и т.д.), сайт все равно генерировал лишь 120 уникальных ключей вместо 1000.

«При генерации ключа берется случайное число, превращается в приватный ключ и далее в открытый ключ/адрес. Однако, если случайное число всегда равно «5», то и сгенерированный закрытый ключ всегда будет одинаковым. Вот почему так важно, чтобы случайное число действительно было случайным, а не какой-то одной цифрой», — сказали исследователи.

По ходу исследования, MyCrypto начал публиковать информацию об ошибочном коде. Ее заметила команда сайта WalletGenerator и тихо исправила проблему, а потом заявила, что исследователи MyCrypto не имеют никаких доказательств и вообще ведут себя подозрительно. То есть WalletGenerator отрицает, что была проблема.

Поэтому исследователи MyCrypto сами предупреждают пользователей — если вы сгенерировали на WalletGenerator пары ключей в промежуток между 17 августа 2018 года и 23 мая 2019 года, то вам немедленно нужно перевести свои средства на другой кошелек.