Drift Protocol, geçtiğimiz günlerde alışılmış siber saldırılardan farklı bir yöntemle önemli bir kayıpla karşı karşıya kaldı. İşlem sırasında herhangi bir açık ya da özel anahtarın ele geçirilmesi söz konusu olmadı; ayrıca hızlı kredi saldırısı veya manipüle edilen bir oracle problemi de yaşanmadı. Bunun yerine, saldırganlar Solana blokzincirinde yasal olarak bulunan ‘durable nonce’ özelliğinden yararlanarak Drift’in çoklu imza güvenlik kurulunun haftalar öncesinden onayladığı ve ilerleyen zamanda istenmeyen bir bağlamda işleme alınan iki ayrı işlemi devreye soktu.
Durable nonce nedir ve nasıl kullanıldı?
Solana üzerinde her işlem, yaklaşık 60-90 saniyelik süresi olan özel bir ‘blockhash’ ile gönderiliyor. Bu, işlemin güncel olduğunu kanıtlayan ve tekrar oynatılmasını önleyen bir güvenlik adımı. Ancak ‘durable nonce’ olarak adlandırılan başka bir işlem şekli, bu zaman sınırını ortadan kaldırıp tek kullanımlık bir kodun yer aldığı ayrı bir hesap üzerinden işlemin süresiz şekilde geçerli kalmasını sağlıyor. Bu özellik genellikle donanım cüzdanları veya kurumsal saklama çözümleri için kullanılıyor.
Ne var ki, bu esneklik kötü niyetli kişilerin geçmişte onaylattıkları işlemleri haftalar sonra aniden göndermelerine de ortam hazırlayabiliyor. İmzalayan kişi, işlemi onayladıktan sonra, onayın iptali yalnızca ilgili nonce hesabının elle güncellenmesiyle mümkün ve çoğu kullanıcı bu işlemi yakından takip etmiyor.
Drift’in yönetiminde bulunan beş kişilik güvenlik kurulunda, her işlemin gerçekleşebilmesi için en az iki üyenin imzası gerekiyor. Bu yöntem DeFi sektöründe standart bir koruma mekanizması olarak dikkat çekiyor ve temel olarak bir kişinin tehlikeye atılması durumunda dahi fonların güvenliğini amaçlıyor.
Saldırının seyri ve fonların izlenmesi
Mart ayının son haftasında, dört adet durable nonce hesabı açıldı; bunların ikisi kuruldaki gerçek üyelerle ilişkiliyken, diğer ikisi saldırganlarca kontrol edildi. Böylece saldırganlar, iki kurul üyesinin geçerli onayını önceden almış oldu. 27 Mart’ta Drift’te bir kurul değişimi yapıldı, saldırganlar kısa sürede bu değişime uyum sağladı ve gerekli imzaları yeni yapı üzerinde de tamamladı.
İlk olarak protokolün sigorta fonundan yasal bir test çekimi gerçekleştirildi. Ardından, saldırganlar önceden imzalanmış işlemleri Solana ağına gönderdi ve toplamda iki ayrı işlemle, yönetim izinlerini ele geçirip ayrıca sahte bir çekim mekanizması oluşturdu. Fonlar hızla çekildi.
Blokzinciri analistleri, yaklaşık 270 milyon dolar değerindeki çeşitli kripto paranın farklı cüzdanlara aktarıldığını tespit etti. En büyük kayıp 155,6 milyon dolar ile JPL tokeninde görülürken, devamında 60,4 milyon dolar USDC, 11,3 milyon dolar CBBTC, 5,65 milyon dolar USDT ve dahil olmak üzere onlarca farklı kripto varlıkta kayıplar yaşandı.
Ana cüzdan, saldırıdan sekiz gün önce NEAR Protocol üzerinden finanse edilip, saldırı gününe dek hiç işlem yapmadan beklemişti. Varlıklar daha sonra, kimlik doğrulaması gerektiren Backpack adlı borsada açılan ara cüzdanlara yönlendirildi. Bu durum, araştırmacılara yeni ipuçları sağlayabilir.
Zincir üzerindeki işlemleri takip eden araştırmacı ZachXBT, saldırının ardından 230 milyon dolardan fazla USDC’nin Circle’ın çapraz zincir transfer protokolüyle Ethereum’a aktarıldığını belirtti. Ayrıca, USDC ihraççısı Circle’ın saldırıdan sonraki altı saatlik süreçte çalınan varlıkları dondurmadığı yönünde eleştiri getirdi.
Olayda, çoklu imza sisteminin arkasındaki insan faktöründeki zafiyet öne çıktı. Durable nonce özelliği, onayın imzalandığı zamanı işlem gönderiminden günler veya haftalar önceye taşıdığı için süreçte ciddi bir denetim eksikliği ortaya çıktı. Protokoldeki borç verme, kasa yatırımları ve ticaret fonlarının tamamı saldırıdan etkilendi; ancak Drift’e yatırılmayan DSOL varlıkları ve Drift doğrulayıcısına stake edilen varlıklar zarar görmedi.




