تعرض OrionProtocol لهجوم إعادة الدخول مما أدى إلى خسارة 290 ألف دولار من أصول التشفير

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

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

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

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

قام المهاجم أولاً بنشر عقد توكن مخصص، وأجرى عمليات تحويل وتفويض مناسبة، استعدادًا للهجوم اللاحق. بعد ذلك، اقترض المهاجم أموالًا من خلال وظيفة التبادل في إحدى البورصات اللامركزية، واستدعى طريقة ExchangeWithAtomic.swapThroughOrionPool من OrionProtocol لتبادل التوكنات. تم تعيين مسار التبادل إلى USDC → توكن المهاجم المخصص → USDT.

خلال عملية التبادل، استغل المهاجمون الدالة المرجعية في عقد الـToken المخصص، واستدعوا طريقة ExchangeWithAtomic.depositAsset بشكل متكرر، مما أدى إلى تراكم مبلغ الإيداع. في النهاية، أكمل المهاجمون عملية الربح من خلال سحب الأموال.

! [تحليل هجوم إعادة دخول 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. تقوم هذه الدالة بتحديث متغير curBalance بعد تنفيذ تحويل الرموز، مما يخلق ظروفًا لهجوم إعادة الإدخال. يقوم المهاجم بإضافة منطق رد الاتصال في دالة transfer للرمز المخصص، مما يؤدي إلى استدعاء دالة depositAsset بشكل متكرر، مما يؤدي إلى تحديث curBalance بشكل خاطئ. في النهاية، بعد سداد القرض الفوري، قام المهاجم بسحب الأموال الزائدة من خلال دالة withdraw.

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

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

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

![تحليل هجوم إعادة الإدخال بروتوكول أوريون مع 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. يجب أن يتبع تطوير العقود نموذج "التحقق - التأثير - التفاعل" (Checks-Effects-Interactions) لتجنب إجراء استدعاءات خارجية قبل تحديث الحالة.

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

  3. إضافة آليات أمان مثل قفل إعادة الدخول لمنع هجمات إعادة الدخول.

  4. تنفيذ ضوابط الوصول وتدابير الحدود للعمليات الرئيسية.

  5. إجراء تدقيق أمني شامل، مع التركيز بشكل خاص على الوظائف الأساسية المتعلقة بعمليات الأموال.

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

TOKEN3.16%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • مشاركة
تعليق
0/400
ShamedApeSellervip
· 07-24 12:02
مرة أخرى، أصبح الأمر باردًا
شاهد النسخة الأصليةرد0
CoffeeOnChainvip
· 07-24 09:46
هل لا تقومون بتدقيق العقود؟ تستحقون أن تُستغلوا.
شاهد النسخة الأصليةرد0
FlippedSignalvip
· 07-23 09:34
مرة أخرى تم اختراقه
شاهد النسخة الأصليةرد0
SchrodingersFOMOvip
· 07-23 09:26
لم تُنتهِ من تداول العملات بعد؟
شاهد النسخة الأصليةرد0
ETHReserveBankvip
· 07-23 09:25
مرة أخرى، تعليم على الإنترنت من قبل خبراء 0day
شاهد النسخة الأصليةرد0
FlatlineTradervip
· 07-23 09:15
لا تزال لا تعرف كيفية الحماية من هجوم إعادة الإدخال؟ ميت تمامًا
شاهد النسخة الأصليةرد0
  • تثبيت