تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسائر تقترب من 200 مليون دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم كبير للقرض الفوري بسبب وجود ثغرة في دالة donateToReserves في عقد Etoken الخاص به. استغل المهاجمون مجموعة متنوعة من الرموز وقاموا بعدة عمليات، مما أدى في النهاية إلى خسارة ضخمة تقدر بحوالي 197 مليون دولار.
تحليل عملية الهجوم
المهاجم استحوذ أولاً على قرض فوري بقيمة 30 مليون DAI من منصة اقتراض معينة، ثم نشر عقدين أساسيين: أحدهما لعمليات الاقتراض، والآخر للتصفية. يمكن تقسيم عملية الهجوم إلى الخطوات التالية:
قم بتخزين 20 مليون DAI في عقد بروتوكول Euler للحصول على حوالي 19.5 مليون eDAI.
استخدام ميزة الرافعة المالية 10x من بروتوكول Euler، اقتراض 1.956 مليون eDAI و 2 مليون dDAI.
استخدام 10,000,000 DAI المتبقية لسداد جزء من الديون وحرق الكمية المقابلة من dDAI، ثم اقتراض نفس الكمية مرة أخرى من eDAI و dDAI.
من خلال دالة donateToReserves، تبرع بمبلغ 100 مليون eDAI، ثم استدعِ دالة liquidate للتصفية، وحصلت على 310 مليون dDAI و 250 مليون eDAI.
أخيرًا، تم سحب 3890 مليون DAI، وبعد سداد القرض الفوري، تم تحقيق ربح صافٍ قدره حوالي 887 مليون DAI.
تحليل أسباب الثغرات
المشكلة الأساسية في هذا الهجوم هي أن دالة donateToReserves تفتقر إلى فحص السيولة الضروري. مقارنةً بدالة mint، فإن دالة donateToReserves لم تنفذ خطوة checkLiquidity، مما يسمح للمستخدمين بتجاوز آلية فحص السيولة العادية.
في الظروف العادية، يقوم دالة checkLiquidity باستدعاء وحدة RiskManager للتأكد من أن عدد Etoken للمستخدم أكبر من عدد Dtoken. ومع ذلك، نظرًا لأن دالة donateToReserves تخطت هذه الخطوة، تمكن المهاجم من وضع نفسه في حالة يمكن تصفيتها، ثم إكمال عملية التصفية.
نصائح الأمان
针对 هذه الثغرات، نقترح على مشاريع DeFi:
إجراء تدقيق شامل للأمان قبل إطلاق العقد لضمان أمان العقد.
التركيز بشكل خاص على مراحل رئيسية مثل سداد الأموال، واختبار السيولة، وتصفيات الديون في المشاريع المتعلقة بالإقراض.
تنفيذ فحوصات سيولة صارمة على جميع الوظائف التي قد تؤثر على حالة أصول المستخدم.
إجراء مراجعة دورية للكود، وإصلاح الثغرات الأمنية المحتملة على الفور.
النظر في إدخال آلية توقيع متعدد أو قفل زمني كإجراءات أمان إضافية.
تسلط هذه الحادثة الضوء مرة أخرى على أهمية أمان العقود الذكية. يجب على فريق المشروع دائمًا وضع الأمان في المقدمة، من خلال تحسين الممارسات الأمنية باستمرار لحماية أصول المستخدمين وتطوير النظام البيئي للمشروع بشكل صحي.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 22
أعجبني
22
6
مشاركة
تعليق
0/400
MevTears
· 07-07 18:24
هل من الجيد أن تكسب المال من خلال DeFi؟
شاهد النسخة الأصليةرد0
rekt_but_vibing
· 07-06 05:25
هرب مشروع آخر
شاهد النسخة الأصليةرد0
P2ENotWorking
· 07-06 05:23
انفجرت مرة أخرى، ليس مفاجئاً
شاهد النسخة الأصليةرد0
token_therapist
· 07-06 05:14
مرة أخرى وليمة يُستغل بغباء.
شاهد النسخة الأصليةرد0
CryptoMom
· 07-06 05:10
عالم العملات الرقمية حمقى又 خداع الناس لتحقيق الربح
تعرضت Euler Finance لهجوم قرض فوري بقيمة 200 مليون دولار، مما يثير جرس إنذار آخر بشأن أمان التمويل اللامركزي.
تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسائر تقترب من 200 مليون دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم كبير للقرض الفوري بسبب وجود ثغرة في دالة donateToReserves في عقد Etoken الخاص به. استغل المهاجمون مجموعة متنوعة من الرموز وقاموا بعدة عمليات، مما أدى في النهاية إلى خسارة ضخمة تقدر بحوالي 197 مليون دولار.
تحليل عملية الهجوم
المهاجم استحوذ أولاً على قرض فوري بقيمة 30 مليون DAI من منصة اقتراض معينة، ثم نشر عقدين أساسيين: أحدهما لعمليات الاقتراض، والآخر للتصفية. يمكن تقسيم عملية الهجوم إلى الخطوات التالية:
قم بتخزين 20 مليون DAI في عقد بروتوكول Euler للحصول على حوالي 19.5 مليون eDAI.
استخدام ميزة الرافعة المالية 10x من بروتوكول Euler، اقتراض 1.956 مليون eDAI و 2 مليون dDAI.
استخدام 10,000,000 DAI المتبقية لسداد جزء من الديون وحرق الكمية المقابلة من dDAI، ثم اقتراض نفس الكمية مرة أخرى من eDAI و dDAI.
من خلال دالة donateToReserves، تبرع بمبلغ 100 مليون eDAI، ثم استدعِ دالة liquidate للتصفية، وحصلت على 310 مليون dDAI و 250 مليون eDAI.
أخيرًا، تم سحب 3890 مليون DAI، وبعد سداد القرض الفوري، تم تحقيق ربح صافٍ قدره حوالي 887 مليون DAI.
تحليل أسباب الثغرات
المشكلة الأساسية في هذا الهجوم هي أن دالة donateToReserves تفتقر إلى فحص السيولة الضروري. مقارنةً بدالة mint، فإن دالة donateToReserves لم تنفذ خطوة checkLiquidity، مما يسمح للمستخدمين بتجاوز آلية فحص السيولة العادية.
في الظروف العادية، يقوم دالة checkLiquidity باستدعاء وحدة RiskManager للتأكد من أن عدد Etoken للمستخدم أكبر من عدد Dtoken. ومع ذلك، نظرًا لأن دالة donateToReserves تخطت هذه الخطوة، تمكن المهاجم من وضع نفسه في حالة يمكن تصفيتها، ثم إكمال عملية التصفية.
نصائح الأمان
针对 هذه الثغرات، نقترح على مشاريع DeFi:
إجراء تدقيق شامل للأمان قبل إطلاق العقد لضمان أمان العقد.
التركيز بشكل خاص على مراحل رئيسية مثل سداد الأموال، واختبار السيولة، وتصفيات الديون في المشاريع المتعلقة بالإقراض.
تنفيذ فحوصات سيولة صارمة على جميع الوظائف التي قد تؤثر على حالة أصول المستخدم.
إجراء مراجعة دورية للكود، وإصلاح الثغرات الأمنية المحتملة على الفور.
النظر في إدخال آلية توقيع متعدد أو قفل زمني كإجراءات أمان إضافية.
تسلط هذه الحادثة الضوء مرة أخرى على أهمية أمان العقود الذكية. يجب على فريق المشروع دائمًا وضع الأمان في المقدمة، من خلال تحسين الممارسات الأمنية باستمرار لحماية أصول المستخدمين وتطوير النظام البيئي للمشروع بشكل صحي.