Контакты
Подписка
МЕНЮ
Контакты
Подписка

Осуществление ИБ при использовании криптовалют

Осуществление ИБ при использовании криптовалют

В рубрику "Оборудование и технологии" | К списку рубрик  |  К списку авторов  |  К списку публикаций

Осуществление ИБ при использовании криптовалют

Если в привычных нам электронных платежных системах типа PayPal или WebMoney есть центральное связующее звено — эмитент, то у криптовалюты Bitcoin такого звена нет. Конечно, это дает некие преимущества в виде полного контроля над своими средствами и невозможности третьей стороны вмешаться в ваши финансовые операции, но сегодня мы поговорим об обратной стороне этой медали, а именно о безопасности.
Иван Тихонов
Владелец информационного ресурса
о криптовалютах BTCsec.com

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

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

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

Хранилищем средств в криптовалюте служит электронный кошелек. Обезопасить его от постороннего посягательства - одна из первоочередных задач. Для начала рассмотрим типы существующих кошельков для хранения Bitcoin.

Полный клиент

Безопасность Р2Р-сетиЗа более чем 4 года существования сети Bitcoin она была многократно изучена большим количеством специалистов по безопасности, и даже несмотря на открытые исходные коды, сеть не была ни разу серьезно скомпрометирована. Самым серьезным происшествием в этом плане можно назвать сплит основной цепочки блоков кошельками разных версий, в этот момент одному пользователю удалось удачно провести double spending-атаку, получив назад потраченные средства. Но эта атака стала возможной скорее случайно, при совпадении большого количества различных факторов, повторение такой ситуации крайне маловероятно. Таким образом, беспокоиться стоит скорее о своей локальной безопасности и пользоваться актуальными версиями ПО.

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

Плюсы:

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

Минусы:

  • полный клиент может занимать около 10 Гбайт на винчестере;
  • долгая синхронизация с сетью;
  • затруднения при переносе кошелька между компьютерами.

Легкий клиент

Отличается от полного тем, что не хранит всю историю транзакций локально, а обращается за ней к внешним сервисам.

Плюсы:

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

Минусы:

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

Онлайн-кошелек

Средства хранятся на стороннем онлайн-сервисе, который предоставляет к ним доступ по требованию.

Плюсы:

  • быстрый доступ к средствам практически откуда угодно и когда угодно.

Минусы:

  • ключи хранятся на стороннем сервисе, пользователь не имеет полного управления средствами.

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


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

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


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

Резервные копии кошелька

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

Делать резервную копию имеет смысл только с файла с ключами, программу кошелька можно скачать с официального сайта, а база транзакций при необходимости может быть легко восстановлена при подключении кошелька к сети. В официальном клиенте файл с ключами называется 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 - это особым образом полученный хэш от открытого ключа из пары открытого и закрытого ключей, которые хранятся в wallet.dat. При этом если закрытый ключ будет потерян, то, даже зная адрес, перевести средства уже никому не получится, эта потеря будет равнозначна потере всех монет, которые были на соответствующем этому ключу адресе.

Приведем краткий список основных правил:

  • удостоверьтесь перед любыми действиями, что вы находитесь на нужном сайте, а не на его копии, созданной злоумышленником (фишинг). Об опасности может говорить неправильный сертификат сайта или отсутствие SSL, ошибки в URL сайта, нетипичное для сайта поведение;
  • используйте сложные пароли, не используйте на разных сайтах один и тот же пароль;
  • не вводите свои учетные данные на чужих компьютерах, в безопасности которых есть сомнения;
  • держите на компьютере антивирус с актуальными базами;
  • не пренебрегайте дополнительными мерами безопасности, такими как подтверждение платежей через почту или Google Authenticator, если они предоставляются сервисом.

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

Заключение

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

Опубликовано: Журнал "Information Security/ Информационная безопасность" #3, 2013

Приобрести этот номер или подписаться

Статьи про теме