تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسائر تقترب من 200 مليون دولار
مؤخراً، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في عقده الذكي، مما أدى إلى خسائر مالية ضخمة. ستقوم هذه المقالة بتحليل مفصل لهذا الحدث.
ملخص الحدث
في 13 مارس 2023، تم استغلال وظيفة donateToReserves في عقد Etoken لمشروع Euler Finance بسبب نقص الفحص اللازم للسيولة، مما أدى إلى هجوم القرض الفوري. قام المهاجم بإجراء عمليات متعددة باستخدام عملات مختلفة، مما تسبب في خسائر تقدر بحوالي 197 مليون دولار، تشمل 6 أنواع من الرموز. لا تزال الأموال المسروقة محجوزة في حساب المهاجم.
تحليل عملية الهجوم
يستعير المهاجم أولاً 30 مليون DAI من منصة اقتراض معينة عبر القرض الفوري، ثم ينشر عقد الاقتراض وعقد التصفية.
من خلال وظيفة deposit، قم بتأمين 20 مليون DAI في عقد بروتوكول Euler، واحصل على 19.5 مليون eDAI.
الاستفادة من وظيفة الرافعة المالية 10 أضعاف في بروتوكول Euler، اقتراض 1.956 مليون eDAI و 2 مليون dDAI.
استخدام 10000000 DAI المتبقية لسداد جزء من الديون وحرق الكمية المقابلة من dDAI، ثم اقتراض نفس الكمية من eDAI وdDAI مرة أخرى.
استدعاء وظيفة donateToReserves للتبرع بمبلغ 100 مليون eDAI، ثم القيام بالتصفية من خلال وظيفة liquidate للحصول على 310 مليون dDAI و 250 مليون eDAI.
أخيراً، من خلال دالة السحب، تم سحب 3890 ألف DAI، وإعادة 300 ألف DAI من القروض السريعة، وصافي الربح 887 ألف DAI.
تحليل أسباب الثغرات
بعد مراجعة الكود، تم اكتشاف أن المشكلة تكمن في دالة donateToReserves. بالمقارنة مع الدوال الرئيسية الأخرى مثل mint، تفتقر دالة donateToReserves إلى خطوة checkLiquidity الهامة.
تقوم دالة checkLiquidity عادةً باستدعاء وحدة RiskManager لفحص المستخدمين، لضمان أن عدد Etoken أكبر من عدد Dtoken. نظرًا لأن دالة donateToReserves لم تنفذ هذا الفحص، تمكن المهاجم من استغلال بعض وظائف البروتوكول لوضع نفسه أولاً في حالة يمكن تصفيتها، ثم إتمام التصفية لتحقيق الربح.
نصائح أمنية
بالنسبة لهذا النوع من الهجمات، يجب على فريق المشروع الانتباه إلى النقاط التالية:
يجب إجراء تدقيق أمان شامل قبل إطلاق العقد لضمان أمان العقد.
يجب أن تركز المشاريع المتعلقة بالاقتراض على جوانب رئيسية مثل سداد الأموال، واختبار السيولة، وتسوية الديون.
يجب أن تتضمن جميع الوظائف التي قد تؤثر على حالة أصول المستخدم آليات فحص أمان ضرورية.
إجراء مراجعات دورية للشفرة وبرامج مكافآت الثغرات لاكتشاف التهديدات المحتملة وإصلاحها في الوقت المناسب.
إنشاء آلية استجابة للطوارئ، بحيث يمكن اتخاذ تدابير تصحيحية بسرعة عند حدوث هجوم.
مع التطور المستمر لمشاريع DeFi، تصبح مسائل الأمان أكثر أهمية. يجب على فرق المشاريع أن تبقى يقظة في جميع الأوقات، وأن تتخذ تدابير أمان شاملة لتوفير ضمان قوي لأمان أصول المستخدمين.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تعرضت Euler Finance لهجوم قرض فوري بقيمة 200 مليون دولار، حيث أصبح漏洞 في العقود الذكية سبباً في الكارثة.
تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسائر تقترب من 200 مليون دولار
مؤخراً، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في عقده الذكي، مما أدى إلى خسائر مالية ضخمة. ستقوم هذه المقالة بتحليل مفصل لهذا الحدث.
ملخص الحدث
في 13 مارس 2023، تم استغلال وظيفة donateToReserves في عقد Etoken لمشروع Euler Finance بسبب نقص الفحص اللازم للسيولة، مما أدى إلى هجوم القرض الفوري. قام المهاجم بإجراء عمليات متعددة باستخدام عملات مختلفة، مما تسبب في خسائر تقدر بحوالي 197 مليون دولار، تشمل 6 أنواع من الرموز. لا تزال الأموال المسروقة محجوزة في حساب المهاجم.
تحليل عملية الهجوم
يستعير المهاجم أولاً 30 مليون DAI من منصة اقتراض معينة عبر القرض الفوري، ثم ينشر عقد الاقتراض وعقد التصفية.
من خلال وظيفة deposit، قم بتأمين 20 مليون DAI في عقد بروتوكول Euler، واحصل على 19.5 مليون eDAI.
تحليل أسباب الثغرات
بعد مراجعة الكود، تم اكتشاف أن المشكلة تكمن في دالة donateToReserves. بالمقارنة مع الدوال الرئيسية الأخرى مثل mint، تفتقر دالة donateToReserves إلى خطوة checkLiquidity الهامة.
تقوم دالة checkLiquidity عادةً باستدعاء وحدة RiskManager لفحص المستخدمين، لضمان أن عدد Etoken أكبر من عدد Dtoken. نظرًا لأن دالة donateToReserves لم تنفذ هذا الفحص، تمكن المهاجم من استغلال بعض وظائف البروتوكول لوضع نفسه أولاً في حالة يمكن تصفيتها، ثم إتمام التصفية لتحقيق الربح.
نصائح أمنية
بالنسبة لهذا النوع من الهجمات، يجب على فريق المشروع الانتباه إلى النقاط التالية:
يجب إجراء تدقيق أمان شامل قبل إطلاق العقد لضمان أمان العقد.
يجب أن تركز المشاريع المتعلقة بالاقتراض على جوانب رئيسية مثل سداد الأموال، واختبار السيولة، وتسوية الديون.
يجب أن تتضمن جميع الوظائف التي قد تؤثر على حالة أصول المستخدم آليات فحص أمان ضرورية.
إجراء مراجعات دورية للشفرة وبرامج مكافآت الثغرات لاكتشاف التهديدات المحتملة وإصلاحها في الوقت المناسب.
إنشاء آلية استجابة للطوارئ، بحيث يمكن اتخاذ تدابير تصحيحية بسرعة عند حدوث هجوم.
مع التطور المستمر لمشاريع DeFi، تصبح مسائل الأمان أكثر أهمية. يجب على فرق المشاريع أن تبقى يقظة في جميع الأوقات، وأن تتخذ تدابير أمان شاملة لتوفير ضمان قوي لأمان أصول المستخدمين.