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

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

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

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

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

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

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

تدفق الأموال

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

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

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

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

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

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

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

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

TOKEN-4.93%
ETH-0.18%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 6
  • إعادة النشر
  • مشاركة
تعليق
0/400
New_Ser_Ngmivip
· 07-13 12:19
又 هاكر اقتطاف القسائم了
شاهد النسخة الأصليةرد0
DegenMcsleeplessvip
· 07-13 03:32
مشروع آخر انفصل ~
شاهد النسخة الأصليةرد0
SatoshiSherpavip
· 07-12 13:26
مرة أخرى نرى العقود الذكية، آه آه
شاهد النسخة الأصليةرد0
VCsSuckMyLiquidityvip
· 07-10 17:44
ليس مفاجئاً سقوط آخر
شاهد النسخة الأصليةرد0
GasFeeDodgervip
· 07-10 17:37
مشروع آخر هرب وتركنا
شاهد النسخة الأصليةرد0
FOMOSapienvip
· 07-10 17:16
خط صيد آخر للحديد
شاهد النسخة الأصليةرد0
  • تثبيت