تعرضت Euler Finance لهجوم القرض الفوري، بخسائر تقارب 2 مليار دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد، مما أدى إلى خسائر تقدر بحوالي 197 مليون دولار. استغل المهاجمون ثغرة عدم وجود فحص للسيولة في دالة donateToReserves الخاصة بـ Etoken في المشروع، من خلال إجراء عمليات متعددة باستخدام عملات مختلفة لتحقيق أرباح ضخمة.
تحليل عملية الهجوم
يستعير المهاجم أولاً 3000万DAI من منصة إقراض معينة عبر القرض الفوري، وينشر عقدين: عقد الإقراض وعقد التسوية.
بعد ذلك، تم رهن 20 مليون DAI في عقد بروتوكل Euler، والحصول على 19.5 مليون eDAI.
الاستفادة من وظيفة الرافعة المالية 10x من بروتوكول Euler، اقترض 195.6 مليون eDAI و 200 مليون dDAI.
استخدام 10000000 DAI المتبقية لسداد جزء من الديون وحرق الكمية المعادلة من dDAI، ثم الاقتراض مرة أخرى بنفس كمية eDAI وdDAI.
من خلال وظيفة donateToReserves، تبرع بمبلغ 100 مليون eDAI (10 أضعاف المبلغ المطلوب للسداد)، وقم بتنفيذ عملية التصفية على الفور للحصول على 310 مليون dDAI و 250 مليون eDAI.
أخيرًا تم سحب 3890 ألف DAI، وإعادة 3000 ألف DAI من القروض السريعة، وصافي الربح حوالي 887 ألف DAI.
سبب الثغرة
كانت مفتاح نجاح الهجوم هو عدم وجود فحص السيولة الضروري في دالة donateToReserves الخاصة بـ Euler Finance. على عكس الدوال الأخرى مثل mint، لم تقم donateToReserves باستدعاء دالة checkLiquidity للتحقق من حالة أموال المستخدم. مما سمح للمهاجمين بالتلاعب بحساباتهم للدخول في حالة يمكن تصفيتها، ومن ثم تنفيذ التصفية لتحقيق الربح.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager، لضمان أن كمية Etoken لدى المستخدم أكبر من كمية Dtoken، للحفاظ على حالة الحساب الصحية. ومع ذلك، قامت دالة donateToReserves بتجاوز هذه الخطوة الأساسية، مما أتاح فرصة للمهاجمين.
نصائح الأمان
تسلط هذه الحادثة الضوء على أهمية تدقيق أمان العقود الذكية. بالنسبة لمشاريع الإقراض، من الضروري بشكل خاص التركيز على الجوانب التالية:
سلامة آلية سداد الأموال
شمولية اختبار السيولة
صرامة عملية تصفية الديون
يجب على فريق المشروع إجراء تدقيق أمني شامل وعميق قبل نشر العقد، لضمان أمان واستقرار الوظائف المختلفة. في نفس الوقت، فإن المراقبة الأمنية المستمرة وإصلاح الثغرات في الوقت المناسب هي أيضًا تدابير ضرورية لضمان التشغيل الآمن للمشروع على المدى الطويل.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 16
أعجبني
16
7
إعادة النشر
مشاركة
تعليق
0/400
Ser_Liquidated
· 07-14 00:49
مرة أخرى يجب التضحية بمشروع tks
شاهد النسخة الأصليةرد0
mev_me_maybe
· 07-14 00:03
又又又被الإغراق了
شاهد النسخة الأصليةرد0
0xSoulless
· 07-13 14:42
حمقى سنة بعد سنة خداع الناس لتحقيق الربح بعد خداع الناس لتحقيق الربح
شاهد النسخة الأصليةرد0
RugpullSurvivor
· 07-11 02:50
مرة أخرى في القدر الكبير! ألا تشعر بأي شعور بالذنب؟
تعرضت Euler Finance لهجوم قرض فوري بقيمة 200 مليون دولار، وكان ثغرة العقد هي السبب الرئيسي.
تعرضت Euler Finance لهجوم القرض الفوري، بخسائر تقارب 2 مليار دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد، مما أدى إلى خسائر تقدر بحوالي 197 مليون دولار. استغل المهاجمون ثغرة عدم وجود فحص للسيولة في دالة donateToReserves الخاصة بـ Etoken في المشروع، من خلال إجراء عمليات متعددة باستخدام عملات مختلفة لتحقيق أرباح ضخمة.
تحليل عملية الهجوم
يستعير المهاجم أولاً 3000万DAI من منصة إقراض معينة عبر القرض الفوري، وينشر عقدين: عقد الإقراض وعقد التسوية.
بعد ذلك، تم رهن 20 مليون DAI في عقد بروتوكل Euler، والحصول على 19.5 مليون eDAI.
الاستفادة من وظيفة الرافعة المالية 10x من بروتوكول Euler، اقترض 195.6 مليون eDAI و 200 مليون dDAI.
استخدام 10000000 DAI المتبقية لسداد جزء من الديون وحرق الكمية المعادلة من dDAI، ثم الاقتراض مرة أخرى بنفس كمية eDAI وdDAI.
من خلال وظيفة donateToReserves، تبرع بمبلغ 100 مليون eDAI (10 أضعاف المبلغ المطلوب للسداد)، وقم بتنفيذ عملية التصفية على الفور للحصول على 310 مليون dDAI و 250 مليون eDAI.
أخيرًا تم سحب 3890 ألف DAI، وإعادة 3000 ألف DAI من القروض السريعة، وصافي الربح حوالي 887 ألف DAI.
سبب الثغرة
كانت مفتاح نجاح الهجوم هو عدم وجود فحص السيولة الضروري في دالة donateToReserves الخاصة بـ Euler Finance. على عكس الدوال الأخرى مثل mint، لم تقم donateToReserves باستدعاء دالة checkLiquidity للتحقق من حالة أموال المستخدم. مما سمح للمهاجمين بالتلاعب بحساباتهم للدخول في حالة يمكن تصفيتها، ومن ثم تنفيذ التصفية لتحقيق الربح.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager، لضمان أن كمية Etoken لدى المستخدم أكبر من كمية Dtoken، للحفاظ على حالة الحساب الصحية. ومع ذلك، قامت دالة donateToReserves بتجاوز هذه الخطوة الأساسية، مما أتاح فرصة للمهاجمين.
نصائح الأمان
تسلط هذه الحادثة الضوء على أهمية تدقيق أمان العقود الذكية. بالنسبة لمشاريع الإقراض، من الضروري بشكل خاص التركيز على الجوانب التالية:
يجب على فريق المشروع إجراء تدقيق أمني شامل وعميق قبل نشر العقد، لضمان أمان واستقرار الوظائف المختلفة. في نفس الوقت، فإن المراقبة الأمنية المستمرة وإصلاح الثغرات في الوقت المناسب هي أيضًا تدابير ضرورية لضمان التشغيل الآمن للمشروع على المدى الطويل.