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

Рекомендации по организации хранения криптовалют и токенов

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

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

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

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

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

Шифрование и пароли. Примите как факт, что ваш компьютер, телефон, флэшка или доступ к почтовому ящику и другим сервисам могут оказаться в руках злоумышленников. При этом надо не дать возможности злоумышленнику получить доступ к кошелькам. Если все ваши устройства надежно зашифрованы, а пароли не похожи на Qwerty123, то как минимум вы выиграете время на то, чтобы перевести активы на другие кошельки, а как максимум получение устройств и доступов будет для злоумышленника бесполезным. Поэтому используйте по максимуму шифрование, в том числе на системных разделах, смартфонах, архивах, бэкапах. Ставьте пароли на загрузку и разблокировку смартфона. На компьютерах не должно быть учетных записей без надежных паролей. На веб сервисах используйте двухфакторную аутентификацию, где это возможно. Ставьте надежные и разные пароли на все сервисы и устройства. Желательно с какой-то периодичностью их менять на новые.

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

Не оставляйте вещи без присмотра. Про флэшки или смартфон без пароля всем все понятно. Но в некоторых случаях даже ноутбук может быть взломан просто при вставлении в USB порт устройства, похожего на флэшку. А на самом деле это будет аппаратный HID эмулятор клавиатуры и набор эксплоитов. Так что в Windows среде после настройки всех своих устройств рекомендуется запретить автоматическую установку драйверов и устройств, активировав политику «Запретить установку устройств, не описанных другими параметрами политики».

Что делать если уже обнаружен взлом?

- Отключить от сети атакуемый компьютер, проверить что украдено, что нет.

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

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

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

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

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

Общие рекомендации по безопасности

Фишинг. Чаще всего атакуют сайты бирж, онлайн кошельков, популярных обменников.

В лидерах myetherwallet.com, blockchain.com и localbitcoins.com. Чаще всего мошенники регистрируют домен, похожий на атакуемый. Заливают туда безобидный сайт или форум. Покупают рекламу в поисковиках на него. Как только рекламные объявления проходят модерацию, сайт подменяется на клон атакуемого сайта. Настоящий при этом не редко начинают DDoS’ить. Пользователь не может попасть на сайт, вводит в поисковике его название, кликает по первой строчке в выдаче, не посмотрев, что это реклама, и оказывается на сайте мошенников, который выглядит, как настоящий. Далее он вводит свои логины и пароли, и деньги с его аккаунта утекают злоумышленникам. Зачастую не помогает даже двухфакторная аутентификация, пин коды и т.п. Пользователь сам это все введет. Скажем, при логине введет код, система скажет, что код не верный, введите еще раз. Он введет второй код. А на самом деле первый код использовался для входа, а второй для подтверждения вывода средств.

Другой пример – отложенные атаки. Когда вы открываете присланный вам сайт, который выглядит как безопасный, и оставляете вкладку открытой. Через какое-то время при отсутствии действий на странице, ее содержимое подменяется на фишинговый сайт, который просит авторизоваться. К уже открытым ранее вкладкам пользователи обычно относятся с большим доверием, чем открываемым, и могут не проверив ввести свои данные.

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

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

Дополнительные проверки. Для наиболее посещаемых и важных сайтов на безопасном компьютере засеките несколько косвенных параметров. Например, издателя сертификата и дату его окончания. Значение счетчика Alexa или примерного трафика по Similarweb. Можете добавить свои параметры. И при заходе на сайты отслеживайте их. Скажем, если сменился вдруг сертификат задолго до окончания старого – это повод насторожиться и дополнительно проверить сайт. Или, к примеру, если раньше bitfinex.com показывал по Alexa счетчику около 7 тыс. очков, а сейчас вдруг показывает 8 млн. – то это явный признак, что вы на мошенническом сайте. То же самое с показателями Similarweb, используемым CDN, регистратором доменного имени, хостером и т.п.

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

Безопасный канал. Чтобы более безопасно работать из публичных сетей, имеет смысл сделать собственный VPN сервер. Для этого можно купить виртуалку в одном из хостеров за рубежом, локацию можете выбрать по своему усмотрению. Средняя стоимость виртуалки $3 - $7 в месяц, это вполне подъемные деньги за чуть более безопасный доступ к сети. Устанавливаете на сервере собственный VPN сервер и весь трафик с мобильных устройств и компьютеров пускаете через него. До VPN сервера весь трафик дополнительно шифруется, так что вам не смогут отравить DNS, или получить дополнительные данные из вашего трафика, установив на его пути снифер.

Windows/Linux/Mac OS? Лучшая операционная система та, которую вы сможете наиболее профессионально настроить и безопасно в ней работать. Лучше хорошо настроенная Windows, чем плохо настроенный Linux. Проблемы безопасности находят во всех операционных системах, и нужно вовремя их латать. Однако под Windows пишется наибольшее количество вредоносного софта, чаще всего пользователи сидят с правами администратора и при прощупывании системы в первую очередь мошенники пробуют использовать эксплоиты под Windows. Поэтому при прочих равных стоит выбрать менее распространенную и более ориентированную на безопасность операционную систему, например, один из дистрибутивов Linux.

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

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

Если же вы установили антивирус, держите базы актуальными, не удаляйте и не “смахивайте” проверки на malware, внимательно относитесь ко всем оповещениям и проводите периодически полную проверку системы.

Подумайте о целесообразности установки антивируса на свои смартфоны и планшеты.

Песочницы. Заведите отдельную виртуалку для просмотра присланных файлов. Всегда есть риск получить документ с 0-day эксплоитом, который еще не обнаруживается антивирусом. У виртуальных машин есть такой плюс, как довольно быстрая работа со снепшотами. То есть выделаете слепок системы, запускаете на ней сомнительные файлы, и после окончания работ возвращаете состояние виртуалки на момент, когда вы подозрительные файлы еще не открывали. Это нужно как минимум для последующей безопасной работы с другими данными.

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

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

Общение. К любым сообщениям при телефонных разговорах или переписке относитесь так, как будто их точно читают/прослушивают и записывают сторонние люди. Так что никаких чувствительных данных открытым текстом.

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

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

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

1. Требуется хранение небольших сумм и оперативный доступ

Заводим аккаунт в онлайн кошельке.

Делаем бэкапы закрытых ключей, шифруем, разсылаем в пару мест.

Убеждаемся, что есть доступ и со смартфона тоже.

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

2. Требуется хранение разных сумм и постоянный доступ

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

С учетом требования постоянного доступа, холодный кошелек придется держать онлайн. Рекомендуется собрать для этого отдельный сервер с RAID 1 массивом, зашифровать массив, установить кошелек. Компьютер поставить на колокейшн в дата-центр, договор лучше оформить не на себя, а на кого-то из друзей. Сделать бэкапы ключей с обоих кошельков, отдельно сделать бэкапы доступов к серверу, зашифровать все и разослать в десяток разных мест.

Завести отдельный ноутбук или моноблок(для экономии) для доступа к этому серверу по зашифрованному каналу. Диск ноутбука зашифровать. Больше ни для чего этот ноутбук не должен использоваться.

В итоге имеем постоянный доступ с веб кошелька и возможность пополнять его с холодного хранилища. Стоимость разовых расходов примерно $500 за ноутбук или моноблок, $700 за сервер(можно БУ), и $50 за колокейшн. Если собираетесь хранить криптоактивы на десятки или сотни тысяч долларов, то это экономически целесообразно. Для штатной работы с моноблока по сети забирается из расшаренного документа адреса и суммы для оплаты, с помощью удаленного доступа по шифрованному каналу идет связь с сервером, откуда уже производится оплата. Если физически украдут моноблок или сервер, то злоумышленники не получат доступа к кошелькам из-за зашифрованных разделов. Если вам понадобится срочный доступ к холодному кошельку из непривычной локации, вы можете купить там новый ноутбук, скачать бэкап доступов и развернуть на нем доступ к холодному кошельку на сервере.

3. Помимо оперативного доступа вам нужно хранить значительные суммы

Помимо веб кошелька и сервера из первого и второго кейсов заводим еще несколько кошельков. Можно аппаратные кошельки, отдельные ноутбуки для определенных типов активов и т.п. Самый большой холодный кошелек будет оффлайн. В банковском хранилище, или депозитарии, или в собственной пещере, или еще каком-то надежном месте. Для него подготавливаем компьютер без жестких дисков, загрузка будет с CD диска. Не с флэшки, потому что она доступна для записи. На диск предварительно записываем загрузочный линуксовый life cd, утилиту для подписи транзакций и зашифрованный приватный ключ. Сделать бэкапы всех кошельков и ключей, сделать многоуровневое шифрование бэкапов, их копии разослать в различные географически разнесенные места и различные типы устройств хранения.

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

Заключение

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

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


История взлома от  Сергея Симановского
Как предотвратить взлом и воровство криптовалюты?
Что делать если уже обнаружен взлом?
Общие рекомендации по безопасности
Примеры построения архитектуры для хранения криптоактивов