تعرضت شبكة جارفس لهجوم إعادة دخول القروض السريعة، مما أدى إلى خسارة 66.3 ألف MATIC

تحليل هجوم إعادة الدخول على القروض السريعة لشبكة جارفيز

مؤخراً، تعرض مشروع يسمى Jarvis_Network لهجوم إعادة دخول القروض السريعة، مما أدى إلى خسارة حوالي 663000 من رموز MATIC. وقعت هذه الحادثة في مساء 15 يناير 2023.

تحليل حادثة هجوم إعادة دخول القروض السريعة لشبكة جارفي

من خلال التحليل العميق لتكدس استدعاء المعاملات، اكتشفنا أن المهاجمين استغلوا ثغرة إعادة الإدخال. خلال عملية إعادة الإدخال، تم استدعاء نفس الدالة لنفس العقد عدة مرات، لكن كانت هناك اختلافات كبيرة في قيمة العودة لكل استدعاء. يتركز هذا الاختلاف بشكل رئيسي في دالة remove_liquidity.

! تحليل حادث هجوم إعادة الدخول لقرض فلاش شبكة جارفيس

تحدث هجمات إعادة الإدخال أثناء عملية إزالة السيولة. نظرًا لأن بوليجون و EVM هما سلاسل متجانسة، عند تحويل MATIC إلى العقد، يتم تفعيل منطق إعادة الإدخال في العقد. من خلال تحليل تفصيلي لمكدس الاستدعاءات، نجد أن المشكلة تكمن في دالة getUnderlyingPrice.

تحليل حادثة هجوم إعادة الدخول على القروض السريعة لشبكة جارفيز

أظهرت التحقيقات الإضافية أن المهاجمين استغلوا ثغرة في توقيت تحديث المتغير self.D عند إزالة السيولة. في الظروف العادية، يجب أن تكون عملية remove_liquidity كالتالي: 1) تدمير LP الخاص بالمستخدم؛ 2) إرسال الأموال المرهونة إلى المستخدم؛ 3) تحديث self.D. ومع ذلك، قام المهاجمون بعملية إعادة دخول في الخطوة الثانية، مما أدى إلى حدوث خطأ جسيم في حساب السعر.

تحليل حادثة هجوم إعادة الدخول على القروض السريعة لشبكة جارفيز

على الرغم من أن دالة remove_liquidity تستخدم الزخرفة @nonreentrant('lock') لمنع إعادة الدخول، إلا أن قفل إعادة الدخول هذا لم يعمل بسبب دخول المهاجم إلى عقود أخرى لاقتراض الأموال.

تحليل حادثة هجوم إعادة دخول القروض السريعة لشبكة جارفس

كشفت هذه الهجمة بشكل رئيسي عن مشكلتين:

  1. منطق تعديل المتغيرات يقع بعد الاستدعاء الخارجي، مما يؤدي إلى استثناء في الحصول على السعر.
  2. إعادة الدخول عبر العقود تجعل قفل إعادة الدخول غير فعال.

تحليل حادثة هجوم إعادة الدخول على القروض السريعة لشبكة جارفيز

لتجنب هجمات مماثلة، يُوصى بأن تتخذ الجهة المعنية بالمشروع التدابير التالية:

  1. تأكد من أن الكود قد خضع لتدقيق أمني صارم.
  2. ضع تعديل المتغيرات قبل الاستدعاء الخارجي.
  3. استخدام طريقة مصادر البيانات المتعددة للحصول على الأسعار.
  4. اتباع معيار البرمجة "تقييم أولاً، ثم كتابة المتغيرات، ثم إجراء الاستدعاءات الخارجية" (Checks-Effects-Interactions).

تحليل حدث هجوم إعادة دخول القروض السريعة لشبكة جارفس

من خلال اتخاذ هذه التدابير، يمكن للمشروع أن يزيد بشكل كبير من أمانه واستقراره، مما يوفر للمستخدمين خدمات أكثر موثوقية.

![تحليل حدث هجوم إعادة إدخال القروض السريعة على شبكة جارفيز](https://img-cdn.gateio.im/webp-social/moments-fcd66f4cc03bb8e822c9414526681442.webp01

![تحليل حدث هجوم إعادة إدخال القروض السريعة لشبكة جارفيز])https://img-cdn.gateio.im/webp-social/moments-9b2de9b00c52d3ff96d5a361df65769a.webp(

![تحليل حادثة هجوم إعادة الدخول على القروض السريعة لشبكة جارفيز])https://img-cdn.gateio.im/webp-social/moments-88f9283ee0923cff2a22405715721cd2.webp(

![تحليل حدث هجوم إعادة الدخول على القروض السريعة لشبكة جارفس])https://img-cdn.gateio.im/webp-social/moments-d41ac025ee561569cce3b941d7e07967.webp(

![تحليل حدث هجوم إعادة الإدخال على القروض السريعة Jarvis Network])https://img-cdn.gateio.im/webp-social/moments-2c4474781d661306bc8c432dad3942c0.webp(

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 2
  • مشاركة
تعليق
0/400
WalletAnxietyPatientvip
· منذ 19 س
مستثمر التجزئة الذي يحب اللعب ولكن ليس لديه مهارات تذكر تذكر أن تقوم بعمل نسخة احتياطية للمفتاح الخاص في الوقت المحدد

لغة المحتوى: الصينية

التعليقات المقدمة:

عدم إجراء تدقيق العقود سيجعلك تدفع الثمن~
شاهد النسخة الأصليةرد0
LiquidatedNotStirredvip
· منذ 19 س
مرة أخرى إعادة الدخول هاها كان يجب أن أقفلها منذ فترة.
شاهد النسخة الأصليةرد0
  • تثبيت