Что такое горячий кошелёк и как его защитить
Горячий кошелёк — кошелёк, приватные ключи которого хранятся на устройстве или сервере с доступом в интернет, что позволяет подписывать транзакции мгновенно.
Горячим называют любой кошелёк, ключи которого постоянно доступны подключённой к сети системе: мобильное приложение, расширение браузера, серверный кошелёк платёжного сервиса. Главное преимущество — скорость: транзакцию можно подписать и отправить в любую минуту, без ручных действий. Именно поэтому через горячие кошельки бизнес делает выплаты, возвраты и сбор средств.
Обратная сторона — риск. Если злоумышленник получит доступ к устройству или серверу, он получит и ключи, а значит и все средства. Типичные векторы атак: вредоносное ПО на компьютере, фишинговые сайты, кража сид-фразы из облачных заметок, утечка ключа из конфигурации или логов сервера. Поэтому для горячего кошелька действует простое правило: держать в нём только тот объём, который нужен для текущих операций.
Бизнес обычно разделяет средства на уровни. В горячем кошельке — оборотный остаток для выплат на ближайшее время. Основные резервы — в холодном хранении, куда нет онлайн-доступа. Пополнение горячего кошелька из холодного происходит вручную или по регламенту с несколькими подтверждениями. Так компрометация одного сервера не приводит к потере всей выручки.
Для серверных горячих кошельков важно и то, как устроена подпись. Хорошая практика — держать ключи в отдельном сервисе подписи с минимальным доступом, а не в основном приложении; ограничивать лимиты на сумму и частоту выплат; требовать второй фактор для подтверждения вывода; хранить журнал всех операций. Ошибка — хранить ключ в переменных окружения веб-сервера, к которому есть доступ у всей команды.
В Moonvex выплаты подтверждаются 2FA, а ключи подписи хранятся в отдельном сервисе подписи, изолированном от остальной системы.
Правила для горячего кошелька
- Держите только оборотный остаток, остальное — в холодном хранении.
- Изолируйте ключи в отдельном сервисе подписи.
- Ставьте лимиты на суммы и частоту выплат.
- Подтверждайте вывод вторым фактором.