Back to Blog

Инцидент с протоколом Drift: компрометация мультисиг-управления через эксплуатацию durable nonce

Code Auditing
April 3, 2026
8 min read
Key Insights

1 апреля 2026 года (UTC) протокол Drift на Solana был скомпрометирован в результате скоординированной атаки, сочетающей манипуляцию с одобрением мультиподписи и эксплуатацию durable nonce (постоянных нонсов) — механизма транзакций Solana, позволяющего предварительно подписанным одобрениям оставаться действительными неограниченное время. Это привело к убыткам, оцениваемым примерно в 285,3 млн долларов [1, 2]. После многонедельной подготовки в сети злоумышленник побудил двух из пяти участников мультиподписи Совета безопасности подписать вредоносные транзакции управления с помощью фишинга или вводящих в заблуждение запросов на подпись. Подписанные инструкции удерживались до выбранного злоумышленником момента, а затем были выполнены в виде двух быстрых транзакций, что позволило захватить права администратора и передать контроль над протоколом. Обладая полными привилегиями администратора, атакующий внедрил вредоносный актив обеспечения (CVT), завысил его цену через оракул, ослабил механизмы защиты вывода средств и вывел высоколиквидные активы через механизмы кредитования протокола.

На момент написания Drift выпустил предварительное заявление [1], но еще не опубликовал полноценный пост-мортем (отчет об инциденте). Представленный ниже анализ основан на общедоступных данных блокчейна, официальной хронологии Drift и независимых исследованиях [2]. Сначала мы рассмотрим, как durable nonces фундаментально меняют допущения безопасности мультиподписей, затем восстановим хронологию многонедельной подготовки атаки, процесс захвата управления и вывода средств, и в завершение подведем итоги с рекомендациями по снижению рисков данного типа.

Лучший аудитор безопасности для Web3

Проверьте дизайн, код и бизнес-логику до запуска

Предпосылки

Drift Protocol и мультиподпись Squads

Drift Protocol — это DeFi-протокол на Solana, поддерживающий маржинальную торговлю, кредитование, спотовые рынки и деривативы. Его операции с высокими привилегиями, включая смену администратора, создание рынков, настройку оракулов, обновление параметров риска и корректировку лимитов вывода средств, управляются мультиподписью, а не одним закрытым ключом.

Drift использует фреймворк мультиподписи Squads, распространенную систему ончейн-управления в Solana. В Squads привилегированные действия упаковываются как транзакции в рамках предложения. Как только достаточное количество участников одобряют предложение, сохраненные инструкции могут быть выполнены атомарно через vaultTransactionExecute. На момент атаки Совет безопасности Drift работал в конфигурации «2 из 5» без задержки по времени (timelock), что означало возможность для любых двух из пяти подписантов авторизовать административные действия с немедленным вступлением в силу. Безопасность такой системы зависит не только от хранения ключей, но и от целостности всего процесса одобрения: какие транзакции были созданы, что именно подписывали участники и соответствовали ли финальные исполняемые инструкции контексту их проверки.

Аккаунты Durable Nonce

Аккаунты с durable nonce (постоянными нонсами) привносят критически важное временное измерение в исполнение транзакций [3]. В обычных условиях транзакции Solana полагаются на хэш недавнего блока и быстро истекают после подписи, если не будут отправлены вовремя. Durable nonces заменяют этот краткосрочный хэш блока нонсом, хранящимся в выделенном аккаунте, что позволяет подписанной транзакции оставаться действительной неограниченное время до тех пор, пока нонс не будет изменен. Эта функция полезна для таких сценариев, как офлайн-подписание или отложенная отправка, но она также создает важный вектор атаки: она отделяет момент подписания транзакции от момента её исполнения в сети. Важно отметить, что после того как подписант одобряет транзакцию с durable nonce, он не может отозвать свою подпись, если только владелец аккаунта нонса вручную не обновит его.

Это разделение оказывает тонкое, но фундаментальное влияние на безопасность мультиподписи. При обычных транзакциях, основанных на хэше блока, короткое окно истечения срока действия выступает неявным слоем защиты: авторизация подписанта либо выполняется оперативно, либо безвредно истекает. Это временное ограничение означает, что даже если подписанта удалось обмануть и заставить одобрить вредоносную транзакцию, злоумышленнику необходимо транслировать её в узком временном окне, что ограничивает возможности для скоординированной многоэтапной атаки. Durable nonces полностью устраняют это ограничение. Благодаря бессрочным подписям цена ошибки при подписи фундаментально меняется: обманное одобрение не «сгорает» через несколько минут, а остается доступным для эксплуатации без автоматического ограничения по времени, предоставляя атакующему полный контроль над временем исполнения и возможность для координации последующих шагов в любой момент.

Анализ атаки

Атака разворачивалась в три этапа. На этапе подготовки злоумышленник в течение нескольких недель создавал поддельный актив обеспечения и получал доступ к управлению через вводящие в заблуждение запросы на подпись. На этапе захвата управления две предварительно подписанные транзакции с durable nonce были отправлены одна за другой для получения административных прав. На этапе вывода средств злоумышленник манипулировал параметрами протокола и опустошил пул реальных активов через механизмы кредитования. Диаграмма ниже иллюстрирует ход выполнения атаки по трем фазам. Параллельный трек создания CVT, описанный в разделе подготовки, на диаграмме не отображен.

Подготовка к атаке

Атака не была разовой акцией, это была многонедельная операция, состоящая из двух параллельных треков подготовки. Первый трек заключался в создании правдоподобного актива. 11 марта злоумышленник вывел 10 ETH через Tornado Cash и использовал средства для выпуска токена CarbonVote Token (CVT), выпустив 750 миллионов единиц. В последующие недели атакующий обеспечил небольшое количество ликвидности на Raydium и с помощью фиктивной торговли создал искусственную историю цен около 1 доллара, придав CVT видимость рыночной легитимности [4].

Второй трек был направлен на получение доступа к управлению. Согласно официальной хронологии Drift [1], 23 марта были созданы четыре аккаунта с durable nonce: два были привязаны к членам мультиподписи Совета безопасности Drift, а два других контролировались злоумышленником. Это указывало на то, что как минимум двое из пяти подписантов уже одобрили транзакции, связанные с durable nonces, что обеспечило злоумышленнику необходимый порог одобрения «2 из 5».

27 марта Drift провел запланированную миграцию Совета безопасности в связи с заменой члена совета. Эта миграция аннулировала ранее собранные подписи под старой конфигурацией. Однако к 30 марта появился новый аккаунт с durable nonce, связанный с участником обновленной мультиподписи, что означало, что злоумышленник повторно получил необходимый порог одобрения при новой конфигурации.

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

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

Захват управления

Примерно в 16:05 UTC 1 апреля злоумышленник отправил две предварительно подписанные транзакции с durable nonce с разницей в четыре блока. Первая транзакция (2HvMSg...2C4H) создала и одобрила предложение о передаче прав администратора. Вторая транзакция (4BKBmA...RsN1) одобрила и исполнила его, начав с AdvanceNonceAccount для активации сохраненного нонса, затем перейдя через proposalApprove и vaultTransactionExecute, и в конечном итоге вызвав UpdateAdmin для передачи прав администратора на адрес, контролируемый злоумышленником.

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

Вывод средств

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

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

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

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

Как только эти шаги были выполнены, злоумышленник внес большое количество переоцененного CVT в протокол, а затем выполнил 31 быструю операцию вывода средств примерно за 12 минут, опустошив запасы реальных активов, включая USDC, JLP, SOL, cbBTC, USDT, wETH, dSOL, WBTC, JTO и FARTCOIN. Это замкнуло цикл извлечения прибыли: получение контроля над управлением, изменение параметров, упаковка бесполезного актива как высокоценного обеспечения и вывод средств по существующим каналам кредитования и вывода протокола.

На момент написания материала общая сумма убытков составляет 285 279 417,69 долларов, исходя из аккаунта вывода средств злоумышленника (HkGz4K...pZES).

Уроки

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

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

  • Механизмы отложенного исполнения требуют дополнительных мер безопасности в контексте управления. Durable nonces отделяют подписание от исполнения, удаляя неявные временные гарантии, на которые полагаются подписанты. В системах управления этот механизм должен дополняться более высокими порогами подписи, одобрениями с ограниченным сроком действия или возможностью их отзыва, а также ограничениями, предотвращающими неограниченное время действия подписанных транзакций.

Заключение

Данный инцидент был вызван не уязвимостью смарт-контрактов или компрометацией ключей, а сбоем в процессе авторизации мультиподписи в сочетании с отложенным исполнением на основе durable nonce. Атакующий предварительно собрал валидные одобрения мультиподписи от двух из пяти членов Совета безопасности через обманные запросы, сохранил их с помощью транзакций на базе durable nonce и позже выполнил их для захвата административного контроля. Последующий вывод средств стал прямым следствием скомпрометированного управления, осуществленного через в остальном легитимные операции протокола. Снижение рисков такого класса требует обеспечения защиты всего конвейера авторизации, внедрения таймлоков для операций с высокими привилегиями и реализации дополнительных мер защиты для механизмов отложенного исполнения. В сочетании с системами ончейн-мониторинга, способными обнаруживать аномальную активность управления в реальном времени, эти меры составляют комплексную систему защиты от подобных атак на уровне управления.

Ссылки

[1] DriftProtocol, "Официальное заявление": https://x.com/DriftProtocol/status/2039564437795836039

[2] Phalcon (BlockSec), "Анализ взлома протокола Drift": https://x.com/Phalcon_xyz/status/2039602380074016909

[3] Solana, "Введение в Durable Nonces": https://solana.com/developers/guides/advanced/introduction-to-durable-nonces

[4] CoinDesk, "Как злоумышленники Drift вывели более 270 миллионов долларов, используя функцию Solana, созданную для удобства": https://www.coindesk.com/tech/2026/04/02/how-a-solana-feature-designed-for-convenience-let-an-attacker-drain-usd270-million-from-drift


Начните работу с Phalcon Security

Обнаруживайте все угрозы, оповещайте о важном и блокируйте атаки.

Попробовать бесплатно

О компании BlockSec

BlockSec — поставщик услуг в области безопасности блокчейна и крипто-комплаенса полного цикла. Мы разрабатываем продукты и услуги, которые помогают клиентам проводить аудит кода (включая смарт-контракты, блокчейны и кошельки), перехватывать атаки в режиме реального времени, анализировать инциденты, отслеживать незаконные средства и соблюдать требования AML/CFT на протяжении всего жизненного цикла протоколов и платформ.

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

Best Security Auditor for Web3

Validate design, code, and business logic before launch. Aligned with the highest industry security standards.

BlockSec Audit