Euler Finance flaş kredi̇ saldirisi ile karşılaştı, kayıp 1.97 milyon dolar.
13 Mart 2023'te, Euler Finance projesi akıllı sözleşmesindeki bir açık nedeniyle büyük ölçekli bir flaş kredi saldırısına uğradı. Saldırgan, Etoken'deki donateToReserves fonksiyonunun likidite kontrolünün eksikliğinden yararlanarak, farklı para birimlerini birden çok kez çağırarak büyük kazançlar elde etti. Bu saldırının toplam kaybı 197 milyon dolara kadar ulaştı ve 6 farklı token'i kapsadı.
Saldırı Süreci Analizi
Saldırganın işlem adımları aşağıdaki gibidir:
Bir borç verme platformundan Flaş Krediler ile 30.000.000 DAI ödünç alın.
İki sözleşme dağıtın: biri borç verme için, diğeri tasfiye için.
20 milyon DAI'yi Euler Protocol sözleşmesine teminat olarak yatırın ve 195 bin eDAI kazanın.
Euler Protocol'ün 10 kat kaldıraçlı borç verme özelliğini kullanarak 1.956.000 eDAI ve 2.000.000 dDAI borç alın.
Kalan 10 milyon DAI'yi borcun bir kısmını ödemek için kullanın ve buna karşılık gelen dDAI'yi yok edin.
Yeniden 195.6 bin eDAI ve 200 bin dDAI ödünç verildi.
donateToReserves fonksiyonunu çağırarak, geri ödeme miktarının 10 katı kadar bir miktarı bağışlayın (1.000.000 eDAI).
Temizleme fonksiyonunu tetikleyin, 3100000 dDAI ve 2500000 eDAI elde edin.
38.9 bin DAI çekildi, 300 bin Flaş Krediler geri ödendi, nihayetinde 88.7 bin DAI kar elde edildi.
Açık Analizi
Saldırının başarılı olmasının anahtarı, Euler Finance'in donateToReserves fonksiyonunun gerekli likidite kontrollerinden yoksun olmasıdır. Diğer temel fonksiyonlarla (örneğin mint) karşılaştırıldığında, donateToReserves fonksiyonu checkLiquidity adımını gerçekleştirmemektedir. Bu ihmal, kullanıcıların hesap durumlarını manipüle etmelerine ve tasfiye koşullarını karşılamalarına neden oldu, ardından tasfiye yoluyla kâr elde ettiler.
Normal koşullarda, checkLiquidity fonksiyonu RiskManager modülünü çağırır, kullanıcının Etoken'ının her zaman Dtoken'dan büyük olmasını sağlamak için sistemin sağlıklı durumunu korur. Ancak, donateToReserves fonksiyonunun bu önemli kontrolü eksik olduğu için, saldırganlar sistemin güvenlik mekanizmalarını aşmayı başardı.
Güvenlik Önerileri
Bu tür saldırılara karşı aşağıdaki güvenlik önerilerini sunuyoruz:
Akıllı sözleşmelerin yayına alınmadan önce kapsamlı bir güvenlik denetiminden geçmesi gerekmektedir.
Borç verme projeleri, özellikle fonların geri ödenmesi, likidite tespiti ve borç tasfiyesi gibi kritik aşamalara dikkat etmelidir.
Kullanıcı varlık durumunu etkileyebilecek tüm fonksiyonların gerekli güvenlik kontrollerini içerdiğinden emin olun.
Düzenli olarak kod incelemesi yapın, eklenen özelliklerin potansiyel açıklar getirmediğinden emin olun.
Güvenlik olayları meydana geldiğinde hızlı bir şekilde yanıt vermek için acil durum yanıt mekanizması kurun.
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurgulamaktadır. Proje ekipleri, her zaman güvenliği öncelikli hale getirmeli ve kullanıcı varlıklarının güvenliğini korumak için sürekli güvenlik uygulamaları ve denetimler gerçekleştirmelidir.
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.
Euler Finance, 1.97 milyar dolar değerinde flaş kredi saldırısına uğradı. Akıllı sözleşmelerdeki bir güvenlik açığı devasa kayıplara yol açtı.
Euler Finance flaş kredi̇ saldirisi ile karşılaştı, kayıp 1.97 milyon dolar.
13 Mart 2023'te, Euler Finance projesi akıllı sözleşmesindeki bir açık nedeniyle büyük ölçekli bir flaş kredi saldırısına uğradı. Saldırgan, Etoken'deki donateToReserves fonksiyonunun likidite kontrolünün eksikliğinden yararlanarak, farklı para birimlerini birden çok kez çağırarak büyük kazançlar elde etti. Bu saldırının toplam kaybı 197 milyon dolara kadar ulaştı ve 6 farklı token'i kapsadı.
Saldırı Süreci Analizi
Saldırganın işlem adımları aşağıdaki gibidir:
Açık Analizi
Saldırının başarılı olmasının anahtarı, Euler Finance'in donateToReserves fonksiyonunun gerekli likidite kontrollerinden yoksun olmasıdır. Diğer temel fonksiyonlarla (örneğin mint) karşılaştırıldığında, donateToReserves fonksiyonu checkLiquidity adımını gerçekleştirmemektedir. Bu ihmal, kullanıcıların hesap durumlarını manipüle etmelerine ve tasfiye koşullarını karşılamalarına neden oldu, ardından tasfiye yoluyla kâr elde ettiler.
Normal koşullarda, checkLiquidity fonksiyonu RiskManager modülünü çağırır, kullanıcının Etoken'ının her zaman Dtoken'dan büyük olmasını sağlamak için sistemin sağlıklı durumunu korur. Ancak, donateToReserves fonksiyonunun bu önemli kontrolü eksik olduğu için, saldırganlar sistemin güvenlik mekanizmalarını aşmayı başardı.
Güvenlik Önerileri
Bu tür saldırılara karşı aşağıdaki güvenlik önerilerini sunuyoruz:
Bu olay, akıllı sözleşmelerin güvenliğinin önemini bir kez daha vurgulamaktadır. Proje ekipleri, her zaman güvenliği öncelikli hale getirmeli ve kullanıcı varlıklarının güvenliğini korumak için sürekli güvenlik uygulamaları ve denetimler gerçekleştirmelidir.