تعرض OrionProtocol لهجوم إعادة الدخول وسرق ما يقرب من 3 ملايين دولار من الأصول.

robot
إنشاء الملخص قيد التقدم

تعرض OrionProtocol لهجوم إعادة دخول أدى إلى خسارة تقارب 3 ملايين دولار

في 2 فبراير 2023، تعرض عقد OrionProtocol على Ethereum و Binance Chain لثغرة أمنية، مما أدى إلى هجوم إعادة الدخول. تمكن المهاجمون من سرقة حوالي 2.9 مليون دولار من الأصول المشفرة، بما في ذلك 2,844,766 USDT على Ethereum و 191,606 BUSD على BSC.

تحليل عملية الهجوم

قام المهاجم أولاً بنشر عقد توكن مخصص، وقام بالإعدادات اللازمة. بعد ذلك، اقترض المهاجم الأموال عبر طريقة swap لـ UNI-V2، واستدعى طريقة swapThroughOrionPool لعقد ExchangeWithAtomic لتبادل التوكنات. تتضمن مسار التبادل عنوان عقد التوكن الذي أنشأه المهاجم، مما يمهد الطريق للهجوم اللاحق.

خلال عملية التبادل، نظرًا لأن عقد توكن المهاجم يحتوي على منطق استدعاء عكسي، فإن كل عملية تحويل ستؤدي إلى استدعاء إعادة دخول لطريقة depositAsset لعقد ExchangeWithAtomic. وهذا يؤدي إلى إضافة المبلغ المودع بشكل خاطئ، مما يسمح في النهاية للمهاجم بسحب أموال تتجاوز المبلغ الذي أودعه فعليًا.

! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201

! [تحليل هجوم إعادة دخول OrionProtocol مع PoC])https://img-cdn.gateio.im/webp-social/moments-caac189901b7aaad5abd8be30bb4361a.webp(

![تحليل هجوم إعادة الإدخال بروتوكول أوريون مع PoC])https://img-cdn.gateio.im/webp-social/moments-7e21c34158a85d4c387fcdbec136d31b.webp(

مصدر الثغرة

تتمثل المشكلة الأساسية في دالة doSwapThroughOrionPool ودالة _doSwapTokens لعقد ExchangeWithAtomic. تقوم هذه الدوال بتحديث متغير curBalance بعد تنفيذ تحويل الرموز، لكنها لا تتضمن تدابير لمنع هجمات إعادة الدخول. يستغل المهاجمون دالة transfer للرمز المخصص لاستدعاء طريقة depositAsset، مما يؤدي إلى تحديث curBalance بشكل خاطئ، وبالتالي سحب أموال زائدة بعد سداد القرض الفوري.

! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-24819b5154419e86ea523a25a9101f67.webp(

! [تحليل هجوم إعادة دخول OrionProtocol مع PoC])https://img-cdn.gateio.im/webp-social/moments-7c4bde9d6a35da4304844a3bbb934fae.webp(

! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-7239f8886fe83c1da8b1b42545185811.webp(

! [تحليل هجوم إعادة الدخول OrionProtocol مع PoC])https://img-cdn.gateio.im/webp-social/moments-e5042932f0e1b7fa96e3f6e749231957.webp(

! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-4bd31735de09c63c490488e887118038.webp(

تدفق الأموال

تمويل المهاجم الأولي يأتي من المحفظة الساخنة لمنصة تداول معينة. من بين 1,651 ETH التي تم تحقيقها من الهجوم، لا يزال 657.5 ETH موجودًا في عنوان محفظة المهاجم، بينما تم نقل الباقي عبر خدمة خلط العملات.

! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-cd401091e63ab21864f39cd650014b97.webp(

! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-e010d0f0c02fb8bbc648f755b0ac464c.webp(

! [تحليل هجوم إعادة الدخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(

نصائح الأمان

لتجنب هجمات مماثلة، يجب على فريق المشروع الانتباه إلى النقاط التالية:

  1. عند تنفيذ وظيفة تبادل العملات الرقمية، يجب مراعاة المخاطر الأمنية التي قد تنجم عن أنواع الرموز المختلفة وطرق التبادل.

  2. اتبع نمط "التحقق - التأثير - التفاعل" (Checks-Effects-Interactions) عند كتابة كود العقد، بحيث يتم أولاً التحقق من الشروط، ثم تحديث المتغيرات الحالة، وأخيراً التفاعل مع العقود الخارجية.

  3. استخدم أقفال إعادة الدخول أو آليات مشابهة في الوظائف الأساسية لمنع هجمات إعادة الدخول.

  4. يجب أن تكون حذرًا بشكل خاص عند إجراء مكالمات خارجية، وخاصة تلك التي تتعلق بعمليات تحويل الأموال، ويجب النظر في استخدام نموذج الدفع بالسحب بدلاً من الدفع بالدفع.

  5. إجراء تدقيق أمني دوري لاكتشاف وإصلاح الثغرات المحتملة في الوقت المناسب.

من خلال اتخاذ هذه التدابير، يمكن تحسين أمان العقود الذكية بشكل كبير وتقليل مخاطر التعرض للهجمات. في نظام Web3 البيئي، يجب أن تكون الأمان دائمًا الاعتبار الأول.

TOKEN6.45%
ETH0.37%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • مشاركة
تعليق
0/400
TokenTherapistvip
· منذ 18 س
هل هناك من يفكر بطريقة سلبية مرة أخرى؟
شاهد النسخة الأصليةرد0
LiquidatorFlashvip
· منذ 18 س
ثغرة إعادة الدخول هي حقًا القاتل الأول لخسائر DeFi...
شاهد النسخة الأصليةرد0
0xLuckboxvip
· منذ 19 س
كيف يمكن أن يسرق مرة أخرى في هذا الوقت؟
شاهد النسخة الأصليةرد0
TokenSherpavip
· منذ 19 س
*آه* بروتوكول آخر يفشل في اجتياز فحوصات إعادة الدخول الأساسية... تاريخياً، كان من الممكن تجنب ذلك
شاهد النسخة الأصليةرد0
  • تثبيت