وفقًا لبيانات مراقبة الشبكة، في 2 فبراير 2023، الساعة 15:40:20 بتوقيت UTC، تعرض OrionProtocol لهجوم إعادة دخول بسبب ثغرة في العقد على شبكة الإيثيريوم وسلسلة بينانس الذكية. حقق المهاجم ربحًا قدره 2,844,766 USDT من شبكة الإيثيريوم و191,606 BUSD من سلسلة بينانس الذكية، بإجمالي يقارب 2.9 مليون دولار.
! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201
تحليل عملية الهجوم
) تفاصيل الهجوم على سلسلة الإيثيريوم
توكن مخصص
! [تحليل هجوم إعادة دخول OrionProtocol مع PoC]###https://img-cdn.gateio.im/webp-social/moments-caac189901b7aaad5abd8be30bb4361a.webp(
خلال عملية الصرف، وبسبب وجود وظيفة الاسترجاع في عقد التوكن الذي أنشأه المهاجم، تمكن المهاجم من استدعاء دالة ExchangeWithAtomic.depositAsset بشكل متكرر خلال فترة تنفيذ ExchangeWithAtomic.swapThroughOrionPool باستخدام طريقة Token.Transfer. وهذا أدى إلى تراكم مستمر لمبلغ الإيداع، وفي النهاية تمكن المهاجم من تحقيق الربح من خلال عملية السحب.
![تحليل هجوم إعادة الدخول بروتوكول أوريون مع 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. تقوم هذه الدالة بتحديث متغير curBalance بعد تنفيذ تحويل الرمز المميز، دون اتباع نمط "التحقق-التأثيرات-التفاعلات" (Checks-Effects-Interactions). استغل المهاجم آلية الاستدعاء المضافة في دالة transfer للرمز المخصص، حيث قام باستدعاء دالة depositAsset بشكل متكرر قبل تحديث curBalance، مما أدى إلى حساب غير صحيح للرصيد.
! [تحليل هجوم إعادة دخول 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(
! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-e010d0f0c02fb8bbc648f755b0ac464c.webp(
! [تحليل هجوم إعادة الدخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(
نصائح للوقاية
يجب على فريق المشروع عند تصميم العقود التي تتضمن وظيفة تبادل الرموز أن يأخذ في الاعتبار المخاطر الأمنية المحتملة الناجمة عن أنواع الرموز المختلفة ومسارات التبادل.
الالتزام الصارم بمعيار التشفير "التحقق - التأثير - التفاعل"، أي إجراء التحقق من الشروط أولاً، ثم تحديث متغيرات الحالة، وأخيراً تنفيذ المكالمات الخارجية.
لحماية الدوال التي قد تكون عرضة لخطر إعادة الإدخال، استخدم آليات مثل قفل إعادة الإدخال.
إضافة فحص الرصيد قبل وبعد العمليات الرئيسية لضمان الذرية والتناسق في المعاملات.
إجراء تدقيق دوري للشفرة واختبارات الأمان، واكتشاف وإصلاح الثغرات المحتملة في الوقت المناسب.
النظر في تنفيذ قيود على مبلغ الصفقة أو قيود على تكرار الصفقة، لتقليل الخسائر الناتجة عن هجوم واحد.
من خلال اتخاذ هذه التدابير، يمكن للمشروع تعزيز أمان العقد بشكل كبير وتقليل مخاطر التعرض لهجمات مماثلة. في النظام البيئي المتطور بسرعة Web3، يجب أن تكون الأمان دائمًا الاعتبار الأساسي.
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 11
أعجبني
11
4
مشاركة
تعليق
0/400
BearMarketGardener
· منذ 2 س
مرة أخرى إعادة دخول، تم سحب جميع الخضروات.
شاهد النسخة الأصليةرد0
Token_Sherpa
· منذ 11 س
أوه... يوم آخر، وهجوم إعادة دخول آخر. متى سيتعلم المطورون التحقق من تأثيرات التفاعلات، أ sigh
تعرض OrionProtocol لهجوم إعادة دخول بقيمة 2.9 مليون دولار تحليل الثغرة ونصائح للتصدي لها
تحليل حادثة هجوم إعادة الدخول على OrionProtocol
ملخص الحدث
وفقًا لبيانات مراقبة الشبكة، في 2 فبراير 2023، الساعة 15:40:20 بتوقيت UTC، تعرض OrionProtocol لهجوم إعادة دخول بسبب ثغرة في العقد على شبكة الإيثيريوم وسلسلة بينانس الذكية. حقق المهاجم ربحًا قدره 2,844,766 USDT من شبكة الإيثيريوم و191,606 BUSD من سلسلة بينانس الذكية، بإجمالي يقارب 2.9 مليون دولار.
! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC](https://img-cdn.gateio.im/webp-social/moments-730464b2d4d7f6e0ff21a0289a2d5d68.webp0192837465674839201
تحليل عملية الهجوم
) تفاصيل الهجوم على سلسلة الإيثيريوم
توكن مخصص
! [تحليل هجوم إعادة دخول OrionProtocol مع PoC]###https://img-cdn.gateio.im/webp-social/moments-caac189901b7aaad5abd8be30bb4361a.webp(
خلال عملية الصرف، وبسبب وجود وظيفة الاسترجاع في عقد التوكن الذي أنشأه المهاجم، تمكن المهاجم من استدعاء دالة ExchangeWithAtomic.depositAsset بشكل متكرر خلال فترة تنفيذ ExchangeWithAtomic.swapThroughOrionPool باستخدام طريقة Token.Transfer. وهذا أدى إلى تراكم مستمر لمبلغ الإيداع، وفي النهاية تمكن المهاجم من تحقيق الربح من خلال عملية السحب.
![تحليل هجوم إعادة الدخول بروتوكول أوريون مع 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. تقوم هذه الدالة بتحديث متغير curBalance بعد تنفيذ تحويل الرمز المميز، دون اتباع نمط "التحقق-التأثيرات-التفاعلات" (Checks-Effects-Interactions). استغل المهاجم آلية الاستدعاء المضافة في دالة transfer للرمز المخصص، حيث قام باستدعاء دالة depositAsset بشكل متكرر قبل تحديث curBalance، مما أدى إلى حساب غير صحيح للرصيد.
! [تحليل هجوم إعادة دخول 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(
! [تحليل هجوم إعادة دخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-e010d0f0c02fb8bbc648f755b0ac464c.webp(
! [تحليل هجوم إعادة الدخول OrionProtocol باستخدام PoC])https://img-cdn.gateio.im/webp-social/moments-f3c5f9416cfb9b7b791d86eeffb933be.webp(
نصائح للوقاية
يجب على فريق المشروع عند تصميم العقود التي تتضمن وظيفة تبادل الرموز أن يأخذ في الاعتبار المخاطر الأمنية المحتملة الناجمة عن أنواع الرموز المختلفة ومسارات التبادل.
الالتزام الصارم بمعيار التشفير "التحقق - التأثير - التفاعل"، أي إجراء التحقق من الشروط أولاً، ثم تحديث متغيرات الحالة، وأخيراً تنفيذ المكالمات الخارجية.
لحماية الدوال التي قد تكون عرضة لخطر إعادة الإدخال، استخدم آليات مثل قفل إعادة الإدخال.
إضافة فحص الرصيد قبل وبعد العمليات الرئيسية لضمان الذرية والتناسق في المعاملات.
إجراء تدقيق دوري للشفرة واختبارات الأمان، واكتشاف وإصلاح الثغرات المحتملة في الوقت المناسب.
النظر في تنفيذ قيود على مبلغ الصفقة أو قيود على تكرار الصفقة، لتقليل الخسائر الناتجة عن هجوم واحد.
من خلال اتخاذ هذه التدابير، يمكن للمشروع تعزيز أمان العقد بشكل كبير وتقليل مخاطر التعرض لهجمات مماثلة. في النظام البيئي المتطور بسرعة Web3، يجب أن تكون الأمان دائمًا الاعتبار الأساسي.