Поиск закрытого ключа биткоин

Новый вид мошенничества: раскрываемые закрытые ключи

В криптосообществе появился новый вид мошенничества: распространение кошельков с неслучайным алгоритмом создания закрытых ключей. Анонимный пользователь на сайте Pastebin представил доказательства того, что один из кошельков для Биткоина генерирует закрытые ключи, которые очень легко расшифровать и, следовательно, забрать находящиеся во взломанном кошельке биткоины. Названия кошелька в публикации не упоминается, не сообщается также, следует ли считать эти действия результатом вредоносной программы или просто ошибкой кода.

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

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

При создании кошелька на устройстве — неважно, компьютере, телефоне или чем-то еще, генерируется случайный набор букв и цифр — это и есть закрытый ключ. Именно закрытый ключ (и только он) обеспечивает право обладания монетами. Контроль над закрытым ключом позволяет тратить монеты из кошелька.

Вот так выглядит закрытый ключ:

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

«Расшифровка» закрытого ключа

Поскольку закрытым ключом может в буквальном смысле быть все, что угодно, технически мы можем взять любую фразу или цепочку букв и цифр и использовать их в качестве закрытого ключа (например, «satoshi nakamoto») . Другими словами, можно забросить в хэш-функцию любой набор символов и создать кошелек. После этого создается публичный ключ и – добро пожаловать в мир криптовалют! Однако так поступать настоятельно не рекомендуется, поскольку очевидно, что раз вы можете придумать закрытый ключ, то раскрыть его сможет и кто-то другой. Такой ключ уже не будет по-настоящему случайным, а ведь именно это свойство необходимо для создания безопасного кошелька.

К примеру, кошелек BrainWallet.io оснащен инструментом, позволяющим пользователям поместить в него все, что они пожелают, и получить из этого пару открытый/закрытый ключ. Поскольку блокчейн представляет собой открытый публичный реестр, в нем можно наблюдать множество адресов, созданных из обычных фраз. Использовать подобные словосочетания в качестве ключей, мягко скажем, неразумно, однако иногда люди отправляют монеты просто для того, чтобы просто оставить след в блокчейне.

Проверка закрытых ключей для обнаружения биткоинов

Анонимный пользователь Pastebin использовал доступные в блокчейне фрагменты данных для того, чтобы проверить, использовались ли какие-то из них для создания кошельков. Он использовал хеширование для каждого блока, брал хэшированные несколько раз простые слова и фразы, и, наконец, стал тестировать все адреса биткоина. Помимо адресов с неистраченными балансами, он также включил в свой анализ адреса с нулевым балансом.

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

Затем он использовал корни Меркла (Merkle roots) некоторых блоков на предмет существования раскрываемых ключей, и вновь ему удалось обнаружить адреса, на которые отправлялись монеты. К сожалению, все балансы были нулевыми, но охота становилась все интереснее. Третий эксперимент проводился с использованием простых слов, несколько раз прошедших хэширование, таких как “hello” или “sender”. Хэши этих слов затем хэшировались снова и снова, добавляя дополнительный слой защиты и уменьшая шансы на то, что ключ будет открыт. Если вы захэшируете слово один раз, впоследствии вы сможете повторить это еще и еще, и в конечном итоге вы получите закрытый ключ, который уже когда-то использовался. Таким образом было обнаружено несколько адресов, использовавших этот метод. Один из самых забавных было слово “password” (пароль), после хэширования которого 1 975 раз получался действующий закрытый ключ, на который отправлялись средства. Более чем вероятно, что создатель этого адреса родился в 1975 году.

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

Читайте также:  Как называется предприятие с иностранными инвестициями это

Идея использования публичного адреса в качестве закрытого ключа не имеет смысла и очень рискованна, так как его легко раскрыть. Такие адреса получали биткоины и принимали их в течение минут или часов после подтверждения. И именно здесь анонимный пользователь Pastebin заподозрил что-то неладное.

Что происходит на самом деле?

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

Пользователь создал бот для постоянного сканирования данных адресов и перехвата всех отправляемых на них биткоинов, и волей случая он наткнулся на транзакцию в 0,5 биткоина на адрес с раскрываемым закрытым ключом. К сожалению, бот сработал недостаточно хорошо, и ему не удалось во время создать транзакцию. Биткоины были извлечены из кошелька и отправлены дальше. Однако пользователь что-то заподозрил и продолжил эксперимент с ботом, после чего он заметил, что аналогичный «адрес сбора» использовался во множестве способов раскрытия ключей. По меньшей мере, один адрес из всех методов перечислял биткоины, один за другим, в адрес кого-то, контролирующего всю систему. Ежедневно пользователь наблюдал более 6 транзакций, прошедших через его базу данных закрытых ключей.

Например, пользователь Reddit под ником /u/fitwear рассказал о взломе кошелька на blockchain.info и краже почти 9 BTC. Несмотря на то, что при создании кошелька он выполнил все меры предосторожности (использовал надежный пароль и двухфакторную аутентификацию), его биткоины пропали. В ответ на обращение в службу техподдержки он получил стандартный ответ, ссылающийся на то, что кто-то, возможно, завладел его данными, либо его устройство было повреждено вирусом.

Анонимному пользователю Pastebin удалось найти 9 биткоинов на адресе, копия закрытого ключа к которому содержалась в его базе данных. Пользователю /u/fitwear повезло, и он получил свои биткоины назад, однако дальнейшее расследование адреса открыло очень тревожные подробности.

Очевидно, что предположения техподдержки blockchain.info о вирусе абсолютно необоснованны – логично, что разработчик создал бы закрытый ключ из какой-то конфиденциальной информации, а не случайного адреса. Тот факт, что адрес является случайным, дает любому понимающему эту схему шанс забрать монеты до того, как хакер сможет отправить их в кошелек, находящийся под его контролем. Что-то здесь определенно не сходится.

Код, который понадобится для генерирования расшифрованных закрытых ключей, удивительно прост – это всего лишь пара хэш-функций. В случае со сторонним провайдером кошелька, этот фрагмент вредоносного ПО был бы спрятан среди тысяч строк кода. Кроме того, эта функция не привлекла бы внимание во время проверки кода, потому что она просто хэшировала публичный адрес. Аналогично тому, когда мы прячем что-то на самом видном месте. Если бы вирус был закодирован способом, при котором создается закрытый ключ, известный только хакеру и его жертве, это было бы гораздо подозрительнее, чем кодирование системы генерации ключа, которая производит легко раскрываемый закрытый ключ.

Что дальше?

Несмотря на то, что обнаруженная информация очень тревожна, безопасность Биткоина не пострадала. 99,999% генерируемых закрытых ключей создаются случайным образом, и если ключ генерируется правильно, статистически возможность того, что ваши закрытые ключи будут расшифрованы, крайне ничтожна. Обращаясь к примеру с количеством секунд, прошедших с зарождения вселенной, попытку раскрыть случайно сгенерированный ключ можно сравнить с попыткой угадать во всем этом количестве секунд одну конкретную секунду. Очень маловероятно, что вы угадаете хотя бы год, не говоря уже о месяце, дне, часе, минуте и секунде. Если вы пользуетесь проверенным кошельком и контролируете его закрытые ключи, вы 100% не пострадаете.

Беспокоиться следует людям, которые пользуются услугами третьих сторон, таких как биржи или онлайн-кошельки. С другой стороны, стоит также отметить, что прямых доказательств причастности сайта blockchain.info или кого-то другого к краже биткоинов /u/fitwear или другим подозрительным транзакциям, обнаруженными анонимным пользователем в блокчейне, не существует.

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

Источник

Приватный ключ кошелька Биткоин: где хранится и как узнать

Для защиты виртуальных монет от злоумышленников важно хранить приватный код вдали от посторонних глаз — на бумаге, на выносном носителе или в других местах. С помощью закрытого ключа осуществляется перевод Bitcoin с одного кошелька на другой. При этом импорт такого кода без проведения транзакции является опасным и не рекомендуется даже опытными держателями криптовалюты. Это связано с тем, что BTC можно украсть из бумажника, импортировавшего приватный ключ.

В чём отличие приватного ключа кошелька Биткоин от публичного адреса?

При создании бумажника в распоряжении пользователя имеется два ключа от кошелька Биткоин:

    Приватный (частный, закрытый) — код, который состоит из букв и цифр. Он применяется для отправки виртуальных денег другим пользователям и представляет собой 256-битное числовое значение, выбираемое случайным образом сразу после создания хранилища. Иногда секретный ключ зашифрован в виде фразы seed, состоящей из нескольких слов (к примеру, 12). В большинстве случаев именно сид-фраза выступает в роли гаранта сохранности денег. Наличие под рукой этого набора символов позволяет в любой момент получить доступ к бумажнику. Иными словами, приватный ключ — любое число от «1» до 10 в 77-й степени. Благодаря такому диапазону, подобрать код практически невозможно. Из-за того, что в состав приватных ключей входит множество цифр, для них придуман специальный формат WIF. Его отличительная особенность — первая цифра «пять». Пример закрытого кода в формате WIF — 5KJvscgHeMpm884wtkJNzSGaCErckhHJBGFsvd3ByK5qMZXj3hS.

Читайте также:  Устанавливаем пул для майнинга
  • Открытый ключ — публичный адрес, который можно использовать для получения денег. Он также представляет собой последовательность букв и цифр, связанную с частным ключом от кошелька Биткоин. В отличие от рассмотренного выше кода, первой цифрой этой последовательности является единица. Ещё одна особенность — возможность генерации любого числа общедоступных адресов из закрытых ключей. К примеру, публичный код может создаваться для каждой отдельно взятой операции.
  • Для понимания сути ключей (закрытого и открытого) можно привести пример с обычным почтовым ящиком. Чтобы отправить письмо (Биткоины) другому человеку требуется знать адрес (публичный ключ) человека. Чтобы забрать отправление, у получателя должна быть специальная отмычка (закрытый ключ). Если в руки постороннему человеку попадает приватный код, он получает доступ письмам (деньгам).

    Как получить приватный ключ Биткоин-кошелька — варианты

    Иногда пользователи виртуальной валюты задаются вопросом правильного хранения секретного кода. Для этого важно разобраться, как узнать приватный ключ Биткоин-кошелька для различных хранилищ. Отметим, что адрес формируется в автоматическом режиме. Для этого применяются специальные сервисы, генерирующие секретный код (как правило, они включены в бумажник). Ещё один вариант — получение приватного ключа путём генерации на специальном сайте.

    Бумажное хранилище

    Наиболее удобный способ генерации — использование сервиса bitaddress.org. Чтобы получить общедоступный и приватный ключ кошелька Биткоин, делаем следующие шаги:

      Идем по указанной выше ссылке, двигаем стрелочкой мышки по дисплею и наблюдаем за цифрой на экране. Как только она достигает отметки в 100 процентов, работа окончена.

    Получаем информацию с QR-кодом (публичным ключом) и последовательностью символов, которая должна храниться вдали от посторонних глаз.

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

    Десктопные бумажники

    Теперь рассмотрим, как узнать ключ от программного Биткоин-кошелька для программного бумажника на примере Exodus. Действуем следующим образом:

      Переходим в меню разработчика (как вариант, используем быстрый доступ — Ctrl+Shift+D).

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

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

  • Копируем из неё секретную информацию, а саму папку удаляем.
  • Онлайн-кошельки

    Сегодня одним из наиболее востребованных кошельков является Blockchain. Ранее в нём предусматривалась опция получения ключа Биткоин-кошелька, но теперь её нет. Вместо этого появилась возможность создания секретной фразы из 12 слов, которая и выступает в роли пароля для доступа к бумажнику. Ниже рассмотрим, как с помощью этих сведений можно получить приватный ключ:

      Переходим в хранилище, раздел настроек и безопасности, после чего идём в раздел создания резервной фразы.

    Изучаем, а в случае необходимости распечатываем лист восстановления, после чего прячем его в надёжном месте (особенно актуально при продолжительном хранении криптовалюты).

    Фиксируем предложенные четыре слова, далее жмём на кнопку продолжения и переписываем очередную партию (до момента, пока в руках не будет все 12 слов).

    Вводим по предложению бумажника четыре слова (любые из 12) для проверки корректности записи. Теперь секретная фраза под рукой. Её необходимо хранить так, чтобы исключить попадание в руки другим пользователям.

    Переходим по ссылке iancoleman.io/bip39/. При вводе адреса важно быть внимательным, чтобы не попасть на поддельную площадку.

    Отключаемся от Сети и указываем в соответствующей графе BIP39 Mnemonic записанную фразу из 12 слов.

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

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

    Важно понимать, что последовательность символов не хранится в сети Bitcoin, а сохраняется с помощью специального ПО, онлайн или на бумаге. Если вы используете для своих сбережений онлайн-сервисы, то стоит понимать, что ключи хранятся на сторонних серверах, а не у вас. Вы имеете только пароль для защищённого доступа к своему аккаунту. Ключи находятся в вашем распоряжении только, если вы используете аппаратные, бумажные и десктопные бумажники. После копирования их можно хранить следующим образом:

    Читайте также:  Типы инвестиций капитале прямые портфельные

      На бумаге. Это наиболее актуально для бумажных кошельков, но можно использовать и для аппаратных. При этом стоит понимать, что такой способ имеет свои минусы — листок с ключами может повредиться (сгореть при пожаре, размокнуть при потопе), его могут украсть или сфотографировать. В случае повреждения доступ к средствам будет утерян навсегда, а в случае кражи ваши деньги заберёт себе мошенник.

    На флешке хранить можно скриншот или фото приватного ключа, документ PDF, резервную копию wallet.dat. Важно, чтобы доступа к накопителю ни у кого не было. Используйте для хранения такой важной информации отдельную флешку и не забудьте её запаролить.

    На компьютере. Это конечно не самый безопасный вариант хранения — компьютер могут взломать, украсть, повредить. Он может просто сам заглючить и тогда есть высокий риск потерять приватный ключ.

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

  • В памяти. Конечно, запомнить длинный цифробуквенный код сложно, но можно зашифровать его в набор слов. Например, первые 10 символов 5KXKvnTZzB. Цифры так и оставляем, а вот буквы используем для создания слов. Пусть большие буквы соответствуют именам, а маленькие — обычным. С предложенного отрезка приватного ключа у нас получится: 5 Katya Xenia Kolya vesna narod Tanya Zoya Zvezda Boris и так далее. Это набор слов можно выучить или записать где-то. Даже если кто-то его увидит, то вряд ли поймёт, о чём речь.
  • Перед тем, как получить закрытый ключ, хорошо подумайте о его надёжном хранении. Важно защитить информацию не только от мошенников, но и от стихийных бедствий или ЧП.

    Импорт приватного ключа Биткоин-кошелька и свиппинг

    В процессе пользовании криптовалютой может потребоваться импорт ключа Биткоин-кошелька. Как вариант — перенос секретной последовательности из бумажного хранилища на программный кошелёк. При транспортировке кода важно учесть, что в результате таких действий получается только копия, что влечёт ряд рисков для пользователя — потери или кражи посторонним лицом. Вот почему в процессе импорта важно быть внимательным и помнить о необходимых мерах безопасности. Если бумажное хранилище передано другим пользователем, импортировать ключи не рекомендуется. Это легко объяснить, ведь полученная копия может быть второй. В такой ситуации больше подходит свипинг.

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

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

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

    Что нужно знать о приватном ключе Биткоин-кошелька?

    В завершение стоит выделить ряд аспектов о секретном коде бумажника Bitcoin:

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

    Любой человек, владеющий секретным кодом или seed-фразой, имеет доступ к деньгам пользователя. Наиболее популярные пути для кражи средств — с ПК, выносных носителей или по каналам общения. Вот почему важно придерживаться мер безопасности в процессе хранения такой информации. К примеру, программные хранилища переносят приватные ключи в специальный файл, который находится в памяти компьютера. При правильном подходе любой хакер может получить к нему доступ. Для защиты информации важно зашифровать ключ с помощью специальной программы, а при создании бэкапов стоит быть внимательным и надёжно защищать их от кражи.

    Адрес генерируется из публичного ключа, который получается из секретного кода.

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

  • Как правило, кошелёк не показывает частный код, но при желании получить приватный ключ Биткоин-кошелька всё-таки можно. Как это сделать, рассмотрено выше.
  • Чтобы избежать потери средств, важно внимательно подойти к хранению криптовалюты и ответственно относиться к защите приватного ключа кошелька Bitcoin от злоумышленников, стихийных бедствий и других негативных факторов.

    Смотрите видео о том, как получить приватные ключи с Blockchain:

    Источник

    Оцените статью