Прошлое не даёт прогнозов, но учит видеть риск · 2012

Три взлома Bitcoinica: предупреждение, которого оказалось недостаточно

Bitcoinica пережила три крупных инцидента за несколько месяцев. Главный вопрос этой истории — почему после первого предупреждения система осталась уязвимой для второго, а последствия второго открыли дорогу третьему.

Первый инцидент: 43 554 BTC

1 марта 2012 года злоумышленник получил доступ к нескольким учётным записям клиентов хостинговой компании Linode, связанным с Биткоином. Одной из целей стала инфраструктура Bitcoinica.

На следующий день основатель площадки Чжоу Тун сообщил о потере 43 554 BTC и опубликовал идентификаторы подозрительных транзакций. Компания заявила, что собирается полностью возместить клиентские средства из накопленной прибыли.

Ущерб признали, транзакции показали публично, клиентам пообещали возмещение. Но главный вопрос остался: почему такое количество BTC находилось в среде, доступной через учётную запись хостинга?

Возмещение не исправляет архитектуру

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

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

Второй инцидент: 18 547 BTC

11 мая Bitcoinica снова остановила работу. Была обнаружена транзакция на 18 547,66867623 BTC, которую, по сообщению площадки, не инициировал никто из владельцев. Серверы размещались уже у Rackspace; компания попросила заблокировать инфраструктуру и начала расследование.

В раннем сообщении утверждалось, что более 80% BTC находилось в офлайн-хранилище. Но доступной части всё равно хватило для огромной потери. Фраза «большая часть хранится холодно» ничего не говорит о безопасности горячего остатка.

Площадка потеряла не только BTC

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

Блокчейн показывает, сколько BTC ушло с адреса, но не знает, кому площадка должна вернуть монеты. Если внутренний учёт повреждён или неполон, даже оставшиеся средства невозможно быстро и бесспорно распределить.

Третий инцидент — уже после остановки

После второго взлома площадка не вернулась к нормальной работе. Началась обработка требований клиентов. Но 13 июля было объявлено о новом несанкционированном доступе — теперь к счёту Bitcoinica на Mt. Gox. Сообщалось о выводе 40 000 BTC.

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

Площадка уже не торговала, однако активы и учётные записи продолжали существовать — и оставались целью.

Смена людей не обнуляет старый доступ

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

Новая команда не получает чистую систему автоматически. Она наследует все неизвестные решения, сделанные до неё. Без полного списка доступов нельзя доказать, что контроль действительно передан.

Сеть Биткоина продолжала работать

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

Главная ошибка была не одной

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

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

Урок для владельца BTC

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

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

Проверить первоисточники

  1. Потеря 43 554 BTC после компрометации Linode
  2. Сообщение о транзакции на 18 547,66867623 BTC
  3. Компрометация счёта Bitcoinica на Mt. Gox
  4. Обсуждение перехода Bitcoinica к ликвидации

Исторический и образовательный материал. Часть обстоятельств публично оспаривалась; статья не приписывает ответственность конкретному человеку без подтверждённого решения.

Вернуться к рубрике