تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسارة تقارب 200 مليون دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد، مما تسبب في خسائر كبيرة تبلغ حوالي 197 مليون دولار. استغل المهاجمون ثغرة عدم وجود تحقق من السيولة في وظيفة donateToReserves الخاصة بـ Etoken في المشروع، من خلال القيام بعدة عمليات باستخدام عملات مختلفة للحصول على أرباح ضخمة.
تحليل عملية الهجوم
قام المهاجم أولاً بالحصول على 30 مليون DAI من القروض السريعة من منصة اقتراض معينة، ثم نشر عقدين للاقتراض والتصفية. الخطوات الرئيسية للهجوم كما يلي:
رهن 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، وبعد سداد القرض الفوري، حقق ربحًا يقارب 887 ألف DAI.
سبب الثغرة
السبب الرئيسي لنجاح الهجوم هو أن وظيفة donateToReserves في عقد Euler Finance تفتقر إلى فحص السيولة الضروري. على عكس وظائف رئيسية أخرى مثل mint، لم تستدعِ وظيفة donateToReserves وظيفة checkLiquidity للتحقق من سيولة المستخدم، مما سمح للمهاجمين بالتلاعب بحالة حساباتهم الخاصة لتصبح متوافقة مع شروط التصفية، وبالتالي إتمام الهجوم.
نصائح الأمان
بالنسبة لهذا النوع من الهجمات، يُنصح مشاريع DeFi بما يلي:
إجراء تدقيق أمني شامل قبل إطلاق العقد لضمان أمان الشيفرة.
التركيز بشكل خاص على جوانب رئيسية مثل سداد الأموال، واختبار السيولة، وتسوية الديون في مشاريع الإقراض.
تأكد من أن جميع الوظائف التي قد تؤثر على حالة أصول المستخدمين تقوم بتنفيذ فحوصات أمان صارمة.
إجراء فحوصات دورية للثغرات وتقييمات أمنية، وإصلاح المخاطر المحتملة في الوقت المناسب.
إنشاء آلية استجابة طارئة لضمان رد فعل سريع ومعالجة عند حدوث أحداث أمنية.
هذا الحدث يبرز مرة أخرى أهمية أمان العقود الذكية، ويذكر مطوري ومستخدمي مشاريع ويب 3 بضرورة البقاء يقظين في جميع الأوقات، للحفاظ معًا على أمان واستقرار نظام blockchain.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 16
أعجبني
16
9
مشاركة
تعليق
0/400
ChainMaskedRider
· 07-14 06:12
لقد تم القضاء عليهم جميعًا.
شاهد النسخة الأصليةرد0
ChainSpy
· 07-13 13:03
مرة أخرى، حمقى حصلوا على القروض السريعة
شاهد النسخة الأصليةرد0
DeFiGrayling
· 07-12 18:27
又一个漏洞 مدمر
شاهد النسخة الأصليةرد0
SignatureVerifier
· 07-12 17:03
تحقق من التحقق غير الكافي من المدخلات بوضوح... *آه* يوم آخر، استغلال آخر
شاهد النسخة الأصليةرد0
ForumLurker
· 07-12 17:02
أخبرتك مبكرًا لا تلمس التمويل اللامركزي
شاهد النسخة الأصليةرد0
GasFeeCrier
· 07-12 16:59
مرة أخرى خسرت حتى البناطيل
شاهد النسخة الأصليةرد0
SundayDegen
· 07-12 16:59
موت مفاجئ آخر
شاهد النسخة الأصليةرد0
mev_me_maybe
· 07-12 16:52
هل هي ثغرة عقد مرة أخرى؟ نفس الطريقة القديمة
شاهد النسخة الأصليةرد0
GasWaster
· 07-12 16:49
يا إلهي، يوم آخر، استغلال آخر... غاز مُهدر على تدقيقات فاشلة، ياللأسف
تعرضت Euler Finance لهجوم قرض فوري بقيمة 200 مليون دولار، وكان ثغرة العقد هي السبب الرئيسي.
تعرضت Euler Finance لهجوم القرض الفوري، مما أدى إلى خسارة تقارب 200 مليون دولار
في 13 مارس 2023، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد، مما تسبب في خسائر كبيرة تبلغ حوالي 197 مليون دولار. استغل المهاجمون ثغرة عدم وجود تحقق من السيولة في وظيفة donateToReserves الخاصة بـ Etoken في المشروع، من خلال القيام بعدة عمليات باستخدام عملات مختلفة للحصول على أرباح ضخمة.
تحليل عملية الهجوم
قام المهاجم أولاً بالحصول على 30 مليون DAI من القروض السريعة من منصة اقتراض معينة، ثم نشر عقدين للاقتراض والتصفية. الخطوات الرئيسية للهجوم كما يلي:
رهن 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، وبعد سداد القرض الفوري، حقق ربحًا يقارب 887 ألف DAI.
سبب الثغرة
السبب الرئيسي لنجاح الهجوم هو أن وظيفة donateToReserves في عقد Euler Finance تفتقر إلى فحص السيولة الضروري. على عكس وظائف رئيسية أخرى مثل mint، لم تستدعِ وظيفة donateToReserves وظيفة checkLiquidity للتحقق من سيولة المستخدم، مما سمح للمهاجمين بالتلاعب بحالة حساباتهم الخاصة لتصبح متوافقة مع شروط التصفية، وبالتالي إتمام الهجوم.
نصائح الأمان
بالنسبة لهذا النوع من الهجمات، يُنصح مشاريع DeFi بما يلي:
إجراء تدقيق أمني شامل قبل إطلاق العقد لضمان أمان الشيفرة.
التركيز بشكل خاص على جوانب رئيسية مثل سداد الأموال، واختبار السيولة، وتسوية الديون في مشاريع الإقراض.
تأكد من أن جميع الوظائف التي قد تؤثر على حالة أصول المستخدمين تقوم بتنفيذ فحوصات أمان صارمة.
إجراء فحوصات دورية للثغرات وتقييمات أمنية، وإصلاح المخاطر المحتملة في الوقت المناسب.
إنشاء آلية استجابة طارئة لضمان رد فعل سريع ومعالجة عند حدوث أحداث أمنية.
هذا الحدث يبرز مرة أخرى أهمية أمان العقود الذكية، ويذكر مطوري ومستخدمي مشاريع ويب 3 بضرورة البقاء يقظين في جميع الأوقات، للحفاظ معًا على أمان واستقرار نظام blockchain.