تعرضت Euler Finance لهجوم القرض الفوري بخسارة تقارب 200 مليون دولار

robot
إنشاء الملخص قيد التقدم

تعرض مشروع Euler Finance لهجوم القرض الفوري، بخسائر تقارب 2 مليار دولار

في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد، مما أدى إلى خسارة تصل إلى 197 مليون دولار. استغل المهاجمون ثغرة في وظيفة donateToReserves في عقد المشروع التي تفتقر إلى فحص السيولة، وحققوا أرباحًا ضخمة من خلال عمليات متعددة.

تحليل ثغرة Euler Finance: كيف تعرضت لهجوم القرض الفوري، وخسرت 1.97 مليار دولار!

تحليل عملية الهجوم

  1. قام المهاجم أولاً باقتراض 30 مليون DAI من منصة اقتراض القروض السريعة ونشر عقدين: عقد الإقراض وعقد التسوية.

  2. قام المهاجم بإيداع 20000000 DAI المستعارة في عقد بروتوكول Euler للحصول على 195000 eDAI.

  3. باستخدام وظيفة الرفع المالي 10x من بروتوكول Euler، اقترض المهاجم 1,956,000 eDAI و2,000,000 dDAI.

  4. استخدم المهاجم 10000000 DAI المتبقية لسداد جزء من الديون، ودمر الكمية المقابلة من dDAI، ثم اقترض مرة أخرى نفس الكمية من eDAI و dDAI.

  5. الخطوة الأساسية: يقوم المهاجم باستدعاء دالة donateToReserves، ويتبرع بمليون eDAI، ثم يقوم بتسوية عبر دالة liquidate، ليحصل على 3.1 مليون dDAI و 2.5 مليون eDAI.

  6. أخيرًا، استخرج المهاجم 389,000 DAI، وسدد 300,000 DAI من القروض السريعة، وحقق في النهاية ربحًا قدره 88,700 DAI.

تحليل ثغرة Euler Finance: كيف تعرض لهجوم القرض الفوري، وخسارة 1.97 مليار دولار!

تحليل ثغرة Euler Finance: كيف تعرضت لهجوم القرض الفوري، وخسرت 1.97 مليار دولار!

تحليل ثغرة Euler Finance: كيف تعرضت لهجوم القرض الفوري، وخسارة 1.97 مليار دولار!

تحليل ثغرة Euler Finance: كيف تتعرض لهجوم القرض الفوري، خسارة 1.97 مليار دولار!

تحليل ثغرات Euler Finance: كيف تعرضت لهجوم القرض الفوري، خسارة 1.97 مليار دولار!

تحليل ثغرات Euler Finance: كيف تعرضت لهجوم القرض الفوري، وخسارة 1.97 مليار دولار!

تحليل ثغرة Euler Finance: كيف تعرض ل هجوم القرض الفوري، خسارة 1.97 مليار دولار!

تحليل ثغرة Euler Finance: كيف تعرضت لهجوم القرض الفوري، وخسرت 1.97 مليار دولار!

تحليل ثغرة Euler Finance: كيف تعرضت لهجوم القرض الفوري، وخسارة 1.97 مليار دولار!

سبب الثغرة

تتمثل الثغرة الأساسية في هذا الهجوم في أن وظيفة donateToReserves في عقد Euler Finance تفتقر إلى فحص السيولة الضروري. بالمقارنة مع الوظائف الأساسية الأخرى مثل mint، لم تقم وظيفة donateToReserves بتنفيذ عملية checkLiquidity. وهذا سمح للمهاجمين بتجاوز فحص السيولة الطبيعي، مما أدى إلى خلق حالة يمكن تصفيتها بشكل مصطنع، ثم إتمام عملية التصفية لتحقيق الربح.

في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager، لضمان أن عدد Etoken للمستخدم أكبر من عدد Dtoken، للحفاظ على أمان العقد. ومع ذلك، نظرًا لغياب هذه الخطوة الحاسمة في دالة donateToReserves، تمكن المهاجمون من استغلال هذه الثغرة لتنفيذ الهجوم.

تحليل ثغرات Euler Finance: كيف تعرضت لهجوم القرض الفوري، وخسارة 1.97 مليار دولار!

نصائح الأمان

بالنسبة لمثل هذه الهجمات، نوصي المشاريع في مجال البلوكشين:

  1. إجراء تدقيق أمني شامل قبل إطلاق العقد لضمان أمان العقد.

  2. بالنسبة لمشاريع الإقراض، يجب الانتباه بشكل خاص إلى سداد الأموال، واختبار السيولة، وتصفية الديون وغيرها من المراحل الحيوية.

  3. تأكد من أن جميع الدوال التي قد تؤثر على حالة أصول المستخدم تحتوي على الفحوصات الأمنية اللازمة، مثل فحص السيولة.

  4. إجراء مراجعات وتحديثات دورية على الشيفرة، وإصلاح الثغرات المكتشفة في الوقت المناسب.

  5. إنشاء آلية استجابة طارئة للتفاعل والمعالجة بسرعة عند حدوث حوادث أمان.

من خلال اتخاذ هذه التدابير، يمكن لمطوري المشروع تقليل خطر التعرض لهجمات مماثلة بشكل كبير، وزيادة الأمان العام للعقد.

EUL3.14%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 5
  • إعادة النشر
  • مشاركة
تعليق
0/400
WhaleWatchervip
· 08-11 16:40
又另حمقى进场了
شاهد النسخة الأصليةرد0
Lonely_Validatorvip
· 08-10 08:22
البلوكتشين الأمان الآن سيء جداً؟ لا أستطيع الكلام.
شاهد النسخة الأصليةرد0
StakeWhisperervip
· 08-10 08:10
وجبة فخ أخرى من العملات
شاهد النسخة الأصليةرد0
GweiWatchervip
· 08-10 07:58
هل سيتم إطلاقه مرة أخرى دون التحقق من العقد؟
شاهد النسخة الأصليةرد0
HalfBuddhaMoneyvip
· 08-10 07:54
مشروع آخر انخفض إلى الصفر…狗带
شاهد النسخة الأصليةرد0
  • تثبيت