"Белый хакер" создал новый инструмент, показывающий, что можно с легкостью украсть биткоины из кошельков, созданных по технологии "brainwallet", где кодовая фраза хранится только в памяти пользователя. Первоначально задуманный как способ сохранения конфиденциальных данных в автономном режиме, brainwallet использует один длинный пароль или фразу, преобразует его в закрытый ключ, открытый ключ и наконец в адрес.
Простое запоминание сложной фразы позволяет любому пользователю держать миллионы долларов цифровой наличности фактически в собственной голове, без необходимости хранить какие-либо записи на компьютере.
Однако, оказывается, что ум является удивительно уязвимым местом, и не составляет особого труда подобрать ключ к вашим крипто-активам.
Исследователь в сфере информационной безопасности Райан Кастелуччи из фирмы White Ops указал на наличие серьезной уязвимости в этом методе. Он подчеркивает, что конечный адрес Биткоин записывается в блокчейне как хэш закрытого ключа, созданного на основе пароля. При использовании для аутентификации на веб-сайте, хэш пароля поможет определить слово или фразу, сравнив её с оригиналом. Это означает, что данные могут быть использованы взломщиками, которые ищут пароль.
7 августа на DEF CON 23, одной из крупнейших в мире ежегодных конференций хакеров, программа-взломщик brainwallet, названная Кастелуччи Brainflayer, оказалась способна перебирать пароли с частотой 130 000 раз в секунду. Запуск на более мощных компьютерах, например в арендованном облаке, который обойдётся в $1, может быть использован для перебора 560 миллионов фраз в секунду.
При этом, система применима и для ASCII паролей, построенных на символах клавиатуры США, и XKCD паролей. Кастеллуччи заявил, что его бот может проверить каждый адрес Биткоин, который когда-либо получал средства, в течение одного дня.
В интервью Кастеллуччи стремился подчеркнуть, что хотя созданный им инструмент может быть использован преступниками, он надеется, что его исследования будут стимулировать пользователей Bitcoin к поиску лучших методов безопасности для защиты своих сбережений.
Кастеллуччи сказал:
Вы можете кричать с крыш, что кто-то слаб и уязвим, но многие люди просто будут всё отрицать без наличия работающего доказательства концепции. Я думаю, что концепция, которая позволяет людям выбирать свои собственные пароли и фразы для высокопроизводительных приложений, является в корне ошибочным подходом к безопасности.
В этом случае, презентация Кастелуччи не прошла незамеченной. После ее выхода веб-сайт BrainWallet.org, который генерирует личные ключи для пользователей и использует JavaScript, перешел в автономный режим. Хотя другие услуги остаются доступными, закрытие было очень высоко оценено членами сообщества Bitcoin.
Начало проекта
Развитие проекта началось в середине 2013 года, когда первые пользователи Биткоина начали испытывать проблемы с безопасностью brainwallet. Примерно в то же время один из пользователей Reddit, известный как btcrobinhood (BTC Робин Гуд), начал воровать монеты из brainwallets, возвращая их потом законным владельцам в целях разоблачения уязвимости технологии.
Вдохновленный этим примером, Кастеллуччи создал оригинальную программу-взломщик Brainflayer, которая могла выдавать 10 000 паролей, предугадывая все возможные варианты.
Когда он вернулся к своему компьютеру, на котором была запущена программа, он нашел 250 ВТС, уже извлеченных из чужого кошелька благодаря уязвимостям в технологии Brainwallet.
Кастеллуччи был поставлен в трудную ситуацию. У него было два варианта - взять несколько BTC как оплату за свои исследования, и предупредить пользователей бумажников, что их безопасность под угрозой, или попытаться связаться с ними с помощью других средств. В конце концов, ему удалось связаться с владельцем и убедить его переместить биткоины в более безопасный кошелек.
"На какое-то время я просто перестал работать над своими исследованиями" сказал он. "Я надеялся,что проблема уйдет. Ведь многие эксперты говорили, что brainwallet имеет много уязвимостей."
Когда проблема не исчезла, он решил вернуться к исследованиям, утверждая, что это его обязанность - раскрыть уязвимость, чтобы пользователи могли принять соответствующие меры и повысить свой уровень защищенности.
Кастелуччи недавно написал в блоге:Идея состоит в том, что если кто-то вроде меня обнаруживает ошибку, он должен предпринять определенные усилия и расследовать ее прежде, чем рассказать сообществу. Я делал это в прошлом, и я думаю, что это правильный подход.
Будущее технологии
Также он предложил тем, кто использует brainwallet, рассмотреть улучшенную реализацию данной идеи - WarpWallet.
Кастелуччи говорит, что в уравнение WarpWallets интегрирована «соль» - случайные данные, используемые для входа при хэшировании функции. Это означает, что если «солью» пользователя был его адрес электронной почты, потенциальному вору нужно знать не только пароль, но и адрес.
Тем не менее, Кастеллуччи советует тем, кто использует кошельки на brainwallet, применять наборы случайных чисел и символов. А еще лучше использовать diceware - процесс, посредством которого пароли создаются с помощью пары генераторов случайных чисел.
Это действительно очень трудно, удержать людей от выбора клички собаки и своего дня рождения в качестве пароля. Никакой скрипт не может спасти людей, которые используют "P@ssw0rd". Многим пользователям казалось, что длинная фраза в качестве пароля вполне безопасна. Однако я доказал, что это не всегда верно.
Кастелуччи не сказал точно, сколько ключевых фраз Brainflayer способен угадывать на одном компьютере. Но он намекает, что если его программа будет запущена в ботнете, то цифра может приближаться к ста миллиардам ключевых фраз в секунду. Более того, он говорит, что программа PassPhrase оптимизирована для задачи быстрой генерации ключей Bitcoin и сканирования блокчейна.
Для наиболее эффективного сканирования и проверки блокчейна он использовал метод, известный как фильтр Bloom. Его результат пока не достигает триллиона ключевых фраз в секунду, о чем ранее предупреждал Сноуден, подразумевая достижения АНБ. Тем не менее, это может удивить многих людей, которые считают, что их ключевые фразы являются безопасными.
Бюро находок
Когда его спросили, как он планирует продолжить свою работу, Кастеллуччи сказал, что он все еще в процессе планирования следующих исследований. Он работает над добавлением новых инструментов в brainwallet, как и в Brainflayer. В том числе это режим, который будет сканировать "плохие" приватные ключи.
Но пока остается больше вопросов, чем ответов:Кто будет отрабатывать подобные уязвимости?И какие правовые последствия могут наступить для белых хакеров, пытающихся предотвратить будущие взломы?