واجهت Euler Finance هجوم القرض الفوري، وخسرت ما يقارب 200 مليون دولار
في 13 مارس، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد، مما أدى إلى خسارة حوالي 197 مليون دولار. استغل المهاجم ثغرة عدم وجود فحص للسيولة في دالة donateToReserves في المشروع، من خلال تنفيذ عمليات متعددة باستخدام عملات مختلفة لتحقيق الربح. حتى الآن، لا تزال الأموال المسروقة محتجزة في حساب المهاجم.
تحليل عملية الهجوم
قام المهاجم أولاً باقتراض 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.
أخيرًا، تم سحب 38.9 مليون DAI، وسداد 30 مليون القروض السريعة، وصافي الربح حوالي 8.87 مليون DAI.
تحليل أسباب الثغرات
السبب الرئيسي لنجاح الهجوم هو أن دالة donateToReserves تفتقر إلى فحص السيولة الضروري. بالمقارنة مع دوال رئيسية أخرى مثل mint، فإن دالة donateToReserves لم تستدعِ checkLiquidity للتحقق من سيولة المستخدم. وهذا سمح للمهاجمين بجعل حساباتهم في حالة قابلة للتصفية من خلال عمليات معينة، ثم إتمام التصفية لتحقيق الربح.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager، لضمان أن كمية Etoken لدى المستخدم أكبر دائمًا من كمية Dtoken. ومع ذلك، فإن دالة donateToReserves تتجاوز هذه الخطوة الحاسمة، مما يخلق فرصة للهجوم.
نصائح الأمان
تُبرز هذه الحادثة مرة أخرى أهمية تدقيق أمان العقود الذكية. يجب على فريق المشروع إجراء فحص أمان شامل ودقيق قبل الإطلاق، خاصةً بالنسبة لمشاريع الإقراض، حيث يجب التركيز بشكل خاص على الجوانب التالية:
سلامة آلية سداد الأموال
شمولية اختبار السيولة
أمان عملية تصفية الديون
فقط من خلال ضمان أمان هذه النقاط الرئيسية يمكننا فعليًا منع حدوث هجمات مماثلة. مع استمرار تطور بيئة Web3، ستظل أمان العقود الذكية محور اهتمام الصناعة.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 12
أعجبني
12
6
إعادة النشر
مشاركة
تعليق
0/400
LongTermDreamer
· منذ 16 س
بعد ثلاث سنوات، سنرى مرة أخرى قصة عكس القيمة. من يفهم، يفهم.
شاهد النسخة الأصليةرد0
GasBandit
· منذ 16 س
هل هي مسؤولية العقود الذكية مرة أخرى؟ كيف تمت عملية التدقيق؟
تعرضت Euler Finance لهجوم القرض الفوري مما أدى إلى خسارة 1.97 مليون دولار، وكان ضعف العقد هو السبب الرئيسي.
واجهت Euler Finance هجوم القرض الفوري، وخسرت ما يقارب 200 مليون دولار
في 13 مارس، تعرض مشروع Euler Finance لهجوم القرض الفوري بسبب ثغرة في العقد، مما أدى إلى خسارة حوالي 197 مليون دولار. استغل المهاجم ثغرة عدم وجود فحص للسيولة في دالة donateToReserves في المشروع، من خلال تنفيذ عمليات متعددة باستخدام عملات مختلفة لتحقيق الربح. حتى الآن، لا تزال الأموال المسروقة محتجزة في حساب المهاجم.
تحليل عملية الهجوم
قام المهاجم أولاً باقتراض 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.
أخيرًا، تم سحب 38.9 مليون DAI، وسداد 30 مليون القروض السريعة، وصافي الربح حوالي 8.87 مليون DAI.
تحليل أسباب الثغرات
السبب الرئيسي لنجاح الهجوم هو أن دالة donateToReserves تفتقر إلى فحص السيولة الضروري. بالمقارنة مع دوال رئيسية أخرى مثل mint، فإن دالة donateToReserves لم تستدعِ checkLiquidity للتحقق من سيولة المستخدم. وهذا سمح للمهاجمين بجعل حساباتهم في حالة قابلة للتصفية من خلال عمليات معينة، ثم إتمام التصفية لتحقيق الربح.
في الظروف العادية، ستقوم دالة checkLiquidity باستدعاء وحدة RiskManager، لضمان أن كمية Etoken لدى المستخدم أكبر دائمًا من كمية Dtoken. ومع ذلك، فإن دالة donateToReserves تتجاوز هذه الخطوة الحاسمة، مما يخلق فرصة للهجوم.
نصائح الأمان
تُبرز هذه الحادثة مرة أخرى أهمية تدقيق أمان العقود الذكية. يجب على فريق المشروع إجراء فحص أمان شامل ودقيق قبل الإطلاق، خاصةً بالنسبة لمشاريع الإقراض، حيث يجب التركيز بشكل خاص على الجوانب التالية:
فقط من خلال ضمان أمان هذه النقاط الرئيسية يمكننا فعليًا منع حدوث هجمات مماثلة. مع استمرار تطور بيئة Web3، ستظل أمان العقود الذكية محور اهتمام الصناعة.