مشروع Euler Finance يتعرض لهجوم القرض الفوري، خسائر تقترب من 200 مليون دولار
في 13 مارس، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في عقده الذكي، مما أسفر عن خسارة تصل إلى 197 مليون دولار. استغل المهاجمون ثغرة عدم وجود تحقق من السيولة في دالة donateToReserves لعقد Etoken في المشروع، ونفذوا عدة عمليات هجوم باستخدام عملات مشفرة متعددة.
تحليل عملية الهجوم
المهاجم حصل أولاً على قرض فوري بقيمة 30 مليون DAI من منصة إقراض معينة، ثم نشر عقدين: واحد للإقراض وآخر للتصفية. عملية الهجوم كانت تقريبًا كما يلي:
قم بإيداع 20 مليون DAI في عقد بروتوكول Euler للحصول على 19.5 مليون eDAI.
الاستفادة من وظيفة الرافعة المالية 10x بروتوكول Euler، اقتراض 1.956 مليون eDAI و2 مليون dDAI.
استخدام 10 ملايين DAI المتبقية لسداد جزء من الديون، وإتلاف dDAI المقابل.
اقترض مرة أخرى نفس الكمية من eDAI و dDAI.
من خلال وظيفة donateToReserves، تبرع بمبلغ 100 مليون eDAI، ثم استدعِ وظيفة liquidate للتصفية، واحصل على 310 مليون dDAI و250 مليون eDAI.
أخيرًا، تم سحب 38900000 DAI، بعد سداد القروض السريعة حقق أرباحًا قدرها 8870000 DAI.
تحليل أسباب الثغرة
كان جوهر هذا الهجوم هو أن دالة donateToReserves لمشروع Euler Finance تفتقر إلى فحص السيولة الضروري. على عكس الدوال الرئيسية الأخرى مثل mint، لم تستدعِ دالة donateToReserves دالة checkLiquidity للتحقق من سيولة المستخدم. وهذا سمح للمهاجمين بالتلاعب بحالة حساباتهم لتلبية شروط التصفية، مما أدى إلى تحقيق مكاسب غير مشروعة.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager، لضمان أن عدد Etoken للمستخدمين يبقى دائمًا أكبر من عدد Dtoken. ومع ذلك، نظرًا لأن دالة donateToReserves قد تخطت هذه الخطوة، تمكن المهاجمون من تجاوز آلية الأمان.
نصائح الأمان
تُبرز هذه الحادثة مرة أخرى أهمية تدقيق أمان العقود الذكية. بالنسبة لمشاريع الإقراض، يجب إيلاء اهتمام خاص للجوانب التالية:
سلامة آلية سداد الأموال
شمولية اختبار السيولة
أمان عملية تصفية الديون
يجب على الفريق المشروع إجراء تدقيق أمني شامل ودقيق قبل نشر العقد، لتجنب ظهور ثغرات مشابهة. في الوقت نفسه، فإن المراقبة الأمنية المستمرة وإصلاح الثغرات بشكل سريع هما أيضًا مفتاح لضمان التشغيل الآمن للمشروع على المدى الطويل.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 7
أعجبني
7
2
مشاركة
تعليق
0/400
WhaleMinion
· 07-25 11:58
عاد الشخص الذي يثير المتاعب مرة أخرى
شاهد النسخة الأصليةرد0
DefiEngineerJack
· 07-25 11:45
*sigh* ساعة الهواة في تصميم العقود الذكية... يظهر لي التحقق أو اغرب عن وجهي
تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسارة تقارب 200 مليون دولار.
مشروع Euler Finance يتعرض لهجوم القرض الفوري، خسائر تقترب من 200 مليون دولار
في 13 مارس، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في عقده الذكي، مما أسفر عن خسارة تصل إلى 197 مليون دولار. استغل المهاجمون ثغرة عدم وجود تحقق من السيولة في دالة donateToReserves لعقد Etoken في المشروع، ونفذوا عدة عمليات هجوم باستخدام عملات مشفرة متعددة.
تحليل عملية الهجوم
المهاجم حصل أولاً على قرض فوري بقيمة 30 مليون DAI من منصة إقراض معينة، ثم نشر عقدين: واحد للإقراض وآخر للتصفية. عملية الهجوم كانت تقريبًا كما يلي:
قم بإيداع 20 مليون DAI في عقد بروتوكول Euler للحصول على 19.5 مليون eDAI.
الاستفادة من وظيفة الرافعة المالية 10x بروتوكول Euler، اقتراض 1.956 مليون eDAI و2 مليون dDAI.
استخدام 10 ملايين DAI المتبقية لسداد جزء من الديون، وإتلاف dDAI المقابل.
اقترض مرة أخرى نفس الكمية من eDAI و dDAI.
من خلال وظيفة donateToReserves، تبرع بمبلغ 100 مليون eDAI، ثم استدعِ وظيفة liquidate للتصفية، واحصل على 310 مليون dDAI و250 مليون eDAI.
أخيرًا، تم سحب 38900000 DAI، بعد سداد القروض السريعة حقق أرباحًا قدرها 8870000 DAI.
تحليل أسباب الثغرة
كان جوهر هذا الهجوم هو أن دالة donateToReserves لمشروع Euler Finance تفتقر إلى فحص السيولة الضروري. على عكس الدوال الرئيسية الأخرى مثل mint، لم تستدعِ دالة donateToReserves دالة checkLiquidity للتحقق من سيولة المستخدم. وهذا سمح للمهاجمين بالتلاعب بحالة حساباتهم لتلبية شروط التصفية، مما أدى إلى تحقيق مكاسب غير مشروعة.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager، لضمان أن عدد Etoken للمستخدمين يبقى دائمًا أكبر من عدد Dtoken. ومع ذلك، نظرًا لأن دالة donateToReserves قد تخطت هذه الخطوة، تمكن المهاجمون من تجاوز آلية الأمان.
نصائح الأمان
تُبرز هذه الحادثة مرة أخرى أهمية تدقيق أمان العقود الذكية. بالنسبة لمشاريع الإقراض، يجب إيلاء اهتمام خاص للجوانب التالية:
يجب على الفريق المشروع إجراء تدقيق أمني شامل ودقيق قبل نشر العقد، لتجنب ظهور ثغرات مشابهة. في الوقت نفسه، فإن المراقبة الأمنية المستمرة وإصلاح الثغرات بشكل سريع هما أيضًا مفتاح لضمان التشغيل الآمن للمشروع على المدى الطويل.