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

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

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

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

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

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

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

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

اتجاه تدفق الأموال

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

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

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

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

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

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

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

![تحليل هجوم إعادة الدخول بروتوكول أوريون مع 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. تنفيذ ضوابط وصول معقولة وآليات للحد من الخسائر المحتملة الناتجة عن الهجمات الفردية.

تُذكِّرنا هذه الحادثة مرة أخرى بضرورة أن تولي فرق تطوير مشاريع Web3 أهمية كبيرة لأمان العقود الذكية أثناء سعيها للابتكار. فقط من خلال بناء بنية تحتية أكثر أمانًا وموثوقية يمكن دفع نمو الصناعة بشكل صحي.

TOKEN0.46%
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 8
  • مشاركة
تعليق
0/400
ShadowStakervip
· 07-08 21:29
يوم آخر، استغلال آخر في الديفي... متى سيتعلم المطورون التحقق من إعادة الدخول، يا إلهي
شاهد النسخة الأصليةرد0
TokenTherapistvip
· 07-07 15:54
انهار واحد آخر
شاهد النسخة الأصليةرد0
GasWastervip
· 07-06 14:26
مرة أخرى تم سرقتها
شاهد النسخة الأصليةرد0
SigmaBrainvip
· 07-05 22:13
هجوم إعادة الدخول مرة أخرى. يبدو أن الدفاع قد تم اختراقه.
شاهد النسخة الأصليةرد0
ponzi_poetvip
· 07-05 22:13
ما هي الأمان؟ أين ذهبت؟
شاهد النسخة الأصليةرد0
GetRichLeekvip
· 07-05 22:13
الجبهة الأمامية تأكل البطيخ، حتى تدقيق العقود لا يمكن أن يتم بشكل جيد، خسارة فادحة.
شاهد النسخة الأصليةرد0
BearMarketGardenervip
· 07-05 22:07
العقد انفجر مرة أخرى، آه
شاهد النسخة الأصليةرد0
DaoGovernanceOfficervip
· 07-05 22:00
*sigh* بالحديث تجريبياً، 99% من هذه الاختراقات تنبع من أخطاء إدارة الحالة الأساسية...
شاهد النسخة الأصليةرد0
  • تثبيت