Euler Finance flaş kredi saldırısı ile karşılaştı, neredeyse 200 milyon dolar kaybetti
13 Mart 2023'te, Euler Finance projesi akıllı sözleşme açığı nedeniyle flaş kredi saldırısına uğradı ve yaklaşık 197 milyon dolar kayba neden oldu. Saldırgan, sözleşmedeki donateToReserves fonksiyonundaki likidite kontrolü eksikliğinden yararlanarak bir dizi işlemle saldırıyı gerçekleştirdi.
Saldırı Süreci Analizi
Saldırganın ana adımları şunlardır:
Bir borç verme platformundan 30000000 DAI tutarında Flaş Krediler alındı ve borç verme ile tasfiye için iki akit gerçekleştirildi.
20 milyon DAI'yi Euler Protocol sözleşmesine teminat olarak yatırın, 19.5 milyon eDAI alın.
Euler Protocol'un 10 kat kaldıraç özelliğini kullanarak 1.956 milyon eDAI ve 2 milyon dDAI borç alın.
Kalan 10 milyon DAI ile kısmi borç ödemesi yapın, karşılık gelen dDAI’yi yok edin, ardından eşit miktarda eDAI ve dDAI tekrar borç alın.
donateToReserves fonksiyonu ile 100 milyon eDAI bağışlayın, ardından likidite sağlamak için liquidate fonksiyonunu çağırın, 310 milyon dDAI ve 250 milyon eDAI alın.
Son olarak 38.9 milyon DAI çekildi, 30 milyon Flaş Krediler geri ödendi, net kar yaklaşık 8.87 milyon DAI.
Açık Nedenleri
Saldırının merkezi, Euler Finance sözleşmesindeki donateToReserves fonksiyonunun gerekli likidite kontrolünden yoksun olmasıdır. Diğer önemli fonksiyonlarla (örneğin mint) karşılaştırıldığında, donateToReserves fonksiyonu kullanıcı likidite doğrulaması için checkLiquidity'yi çağırmamaktadır. Bu, saldırganların belirli işlemlerle kendilerini tasfiye edilebilir bir duruma sokmalarına ve ardından tasfiye yoluyla kâr elde etmelerine olanak tanır.
Normal şartlar altında, checkLiquidity fonksiyonu RiskManager modülünü çağırarak kullanıcının Etoken'ının her zaman Dtoken'dan büyük olmasını sağlar ve sözleşmenin güvenliğini korur. Ancak, donateToReserves fonksiyonu bu önemli adımı atlayarak ciddi bir güvenlik açığına neden oldu.
Dersler ve Öneriler
Bu olay, akıllı sözleşme güvenlik denetiminin önemini bir kez daha vurguladı. Borç verme projeleri için aşağıdaki birkaç anahtar noktaya özel önem verilmesi gerekmektedir:
Fon iade mekanizmasının bütünlüğü
Likidite testinin kapsamı
Borç tasfiye sürecinin güvenliği
Proje ekibi, lansmandan önce kapsamlı bir güvenlik denetimi gerçekleştirmelidir, böylece sözleşmenin her bir işlevinin sıkı bir güvenlik kontrolünden geçtiğinden emin olunmalıdır. Aynı zamanda, sürekli güvenlik izleme ve açık ödül programları da projenin uzun vadeli güvenliğini sağlamak için etkili önlemlerdir.
Ayrıca, geliştiricilerin fonksiyonlar arasındaki tutarlılığa dikkat etmesi, önemli güvenlik kontrollerinin (örneğin, likidite kontrolü) tüm ilgili fonksiyonlarda doğru bir şekilde uygulanmasını sağlaması gerekir. Bu sadece ana işlevleri değil, aynı zamanda bağış gibi yardımcı işlevleri de kapsamalıdır.
Son olarak, proje sahiplerinin ve geliştiricilerin yeni saldırı yöntemlerine karşı dikkatli olmalarını, sürekli olarak güvenlik politikalarını güncellemelerini öneririm, böylece sürekli evrilen blockchain güvenlik tehditleriyle başa çıkabilirler.
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
8 Likes
Reward
8
7
Share
Comment
0/400
StableGenius
· 6h ago
iyi iyi iyi... tahmin edildiği gibi, başka bir protokol matematiksel titizliği zor yoldan öğreniyor. Ampirik olarak konuşursak, bu kaçınılmazdı.
View OriginalReply0
SelfCustodyBro
· 6h ago
İyi bir şekilde uzanıp karpuz yiyeceğim~
View OriginalReply0
PoetryOnChain
· 7h ago
Bir başka çıtır sözleşme mahkum oldu.
View OriginalReply0
MevHunter
· 7h ago
Yine bir satım sözleşmesi Rug Pull oldu.
View OriginalReply0
SorryRugPulled
· 7h ago
Teknik denetimi olmayan sözleşmeler de para göndermek gibidir.
View OriginalReply0
0xInsomnia
· 7h ago
Yine akıllı sözleşmelerdeki açıkları gördük
View OriginalReply0
GasFeeNightmare
· 7h ago
Gece yarısı gaz izlerken neredeyse iflas ediyordum... On işlemden yedisi başarısız oldu, bir de madencilere zeka vergisi ödemek zorundayım.
Euler Finance, flaş kredi saldırısı sonucunda yaklaşık 200 milyon dolar kaybetti.
Euler Finance flaş kredi saldırısı ile karşılaştı, neredeyse 200 milyon dolar kaybetti
13 Mart 2023'te, Euler Finance projesi akıllı sözleşme açığı nedeniyle flaş kredi saldırısına uğradı ve yaklaşık 197 milyon dolar kayba neden oldu. Saldırgan, sözleşmedeki donateToReserves fonksiyonundaki likidite kontrolü eksikliğinden yararlanarak bir dizi işlemle saldırıyı gerçekleştirdi.
Saldırı Süreci Analizi
Saldırganın ana adımları şunlardır:
Bir borç verme platformundan 30000000 DAI tutarında Flaş Krediler alındı ve borç verme ile tasfiye için iki akit gerçekleştirildi.
20 milyon DAI'yi Euler Protocol sözleşmesine teminat olarak yatırın, 19.5 milyon eDAI alın.
Euler Protocol'un 10 kat kaldıraç özelliğini kullanarak 1.956 milyon eDAI ve 2 milyon dDAI borç alın.
Kalan 10 milyon DAI ile kısmi borç ödemesi yapın, karşılık gelen dDAI’yi yok edin, ardından eşit miktarda eDAI ve dDAI tekrar borç alın.
donateToReserves fonksiyonu ile 100 milyon eDAI bağışlayın, ardından likidite sağlamak için liquidate fonksiyonunu çağırın, 310 milyon dDAI ve 250 milyon eDAI alın.
Son olarak 38.9 milyon DAI çekildi, 30 milyon Flaş Krediler geri ödendi, net kar yaklaşık 8.87 milyon DAI.
Açık Nedenleri
Saldırının merkezi, Euler Finance sözleşmesindeki donateToReserves fonksiyonunun gerekli likidite kontrolünden yoksun olmasıdır. Diğer önemli fonksiyonlarla (örneğin mint) karşılaştırıldığında, donateToReserves fonksiyonu kullanıcı likidite doğrulaması için checkLiquidity'yi çağırmamaktadır. Bu, saldırganların belirli işlemlerle kendilerini tasfiye edilebilir bir duruma sokmalarına ve ardından tasfiye yoluyla kâr elde etmelerine olanak tanır.
Normal şartlar altında, checkLiquidity fonksiyonu RiskManager modülünü çağırarak kullanıcının Etoken'ının her zaman Dtoken'dan büyük olmasını sağlar ve sözleşmenin güvenliğini korur. Ancak, donateToReserves fonksiyonu bu önemli adımı atlayarak ciddi bir güvenlik açığına neden oldu.
Dersler ve Öneriler
Bu olay, akıllı sözleşme güvenlik denetiminin önemini bir kez daha vurguladı. Borç verme projeleri için aşağıdaki birkaç anahtar noktaya özel önem verilmesi gerekmektedir:
Proje ekibi, lansmandan önce kapsamlı bir güvenlik denetimi gerçekleştirmelidir, böylece sözleşmenin her bir işlevinin sıkı bir güvenlik kontrolünden geçtiğinden emin olunmalıdır. Aynı zamanda, sürekli güvenlik izleme ve açık ödül programları da projenin uzun vadeli güvenliğini sağlamak için etkili önlemlerdir.
Ayrıca, geliştiricilerin fonksiyonlar arasındaki tutarlılığa dikkat etmesi, önemli güvenlik kontrollerinin (örneğin, likidite kontrolü) tüm ilgili fonksiyonlarda doğru bir şekilde uygulanmasını sağlaması gerekir. Bu sadece ana işlevleri değil, aynı zamanda bağış gibi yardımcı işlevleri de kapsamalıdır.
Son olarak, proje sahiplerinin ve geliştiricilerin yeni saldırı yöntemlerine karşı dikkatli olmalarını, sürekli olarak güvenlik politikalarını güncellemelerini öneririm, böylece sürekli evrilen blockchain güvenlik tehditleriyle başa çıkabilirler.