В эпоху зарождения крипто-мира, были и свои кошельки, решающие проблему "доступности" пользования новыми технологий для неопытных пользователей.
Одним из них, и был - Brain Wallet
Юзер экспириенс в ранее время crypto вызывал действительно восторг: нет никаких файлов, никаких папок - все удобно, классно
Как же он работал?
1. Пользователь придумывает текстовую фразу (например, "I love lang.eth")
2. Фраза проходит через хэш-функцию (обычно SHA-256), которая преобразует её в 256-битный хэш
3. Полученный хэш использовался как приватный ключ
Негативная сторона такой простоты
Хотя алгоритм SHA-256 надежен для криптографии, но он не был разработан для защиты паролей. Его высокая скорость и публичность методов генерации в кошельке Brain Wallet делает этот конкретный сценарий невероятно уязвимым к брутфорс атакам
brut force атака проста как мир. Вы, как злоумышленник знаете:
- Алгоритм генерации приватного ключа
- О том, что у кошелька огромная база пользователей
- Люди склонны выбирать легко запоминающиеся и предсказуемые пароли, которые можно подобрать
На конкретном примере смоделируем этот случай
Для "брутфорс" атаки в ручном режиме нам потребуется этот сайт - это реализация механизма в точности, как в BrainWallet.
Вводишь пароль - выдает адрес кошелька
И вот как вы думаете, какая вероятность руками найти любой кошелек с транзакциями?
100% - это шок
Первым делом проверяем пароль: "password" и находим этот кошелек. На нем 45к транзакций, на него было получено и выведено 0,35BTC
Или другие пароли:
- "bitcoin", получено 0,17BTC - Кошелек
- "123", получено 0,08BTC - Кошелек
- "1", получено 0,21BTC - Кошелек
Буквально первое что пришло в голову и везде была какая-то история транзакций..
Brain Wallet пользовался высоким спросом в 2010-2014 году так как:
- Один из первых инструментов для генерации приватных ключей
- Пользователи могли просто помнить фразу, вместо хранения файлов или сложных записей
Действия атакующих в далеком 2015 так же просты
- В любом захолустье интернета находили базы слитых паролей или вовсе генерировали их вручную
- Выкачивали историю блокчейна
- Прогоняли каждый возможный пароль через софт и проверяли наличие адреса в скачанной БД
- Как находились кошельки с балансом - моментально все выводили
- Ставили автовывод на все будущие переводы от владельца
Сложно представить и точно оценить ущерб данной уязвимости так как невозможно найти все кошельки, созданные через этот кошелек
Но для понимания, есть интересный факт - группа исследователей в 2015 году нашли и изучили 18к уязвимых адресов. И было установлено, что потери составили более 100M$ в эквиваленте на тот момент
По некоторым оценкам, общая сумма украденных средств из-за уязвимости может превышать 300M$. Но я бы спокойно умножал ее как минимум на 2
У меня все.