9 Nisan 2023'te SushiSwap, Doğrulanmamış Harici Parametre nedeniyle bir istismarın hedefi oldu. Toplam kayıp yaklaşık 3,3 milyon dolar.
Ethereum'da önemli bir kullanıcı tabanına sahip önde gelen bir protokol olarak, bu tür üst düzey protokoller bile sözleşme yükseltmeleri sırasında ciddi yeni sorunlar ortaya çıkarmaya karşı savunmasız kalabilmektedir. Bu durum, DeFi topluluğuna güvenliğin her zaman en öncelikli konu olması gerektiğini hatırlatmaktadır. Üstelik bu güvenlik olayı, bir beyaz şapkalı güvenlik araştırmacısının kurtarma girişimiyle tetiklenmiş ve topluluk içinde ciddi tartışmalara yol açmıştır; 2023'ün en önemli on güvenlik olayından biri olarak öne çıkan bu olayı kısaca ele alıyoruz.
Arka Plan
SushiSwap
Tanınmış bir DEX olan SushiSwap, Uniswap'a karşı bir vampir saldırısı başlatarak büyük bir başarı elde etti. En yüksek noktasında TVL'si 8 milyar dolara ulaştı ve hâlâ yaklaşık 400 milyon dolar seviyesini koruyor.
Onay (Approval)
Kısaca: bir sözleşmenin cüzdanınızdaki belirli bir token'a erişmesi ve transfer etmesi için verilen izin.
Kolaylık sağlamak amacıyla birçok sözleşme varsayılan olarak sınırsız onay talep eder. Güvenlik risklerinden endişe eden pek çok kullanıcı, çeşitli protokollere yalnızca küçük miktarlar yatırır. Ancak bu kullanıcılar, protokollere sınırsız fon onayı vermektedir; bir protokolün güvenliği ihlal edilirse hesapta onaylanan tüm token'lar kaybedilebilir.
Güvenlik Açığı
Doğrulanmamış Harici Parametre
RouteProcessor2 sözleşmesinin processRoute() fonksiyonu, kullanıcılara çağrı akışı üzerinde tam kontrol sağlar (parametre route).
uniswapV3SwapCallback() içinde ise safeTransferFrom()'un from parametresi, kullanıcı tarafından sağlanan route'dan çözümlenir.
Sonuç olarak, RouteProcessor2 sözleşmesini onaylayan kullanıcılar varlıklarını kaybetti.
Saldırı Süreci
Bu olay birden fazla saldırı işlemi içermektedir, ancak biz örnek olarak ilk saldırı işlemini kullanacağız. İşlem: 0x43ff7e01423044cfb501b4fe9ef1386725c0ddc117dadd6e6620cb68bdeaf4f9
- Saldırgan, özenle oluşturulmuş uzun bir
routeargümanıyla savunmasız RouteProcessor2 sözleşmesininprocessRoute()fonksiyonunu çağırdı.
processRouteInternal(), kullanıcı tarafından sağlanan route'a dayalı olarak birInputStreamoluşturur.
- İşlem,
swapUniV3()'e ulaşana kadar saldırganınroute'unu takip etti.pool'unstream'den çözümlendiğine, yani saldırganın hangipool'daswap()yapılacağını kontrol ettiğine ve bunulastCalledPoololarak ayarladığına dikkat edin.
- Bu, saldırgan tarafından dağıtılan kötü amaçlı sözleşmeyi çağırdı; saldırgan daha sonra RouteProcessor2'nin
uniswapV3SwapCallback()fonksiyonunu geri çağırmak için kötü amaçlıcalldatailetti. uniswapV3SwapCallback(),msg.senderkontrolü gerektirir; ancaklastCalledPoolzaten kötü amaçlı sözleşmeye ayarlandığından, hacker kontrolü atlatmayı başardı. Önemli olan husus şudur:safeTransferFrom()'unfromparametresi, saldırgan tarafından oluşturulancalldata'dan çözümlendi.
- Kurbanın varlıkları, saldırgan tarafından dağıtılan kötü amaçlı sözleşmeye aktarıldı.
Tartışmalı Beyaz Şapkalı Kurtarma Girişimi
Belirtmek gerekir ki @trust__90 kullanıcı adlı bir beyaz şapkalı bu sorunu tespit etti ve fonları kurtarmaya çalıştı; ancak bu kurtarma girişimi felakete yol açtı.
- İşlemleri özel bir RPC yerine mempool aracılığıyla yayınlamak.
- Risk altındaki tüm fonlar yerine yalnızca 100 Ether kurtarmaya çalışmak.
Bu durum, MEV Bot'larının ve diğer saldırganların birden fazla taklit işlem gerçekleştirmesine kapı araladı ve fonların büyük bölümünün boşaltılmasına neden oldu. Tüm bu gelişmelerin ardından @trust__90, yoğun eleştirilere maruz kaldı ve eylemlerini savunmak zorunda kaldı.
People are saying all kinds of terrible things while being uninformed so allow me to share more details.
— Trust (@trust__90) April 10, 2023
I've initiated coordination privately with Immunefi officials 3 hours before the white-hack. 90 minutes later, I realized the asset is currently used by the frontend and…
BlockSec Kurtarma Operasyonu
Bu saldırıda biz de 100 Ether kurtardık ve fonları kurban 0xsifu'ya iade ettik.
Bugüne kadar 20'den fazla gerçek dünya saldırısını başarıyla engelledi ve 14.000.000 dolar değerinden fazla varlığı kurtardık.Hey, @0xsifu We have successfully blocked an attack transaction and rescued 100 Ether. Please get in touch with us.
— BlockSec (@BlockSecTeam) April 9, 2023
Güvenlik Önerileri
Yükseltmeler Her Zaman Denetlenmeli
Bu durum, DeFi topluluğuna şunu hatırlatmaktadır: güvenlik her zaman en öncelikli konu olmalıdır. Denetimler güvenliği garanti etmez, ancak denetim yokluğu kesinlikle güvenliği sağlamaz.
Onay Sorununa Yönelik Çözümler
2023 yılı, onay saldırılarını içeren çok sayıda olaya sahne oldu ve biz bu fırsatı değerlendirerek onay yönetiminin önemini bir kez daha vurgulamak istiyoruz. Güvenlik açısından iyi bir uygulama, yalnızca gerekli miktarları onaylamak; kolaylık öncelikliyse ihtiyaç duyulandan biraz daha fazlasını onaylamaktır.
BlockSec'in MetaSuites ürünü, kullanışlı bir Onay Tanılama özelliği sunmaktadır. Bunun yanı sıra, onay durumlarını düzenli olarak kontrol etmek için Revoke Cash gibi araçlar kullanılabilir.
İzleme ve Otomatik Müdahale Mekanizmaları Benimseyin
Ethereum karanlık bir ormandır ve DeFi topluluğundaki herkes, güvenlik uzmanları dahil, çeşitli riskler ve zorluklarla karşı karşıyadır. 2023'te, yalnızca saldırıları izlemek için değil, tehditleri gerçek zamanlı olarak aktif biçimde engellemek için tasarlanmış sektörün ilk otomatik müdahale sistemi olan Phalcon Security'yi hayata geçirdik. Phalcon'un savaş testinden geçmiş yetenekleri, 20'den fazla gerçek dünya saldırısını başarıyla engelleyerek ve 14.000.000 dolar değerinden fazla varlığı kurtararak etkinliğini kanıtlamıştır. Bu yenilik, tüm paydaşların yatırımlarını korumaya yönelik proaktif önlemlerin mevcut olduğunu bilerek geceleri daha huzurlu uyumasını sağlar.
Bu serideki diğer makaleleri okuyun:
- Giriş: 2023'ün En İyi On "Dikkat Çekici" Güvenlik Olayı
- #1: Flashbots Relay'deki Güvenlik Açıklarından Yararlanarak MEV Bot'ları Avlamak
- #2: Euler Finance Olayı: 2023'ün En Büyük Hack'i
- #3: KyberSwap Olayı: Son Derece İnce Hesaplamalarla Yuvarlama Hatalarının Ustaca İstismarı
- #4: Curve Olayı: Derleyici Hatası, Masum Kaynak Koddan Hatalı Bytecode Üretiyor
- #5: Platypus Finance: Üç Saldırıdan Şans Eseri Sağ Çıkmak
- #6: Hundred Finance Olayı: Savunmasız Çatallanmış Protokollerde Hassasiyetle İlgili İstismar Dalgasını Tetiklemek
- #7: ParaSpace Olayı: Sektörün En Kritik Saldırısını Engelleme Yarışı
- #9: MEV Bot 0xd61492: Yaratıcı Bir İstismarla Avcıdan Avlanana
- #10: ThirdWeb Olayı: Güvenilir Modüller Arasındaki Uyumsuzluk Güvenlik Açığını Gün Yüzüne Çıkarıyor



