В рубрику "Оборудование и технологии" | К списку рубрик | К списку авторов | К списку публикаций
Отсутствие контроля со стороны какого-либо эмитента и невозможность отмены транзакций перекладывает вместе с новыми возможностями и всю ответственность за сохранность собственных средств на пользователя. Никто не сможет отменить транзакцию, если средства были отправлены мошенникам или кто-то украл электронный кошелек и воспользовался им.
Поэтому безопасность при работе с криптовалютой выходит на первый план. В данной статье будут рассмотрены основные аспекты организации безопасности при работе с этой электронной платежной системой.
Хранилищем средств в криптовалюте служит электронный кошелек. Обезопасить его от постороннего посягательства - одна из первоочередных задач. Для начала рассмотрим типы существующих кошельков для хранения Bitcoin.
Такой кошелек хранит в себе файл с ключами и полную историю всех сделок. Файл с ключами может быть дополнительно зашифрован. Кошелек от разработчиков оригинального Bitcoin-клиента относится именно к этому типу.
Плюсы:
Минусы:
Отличается от полного тем, что не хранит всю историю транзакций локально, а обращается за ней к внешним сервисам.
Плюсы:
Минусы:
Средства хранятся на стороннем онлайн-сервисе, который предоставляет к ним доступ по требованию.
Плюсы:
Минусы:
Не рекомендуется держать крупные суммы в онлайн-кошельках, так как они могут быть взломаны злоумышленниками или просто могут закрыться, не расплатившись по долгам. Такие случаи, к сожалению, уже имели место.
При хранении средств в полном или легком кошельке рекомендуется своевременно делать резервные копии файла с ключами, не хранить его на компьютере, к которому имеют доступ посторонние лица, и держать кошелек в зашифрованном виде.
Актуальные версии кошелька имеют встроенные средства для шифрования файла с ключами, для этого в настройках нужно указать пароль, который будет нужно вводить каждый раз при операциях отправки монет. Таким образом, даже если злоумышленник получит доступ к кошельку, но не будет знать пароль, то он не сможет украсть с него монеты (см. рис.).
Дополнительной защитой может стать хранение кошелька на виртуальной машине, которая загружается только в случае необходимости перевести кому-либо средства.
Организация создания резервных копий кошелька является не менее важной задачей, чем обеспечение отсутствия доступа к нему у злоумышленников. Если файл с ключами будет утерян и не будет его актуальной резервной копии, то средства на нем будут потеряны навсегда.
Делать резервную копию имеет смысл только с файла с ключами, программу кошелька можно скачать с официального сайта, а база транзакций при необходимости может быть легко восстановлена при подключении кошелька к сети. В официальном клиенте файл с ключами называется wallet.dat и располагается в служебной папке в профиле пользователя в системе.
Для Windows – это %appdata%/bitcoin, например для Windows 7 это C:/Users/_Имя_Учетной_Записи_/AppData/Roaming/Bitcoin.
Для Linux – это $HOME/.bitcoin/, например /home/_Имя_Учетной_Записи_/.bitcoin.
Копию файла wallet.dat в зашифрованном виде можно скопировать себе на почту или сохранить на флешке. Обратите внимание, что копию следует делать, только когда программа кошелька закрыта, иначе есть риск получить поврежденную копию.
К сожалению, сделать один раз бэкап файла с ключами и потом пользоваться кошельком без опаски потерять средства не всегда возможно. Каждый раз, когда в кошельке создается новый адрес и на него переводятся средства, копия предыдущего состояния файла восстановить их не поможет. Поэтому обновлять архивированный файл нужно после каждого добавления новых адресов в кошельке. Если новые адреса не создавались, а кошелек служил только для приема средств, то обновлять архивную копию необязательно.
К сожалению, это не вся информация, которую стоит знать о резервных копиях файла с ключами. Далеко не все знают о довольно сложной системе возврата сдачи в системе Bitcoin и ее последствиях. Заключается она в том, что при отправке средств кому-либо кошелек использует выходы предыдущих транзакций, в которых он сам получил монеты. Практически никогда не бывает так, что отправить надо ровно ту сумму, которая есть в транзакции получения. Скажем, мы получили с биржи 30 монет, хотим отправить другу 5 монет. В таком случае кошелек создаст транзакцию, в которой на входе будут полученные 30 монет, 5 из которых будут отправлены на адрес нашего друга, а оставшиеся 25 монет будут отправлены на один из адресов, которые находятся в нашем кошельке. И это будет уже не тот адрес, на который изначально пришли 30 монет, так устроена логика кошелька. Откуда возьмется этот еще один адрес? При создании файла с ключами кошелек заранее генерирует 100 пар ключей, которые прозрачно для пользователя используются для получения сдачи. Для каждой транзакции кошелек будет использовать новый адрес, и когда имеющиеся 100 ключей кончатся, он будет генерировать новые. Этот механизм опасен тем, что при генерации новых ключей их опять же не будет в нашей старой резервной копии. И даже просто при активном использовании кошелька резервная копия может стать неактуальной, несмотря на то что мы в явном виде не создавали новых адресов.
Поэтому рекомендуется периодически обновлять резервную копию после отправки средств с Bitcoin-кошелька.
Так или иначе, периодически приходится работать с внешними ресурсами, такими как биржи, обменники, онлайн-магазины и прочие сервисы. Такие сервисы представляют собой лакомый кусок для взломщиков, так как при успешной атаке те получают средства в анонимной криптовалюте. Поэтому при работе с подобными сервисами нужно соблюдать правила.
Приведем краткий список основных правил:
Если посмотреть на сервисы (см. табл.), которые работают с Bitcoin, то виден довольно большой прогресс в плане обеспечения безопасности для конечных пользователей.
Подводя итог рассмотрения угроз безопасности при работе с криптовалютой, хочется акцентировать внимание на том, что на пользователя возлагается повышенная ответственность. Если он сам передаст средства злоумышленникам или халатно отнесется к хранению кошелька, в результате чего файл с ключами будет утерян, то никто уже не сможет помочь вернуть средства или отменить транзакцию. Будьте бдительны. Пользуйтесь актуальными версиями ПО, используйте шифрование с надежными паролями, делайте бэкапы и помните, что безопасность хранения и использования криптовалюты зависит в первую очередь от вас самих.
Опубликовано: Журнал "Information Security/ Информационная безопасность" #3, 2013