Saldırgan önce bir borç verme platformundan 30.000.000 DAI miktarında Flaş Krediler aldı ve iki sözleşme dağıttı: borç verme sözleşmesi ve tasfiye sözleşmesi.
Saldırgan, 20 milyon DAI'yi Euler Protocol sözleşmesine teminat olarak yatırdı ve 195,000 eDAI aldı.
Euler Protocol'un 10 kat kaldıraç özelliğini kullanarak, saldırgan 195.6 bin eDAI ve 200 bin dDAI ödünç aldı.
Saldırgan, kalan 10 milyon DAI ile borcunun bir kısmını geri öder ve ilgili dDAI'yi yok eder, ardından tekrar 1.956.000 eDAI ve 2.000.000 dDAI borç alır.
Anahtar Adımlar: Saldırgan donateToReserves fonksiyonunu çağırır, 1.000.000 eDAI bağışlar (bu, geri ödeme fonlarının 10 katıdır). Ardından, saldırgan likidite fonksiyonunu çağırarak 3.100.000 dDAI ve 2.500.000 eDAI elde eder.
Son olarak, saldırgan 389.000 DAI çekti ve 30.000.000 DAI'lik flaş krediyi geri ödedi, nihayetinde 8.870.000 DAI kazanç elde etti.
Açık Nedeni Analizi
Bu saldırının temel sorunu, Euler Finance sözleşmesindeki donateToReserves fonksiyonunun gerekli likidite kontrolünü içermemesidir. mint fonksiyonuyla karşılaştırıldığında, donateToReserves fonksiyonu checkLiquidity adımını gerçekleştirmediği için saldırganlar normal likidite kontrolünü atlatabiliyor.
Normal koşullar altında, checkLiquidity fonksiyonu RiskManager modülünü çağırır ve kullanıcının eToken miktarının dToken miktarından büyük olmasını sağlar. Ancak, donateToReserves fonksiyonunun bu kritik adımı atlaması sebebiyle, saldırganlar bu açığı kullanarak önce kendilerini tasfiye edilebilir bir duruma getirebilir, ardından tasfiye işlemini tamamlayabilirler.
Güvenlik Önerileri
Bu tür saldırılara karşı DeFi projelerine öneriyoruz:
Sözleşme yayına girmeden önce kapsamlı bir güvenlik denetimi yapılmalı ve sözleşmenin güvenliği sağlanmalıdır.
Borç verme projeleri için, fon geri ödeme, likidite testi ve borç tasfiyesi gibi anahtar aşamalara özel dikkat gösterilmelidir.
Kullanıcıların fon durumunu etkileyebilecek her fonksiyonda katı likidite kontrolleri uygulanmalıdır.
Düzenli olarak kod incelemesi ve güncellemeleri yapmak, tespit edilen güvenlik açıklarını zamanında düzeltmek.
Çoklu imza mekanizması veya zaman kilidi gibi ek güvenlik önlemlerinin uygulanmasını düşünün.
Bu olay, hızla gelişen DeFi alanında, sözleşme güvenliğinin her zaman kritik önemde olduğunu bir kez daha hatırlatmaktadır. Proje sahipleri, kullanıcı varlıklarının güvenliğini korumak için güvenlik bilincini sürekli artırmalı ve çoklu koruma önlemleri almalıdır.
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.
15 Likes
Reward
15
7
Share
Comment
0/400
HodlVeteran
· 07-13 01:44
Bir başka tuzak, deneyimli sürücü on yıldır hala basıyor.
View OriginalReply0
DiamondHands
· 07-13 01:36
Yine yine patladı
View OriginalReply0
GasFeeCrier
· 07-12 00:27
Sözleşme de çok baştan savma değil mi?
View OriginalReply0
NftMetaversePainter
· 07-10 03:38
yine yetersiz algoritmik doğrulama nedeniyle bir başka ilkel istismar...smh web3 şu anda gerçekten ağlıyor
Euler Finance, flaş kredi saldırısı sonucu 1.97 milyar dolar kaybetti.
Euler Finance flaş kredi saldırısı sonucunda 1.97 milyar dolar kayıp yaşadı
2023年3月13日,Euler Finance项目因合约漏洞遭受Flaş Krediler saldırısı,导致巨额损失。攻击者利用合约中donateToReserves函数缺少流动性检查的漏洞,通过多次操作获取了大量资金。本次事件涉及6种代币,总损失达1.97亿美元。
Saldırı Süreci Analizi
Saldırgan önce bir borç verme platformundan 30.000.000 DAI miktarında Flaş Krediler aldı ve iki sözleşme dağıttı: borç verme sözleşmesi ve tasfiye sözleşmesi.
Saldırgan, 20 milyon DAI'yi Euler Protocol sözleşmesine teminat olarak yatırdı ve 195,000 eDAI aldı.
Euler Protocol'un 10 kat kaldıraç özelliğini kullanarak, saldırgan 195.6 bin eDAI ve 200 bin dDAI ödünç aldı.
Saldırgan, kalan 10 milyon DAI ile borcunun bir kısmını geri öder ve ilgili dDAI'yi yok eder, ardından tekrar 1.956.000 eDAI ve 2.000.000 dDAI borç alır.
Anahtar Adımlar: Saldırgan donateToReserves fonksiyonunu çağırır, 1.000.000 eDAI bağışlar (bu, geri ödeme fonlarının 10 katıdır). Ardından, saldırgan likidite fonksiyonunu çağırarak 3.100.000 dDAI ve 2.500.000 eDAI elde eder.
Son olarak, saldırgan 389.000 DAI çekti ve 30.000.000 DAI'lik flaş krediyi geri ödedi, nihayetinde 8.870.000 DAI kazanç elde etti.
Açık Nedeni Analizi
Bu saldırının temel sorunu, Euler Finance sözleşmesindeki donateToReserves fonksiyonunun gerekli likidite kontrolünü içermemesidir. mint fonksiyonuyla karşılaştırıldığında, donateToReserves fonksiyonu checkLiquidity adımını gerçekleştirmediği için saldırganlar normal likidite kontrolünü atlatabiliyor.
Normal koşullar altında, checkLiquidity fonksiyonu RiskManager modülünü çağırır ve kullanıcının eToken miktarının dToken miktarından büyük olmasını sağlar. Ancak, donateToReserves fonksiyonunun bu kritik adımı atlaması sebebiyle, saldırganlar bu açığı kullanarak önce kendilerini tasfiye edilebilir bir duruma getirebilir, ardından tasfiye işlemini tamamlayabilirler.
Güvenlik Önerileri
Bu tür saldırılara karşı DeFi projelerine öneriyoruz:
Sözleşme yayına girmeden önce kapsamlı bir güvenlik denetimi yapılmalı ve sözleşmenin güvenliği sağlanmalıdır.
Borç verme projeleri için, fon geri ödeme, likidite testi ve borç tasfiyesi gibi anahtar aşamalara özel dikkat gösterilmelidir.
Kullanıcıların fon durumunu etkileyebilecek her fonksiyonda katı likidite kontrolleri uygulanmalıdır.
Düzenli olarak kod incelemesi ve güncellemeleri yapmak, tespit edilen güvenlik açıklarını zamanında düzeltmek.
Çoklu imza mekanizması veya zaman kilidi gibi ek güvenlik önlemlerinin uygulanmasını düşünün.
Bu olay, hızla gelişen DeFi alanında, sözleşme güvenliğinin her zaman kritik önemde olduğunu bir kez daha hatırlatmaktadır. Proje sahipleri, kullanıcı varlıklarının güvenliğini korumak için güvenlik bilincini sürekli artırmalı ve çoklu koruma önlemleri almalıdır.