تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسائر تقترب من 200 مليون دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد الذكي، مما أدى إلى خسارة تقدر بنحو 197 مليون دولار. شمل هذا الهجوم 6 أنواع من الرموز، واستغل المهاجم عيبًا في أحد وظائف العقد الخاص بالمشروع لتنفيذ الهجوم.
تحليل عملية الهجوم
بدأ المهاجمون أولاً بالحصول على قرض فوري بقيمة 30 مليون DAI من منصة إقراض معينة، ثم نشروا عقدين لإجراء عمليات الإقراض والتسوية. يتم تقسيم الهجوم بشكل رئيسي إلى الخطوات التالية:
إيداع 20000000 DAI في عقد بروتوكول Euler، والحصول على 19500000 eDAI.
استخدام ميزة الرافعة المالية 10 مرات في بروتوكول Euler، اقتراض 1.956 مليون eDAI و 2 مليون dDAI.
استخدام الـ 10000000 DAI المتبقية لسداد جزء من الديون، وتدمير الـ dDAI المقابلة، والاستمرار في اقتراض المزيد من eDAI و dDAI.
من خلال وظيفة donateToReserves تبرع بمبلغ 100 مليون eDAI، ثم قم بإجراء عملية تصفية للحصول على 310 مليون dDAI و250 مليون eDAI.
أخيرًا، تم سحب 3890 ألف DAI، بعد سداد القرض الفوري حقق ربحًا قدره حوالي 887 ألف DAI.
سبب الثغرة
السبب الرئيسي لنجاح الهجوم هو أن دالة donateToReserves في عقد Euler Finance تفتقر إلى فحص السيولة الضروري. على عكس الدوال الأساسية الأخرى مثل mint، فإن دالة donateToReserves لم تستدعِ دالة checkLiquidity للتحقق من سيولة المستخدم.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager لضمان أن كمية eToken الخاصة بالمستخدم أكبر من كمية dToken. بسبب افتقار هذه الخطوة الأساسية، تمكن المهاجم من التلاعب بحالة حسابه، مما جعله في حالة يمكن تصفيتها، وبالتالي تحقيق أرباح غير مشروعة.
نصائح أمان
تُبرز هذه الحادثة مرة أخرى أهمية تدقيق أمان العقود الذكية. بالنسبة لمشاريع التمويل اللامركزي ( DeFi )، وخاصة المنصات التي تتضمن ميزات الإقراض، يجب إيلاء اهتمام خاص للجوانب التالية:
سلامة آلية سداد الأموال
شمولية اختبار السيولة
أمان عملية تصفية الديون
يجب على فريق المشروع إجراء تدقيق أمني شامل قبل نشر العقد لضمان أمان كل وحدة وظيفية وقابليتها للتشغيل المتداخل. في الوقت نفسه، تعتبر المراقبة الأمنية المستمرة وإصلاح الثغرات في الوقت المناسب أمرًا أساسيًا لضمان التشغيل المستقر طويل الأمد للمشروع.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 22
أعجبني
22
7
مشاركة
تعليق
0/400
WagmiWarrior
· 07-22 11:52
يُستغل بغباء.手法越来越高级了
شاهد النسخة الأصليةرد0
CountdownToBroke
· 07-22 02:14
ها هو انفجار آخر ، انتظر ببطء في الطابور
شاهد النسخة الأصليةرد0
MEVHunterX
· 07-21 21:20
هل هي مشكلة تدقيق مرة أخرى؟ عجيب!
شاهد النسخة الأصليةرد0
defi_detective
· 07-20 16:03
مشروع آخر تم تدميره، أغلق بطريقة مأساوية
شاهد النسخة الأصليةرد0
DegenDreamer
· 07-20 15:55
مرة أخرى ثغرة أمنية، لم يعد بالإمكان اللعب في هذه الدائرة.
تعرضت Euler Finance لهجوم القرض الفوري وخسرت ما يقرب من 200 مليون دولار
تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسائر تقترب من 200 مليون دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد الذكي، مما أدى إلى خسارة تقدر بنحو 197 مليون دولار. شمل هذا الهجوم 6 أنواع من الرموز، واستغل المهاجم عيبًا في أحد وظائف العقد الخاص بالمشروع لتنفيذ الهجوم.
تحليل عملية الهجوم
بدأ المهاجمون أولاً بالحصول على قرض فوري بقيمة 30 مليون DAI من منصة إقراض معينة، ثم نشروا عقدين لإجراء عمليات الإقراض والتسوية. يتم تقسيم الهجوم بشكل رئيسي إلى الخطوات التالية:
إيداع 20000000 DAI في عقد بروتوكول Euler، والحصول على 19500000 eDAI.
استخدام ميزة الرافعة المالية 10 مرات في بروتوكول Euler، اقتراض 1.956 مليون eDAI و 2 مليون dDAI.
استخدام الـ 10000000 DAI المتبقية لسداد جزء من الديون، وتدمير الـ dDAI المقابلة، والاستمرار في اقتراض المزيد من eDAI و dDAI.
من خلال وظيفة donateToReserves تبرع بمبلغ 100 مليون eDAI، ثم قم بإجراء عملية تصفية للحصول على 310 مليون dDAI و250 مليون eDAI.
أخيرًا، تم سحب 3890 ألف DAI، بعد سداد القرض الفوري حقق ربحًا قدره حوالي 887 ألف DAI.
سبب الثغرة
السبب الرئيسي لنجاح الهجوم هو أن دالة donateToReserves في عقد Euler Finance تفتقر إلى فحص السيولة الضروري. على عكس الدوال الأساسية الأخرى مثل mint، فإن دالة donateToReserves لم تستدعِ دالة checkLiquidity للتحقق من سيولة المستخدم.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager لضمان أن كمية eToken الخاصة بالمستخدم أكبر من كمية dToken. بسبب افتقار هذه الخطوة الأساسية، تمكن المهاجم من التلاعب بحالة حسابه، مما جعله في حالة يمكن تصفيتها، وبالتالي تحقيق أرباح غير مشروعة.
نصائح أمان
تُبرز هذه الحادثة مرة أخرى أهمية تدقيق أمان العقود الذكية. بالنسبة لمشاريع التمويل اللامركزي ( DeFi )، وخاصة المنصات التي تتضمن ميزات الإقراض، يجب إيلاء اهتمام خاص للجوانب التالية:
يجب على فريق المشروع إجراء تدقيق أمني شامل قبل نشر العقد لضمان أمان كل وحدة وظيفية وقابليتها للتشغيل المتداخل. في الوقت نفسه، تعتبر المراقبة الأمنية المستمرة وإصلاح الثغرات في الوقت المناسب أمرًا أساسيًا لضمان التشغيل المستقر طويل الأمد للمشروع.