Безопасность кошелька Waves

Добрый день, форумчане!

Меня все тревожит вопрос безопасности waves-кошельков, забегу вперед, для себя я его решил, о чем позже. Как всем, кто создавал адрес кошелька, известно, самое главное запомнить секретную фразу, состоящую из предложенных программой 15 слов. Казалось бы подобрать фразу к кошельку нереально и это, наверное, почти правда. Почти! Тут многие скажут, что все это еще сложнее, чем перебирать пароль. И это опять же правда. Но злоумышленнику все равно с какого кошелька «угнать» средства, верно? Лишь бы эти средства были на балансе.

Итак, как я вижу проведение атаки. Список слов, используемых при создании адреса кошелька, заведомо известен. Берем этот массив слов и начинаем создавать базу возможных адресов. Для этого даже не требуется выходить в Интернет и следить там. Понятно, что создаем базу не ручками, а скриптом или программкой. Написать ее у злопыхателя проблем не составит.

Так мы получаем «условно неограниченный» массив фраза-адрес. Далее просто прогоняем известные непустые кошельки и ищем совпадения с нашим массивом. Вполне реально найти совпадения, а дальше идет оценка рисков и принятие решения. Баланс волн посмотреть элементарно. Другие токены посмотреть тоже труда не составит.

Вся прелесть этой атаки в том, что она готовится локально без выхода в Интернет. С Интернета берется только клиент кошелька, баланс, возможно поднятие временной ноды, ну и уже списание средств с подобранных кошельков.

Может я где-то ошибаюсь? Это только теория, проверять на практике не собираюсь. Если только в рамках эксперимента под руководством разработчика, но я думаю они и без меня это смогут проверить.

Решение.

Создавать адрес кошелька, на мой взгляд, безопаснее через «Импорт аккаунта», а не через «Создать новый кошелек». Придумываем фразу, можно с использованием русских слов латиницей, вроде даже кириллицу можно использовать, цифры, слова с ошибками, простор для фантазии. Желательно только писать бред какой-нибудь, а не стихи Пушкина. Вдруг какой-нибудь «друг» на мгновение увидит фразу, а она обще известная, запомнит быстро.

Фразой, кстати, и иконку себе подберете по душе))). Я вон бульдога создал какого-то для визуализации.

Таким образом через восстановление мы создаем более безопасный кошелек. Проверил, работает, волны отправляются.

Надеюсь увидеть комментарии по делу, может даже кто-то переубедит меня и успокоит. Правда, я как «знатный параноик» все равно буду использовать кошельки, созданные через импорт.

Спасибо за внимание!

Все верно, алгоритм рабочий, вероятность найти кошелёк действительно не равна 0.

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

Имеем 20 байт хэша публичного ключа в адресе, которые должны совпасть, это 2^160 вариантов.

(Здесь же отметим, что 15 слов по 2048 (2^11) вариантов каждый, что даёт 2^(11*15) = 2^165, то есть перекрывают 160 бит с запасом в 5 бит, то есть 15 слов взяты не с потолка, это минимально достаточное количество, больше будет излишним, меньше не покроет всех бит публичного ключа в адресе).

Предположим скорость перебора у нас 2 миллиона проб в секунду (такие результаты даёт например F72s_v2 (72 виртуальные цп, память 144 ГБ) на Azure, стоит сие 171 тысяча рублей в месяц).

Начинаем считать: 2 миллиона это ~2^21 проб в секунду, за год будет 60*60*24*365 = 31536000 секунд, это ~2^25, получаем 2^(21+25) = 2^46 проб за год.

Вероятность найти конкретный кошелёк 1/2^(160-46) = 1/2^114

Миллион это ~2^20, тогда вероятность найти кошелёк из миллиона кошельков: 1/2^(114-20) = 1/2^94

Пока тяжело… давайте предположим у нас не 1 машина, а миллион: 1/2^(94-20) = 1/2^74

И не один год, а миллион лет: 1/2^(74-20) = 1/2^54

Умножим миллион имеющихся мощностей на миллион дата-центров: 1/2^(54-20) = 1/2^34

Ну вот, получилась нормальная такая вероятность (которую хотя бы в голове можно представить): 1 шанс из 17 миллиардов найти за миллион лет, в миллионах дата-центров с миллионом машин в каждом 1 кошелёк из миллиона.

Удачи.

2 Симпатий

Исчерпывающий ответ, спасибо @deemru. Действительно, вероятность на успех у брутфорсера крайне мала

https://youtu.be/hNBBwRyTy5g (16+)

Спасибо за развернутый ответ. Похвально, что так с цифрами заморочились. “+” к карме))) То что вероятность крайне мала, это понятно. Если список слов долгое время меняться не будет (если я правильно нашел список фраз, то их 2048), количество счетов вырастет, мощности и алгоритмы совершенствуются, где гарантия, что кражи не произойдет? Предположим, что рядовой единице вычислить пару - это чуть ли не случайность. А если серьезные ребята захотят скомпрометировать сеть? Или с помощью вирусни всякой. Шансов больше. Не обязательно же искать все возможные комбинации для того, чтобы принести беду, речь же может идти не только об окупаемости взлома.

Мне еще интересно, а перед тем, как клиент предлагает адрес кошелька на выбор, он проверяет на наличие действующего кошелька? Или там алгоритм с временными метками? Если нет, то чисто в “теоретической сказочной случайности” новому клиенту может сгенерироваться адрес с балансом. Ведь адреса удачно генерируются в офф-лайн режиме. Или я опять фантазирую?

Матчасть:

Гарантии нет, есть вероятность. Если вероятность приемлема, использование допускается. Выше на пальцах показано, что в настоящий момент вероятность приемлема. Если в будущем что-то изменится (например прогнозируется появление квантового компьютера в ближайшие 20 лет), достаточно будет сменить алгоритм, чтобы снова уложиться в приемлемую вероятность. Процедура смены ключей не простая, но неизбежная на большом промежутке времени.

  1. Шансы подобрать SEED от этого не изменятся
  2. Вы правы, вирусы, поддельные сайты, лохотроны, а также методы терморектального криптоанализа могут быть существенно эффективнее в краже кошелька, однако читай пункт 1.

Да, это возможно. Вероятность 1/2^160.

1 Симпатия

Какова там мощность сети битка? Надо всего-то подкорректировать алгоритм… А вирусы я имел ввиду те, что будут использовать вычислительные мощности железа… Но это сложная дорожка, их легче вылавливать…

Я вас поздравляю! Мой кошелек waves и еще несколько кошельков пользователей наломали 28.05 сняли waves с лизинга, перевели в биток и угнали прочь. Более того, ирония вся в том что мы сами верили в проект устанавливали ноду и пытались ее поддерживать, а средства как раз были размещены в лизинге на ноде.

Приглашаю всех посетить https://bitcointalk.org/index.php?topic=5149213.new#new

Подобрать нормальный сид нереально, например, мне тут ставили задачу восстановить сид, есть скриншот с 15 словами, но неизвестен порядок слов, на кошельке 10 Waves. Написал переборщик, оказалось ему работать надо несколько месяцев, после недели работы, просто стало жалко электричества, 10 Waves пока того не стоят. Все слова были известны, но даже это не простая задача.

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

Вы могли засветить свой сид в течение всей жизни кошелька. Коллектор собирает их и использует в час икс. Вполне разумно.

Поэтому нормальная практика, кроме прочих, раз в год менять ключи, то есть переезжать на новый кошелёк или ставить скрипт с новым ключом на аккаунт.

Возможно так, а возможно и вот так


А кто-то видел этих пострадавших?

  • Хакерская атака?
  • Сомнение в криптографии Waves?

За такие слова надо отвечать.

1 Симпатия

Да, могу свое фото скинуть. Впрочем можете зайти в тг канал там все описано

а вот что было , почитайте
ущерб равный нулю

Статья булшит, почитайте постмортем

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

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

Резюмируя в жесткой форме, пока что ваши обращения и заявления тоже булшит.

1 Симпатия

Ну хорошо, смотрите, вчера я обнаружил что мой кошелек был взломан 28.05, при обращении в поддержку получаю ответ что где то скомпрометировал свой сид и сам виноват, в чате все еще более жестко мне говорят, что я сам посадил за свой раб стол угонщика и тот. Изучив в том же чате ранние сообщения я натыкаюсь на такие же взломы кошельков от 28.05 и на 100% аналогичные ситуации и ответы. Учитывая все это я пытаюсь вывести администратора на диалог, но тут снова мне пишут “скорее всего вы сами дали доступ злоумышленникам, вам стоит проверить компьютер на вирусы, а так же рекомендую ознакомиться с Заметками по безопасности”. Сейчас вы мне пишите что я вам нахамил, приведенные статьи булшит, наблюдения булшит, а так же получается что все взломанные акк тоже булшит? Ну здорово это отличный ход.