Squads: расследование инцидента с @DriftProtocol продолжается; предварительно выявлены два скомпрометированных подписанта в админском multisig
Squads
Расследование инцидента с @DriftProtocol продолжается. По предварительным данным, злоумышленникам удалось скомпрометировать двух подписантов администраторского multisig Drift. Их подписи использовали для проведения транзакции, изменившей конфигурацию программы Drift.
Программы Squads не были скомпрометированы. Признаков взлома инфраструктуры Squads мы также не обнаружили, но продолжаем активную проверку, чтобы подтвердить это с полной уверенностью. Новые результаты опубликуем по мере поступления.
Рекомендации для операционно-критичных multisig
Порог подписей (threshold)
Multisig, который имеет операционный или административный контроль над программой, должен иметь порог подписей 3 и выше. Это вынуждает атакующего одновременно скомпрометировать несколько независимых подписантов и существенно повышает сложность атаки. По возможности подписанты должны быть распределены географически и организационно. Подписанты, разделяющие одну локацию, устройства или структуру организации, создают коррелированный риск.
Timelock
Multisig с контролем на уровне программы рекомендуется настроить timelock (доступно в Settings вашего Squads multisig). Timelock не помешает предложить вредоносную транзакцию, но создаст окно для ее обнаружения и отклонения до исполнения. Компромисс в том, что timelock замедляет легитимные экстренные реакции на баги или активные эксплойты, поэтому это нужно учитывать в операционной модели.
Оповещения и мониторинг
Для всех операционно-критичных multisig рекомендуем настроить мониторинг и алерты через нашего партнера по безопасности @RangeSecurity. Range дает два ключевых преимущества: альтернативный интерфейс для независимой проверки содержимого транзакций вне UI Squads и проактивные Slack-уведомления, чтобы подписанты получали сигнал до того, как предложение продвинется дальше. Нужна помощь с настройкой — напишите нам, мы подключим вас напрямую.
Высокий threshold, timelock и мониторинг — базовый набор для любого multisig с контролем на уровне программы.
Процесс подписания
Подписантам следует использовать выделенные устройства и аппаратные кошельки, а не компьютеры общего назначения. Дополнительно важно помнить: каждая подпись действительна примерно 2 минуты. Заложите минимум 2‑минутную паузу между действиями каждого подписанта, чтобы атакующий не смог собрать и "упаковать" подписи.
Всегда проверяйте содержимое транзакции независимо по всем трем источникам: UI Squads, альтернативный интерфейс Range и Solana Explorer либо Solscan.
О durable nonces
Атака на Drift использовала durable nonces, чтобы собирать подписи без временного давления и обходить 2‑минутный срок "истечения" транзакции, который обычно ограничивает подобные сценарии.
Мы изучаем способы заблокировать использование durable nonces во всех наших программах — как на уровне программ, так и через дополнительные механизмы принуждения — чтобы эта защита распространялась и на наши неизменяемые программы V3, V4 и текущую Smart Account Program.
Параллельно экосистема Solana предпринимает шаги на уровне протокола: готовится новый формат транзакций, в котором durable nonces как функция полностью исключаются. В ближайшее время поделимся подробностями.
Помимо multisig: операционная безопасность
Технические меры имеют предел. В большинстве громких компрометаций последних месяцев ключевым фактором была социальная инженерия, нацеленная на людей, которые владеют ключами, а не на сами контракты.
Если вы обеспечиваете работу критически важного протокола, инвестируйте в внутренние процессы opsec и культуру команды: важно, как инициируются, обсуждаются и утверждаются предложения. Рекомендуем привлекать профильных консультантов по безопасности. В качестве надежной отправной точки можно рассмотреть @zeroshadow_io и @0xGroomLake; при необходимости мы готовы напрямую познакомить вас.