أورايون بروتوكول يتعرض لهجوم إعادة الإدخال بخسائر تقارب 2.9 مليون دولار

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

تحليل حادثة هجوم إعادة الدخول على OrionProtocol

في 2 فبراير 2023 الساعة 3:40 مساءً، تعرض OrionProtocol على شبكة الإيثيريوم وسلسلة بينانس الذكية لهجوم إعادة الدخول بسبب ثغرة في العقد، حيث بلغت الخسائر الإجمالية حوالي 2.9 مليون دولار، منها خسارة قدرها 2,844,766 USDT على سلسلة الإيثيريوم وخسارة قدرها 191,606 BUSD على سلسلة بينانس الذكية.

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

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

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

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

تدفق الأموال

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

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

تحليل الثغرات

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

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

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

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

![تحليل هجوم إعادة الدخول على بروتوكول أوريون مع 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(

! [تحليل هجوم إعادة دخول 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. إجراء تدقيق دوري للكود واختبارات الأمان، وإصلاح الثغرات المكتشفة في الوقت المناسب.

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

TOKEN-0.05%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • مشاركة
تعليق
0/400
CryptoSurvivorvip
· 07-09 04:25
يكفي تقريبًا، شركة أخرى ضارة.
شاهد النسخة الأصليةرد0
GateUser-5854de8bvip
· 07-06 19:22
آه، لقد تم اقتطاف القسائم مرة أخرى
شاهد النسخة الأصليةرد0
SurvivorshipBiasvip
· 07-06 19:21
مرة أخرى، إنها ثغرة في العقد...
شاهد النسخة الأصليةرد0
CoconutWaterBoyvip
· 07-06 19:08
لا تقوم بتدقيق الكود، لذا فمن الطبيعي أن تخسر المال.
شاهد النسخة الأصليةرد0
  • تثبيت