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

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

تحليل حادثة الهجوم المتكرر على OrionProtocol

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

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

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

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

تم تعيين مسار الصرف إلى [USDC، توكن المهاجم، USDT]، حيث إن توكن المهاجم هو العنصر الرئيسي. خلال عملية الصرف، وبسبب وجود وظيفة الاستدعاء في عقد التوكن المخصص هذا، تمكن المهاجم من تفعيل طريقة ExchangeWithAtomic.depositAsset عند نقل التوكن، مما سمح بتنفيذ هجوم إعادة الدخول. أدى ذلك إلى إضافة مبلغ الإيداع بشكل خاطئ، وفي النهاية تمكن المهاجم من تحقيق الربح من خلال عملية السحب.

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

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

تدفق الأموال

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

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

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

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

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

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

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

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

نصائح للوقاية

  1. اتبع نموذج "التحقق - التأثيرات - التفاعلات" (Checks-Effects-Interactions): يجب تحديث حالة العقد قبل إجراء المكالمات الخارجية.

  2. استخدام قفل إعادة الإدخال: قم بقفل قبل بدء العمليات الحساسة، وقم بإلغاء القفل بعد الانتهاء، لمنع إعادة الإدخال.

  3. النظر في جميع أنواع الرموز ومسارات التبادل: عند تصميم وظيفة التبادل، يجب مراعاة جميع الحالات المحتملة وظروف الحدود.

  4. تحديد مبلغ الصفقة الواحدة: ضبط حد معقول للصفقات لتقليل الخسائر المحتملة.

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

  6. تنفيذ آلية التوقيع المتعدد: تحتاج العمليات الرئيسية إلى تأكيد من عدة أطراف، مما يزيد من صعوبة الهجوم.

  7. تحسين منطق الشيفرة: تأكد من إجراء استدعاءات خارجية فقط بعد تحديث متغيرات الحالة الأساسية.

  8. تعزيز آلية الاستجابة للطوارئ: وضع خطط طوارئ متكاملة تسمح بالاستجابة السريعة عند حدوث هجوم، وتقليل الخسائر إلى الحد الأدنى.

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

TOKEN-3.1%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 5
  • مشاركة
تعليق
0/400
ZenMinervip
· منذ 23 س
يجب أن تعتمد أمان العقود على التدقيق.
شاهد النسخة الأصليةرد0
DAOplomacyvip
· منذ 23 س
فشل آخر في الحوكمة دون المستوى، الحمد لله...
شاهد النسخة الأصليةرد0
GweiTooHighvip
· منذ 23 س
又 آخر يُستغل بغباء.
شاهد النسخة الأصليةرد0
DeFiAlchemistvip
· منذ 23 س
*يعدل نظارات إيثيرية* روح أخرى تهبط إلى فنون العودة المظلمة... كانت الحواجز الغامضة للبروتوكول ضعيفة للغاية
شاهد النسخة الأصليةرد0
PessimisticLayervip
· 07-21 00:08
مرة أخرى 300w؟ بسيطة جداً
شاهد النسخة الأصليةرد0
  • تثبيت