تعرضت Poolz لهجوم تجاوز حسابي، مما أدى إلى خسارة قدرها 665,000 دولار أمريكي وتأثرت الأصول متعددة السلاسل.

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

تعرض Poolz لهجوم تجاوز حسابي، وخسائر تقدر بحوالي 66.5 ألف دولار أمريكي

مؤخراً، حدثت حادثة هجوم على Poolz على شبكة الإيثيريوم، وسلسلة بينانس الذكية، وشبكة بوليغون. وفقًا لمراقبة بيانات السلسلة، وقع الهجوم في 15 مارس 2023 الساعة 3:16 صباحًا بتوقيت UTC (. شمل هذا الهجوم عدة رموز، بما في ذلك MEE و ESNC و DON و ASW و KMON و POOLZ، وبلغ إجمالي الخسائر حوالي 665,000 دولار.

![تعرضت Poolz لهجوم بسبب مشكلة في تجاوز السعة الحسابية، والخسائر حوالي 665 ألف دولار!])https://img-cdn.gateio.im/webp-social/moments-974bc1b1f017458e935bb53bf55cef3e.webp(

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

عملية الهجوم كما يلي:

  1. قام المهاجم أولاً بتبادل كمية صغيرة من رموز MNZ في بورصة لامركزية معينة.

  2. بعد ذلك، استدعاء دالة CreateMassPools، مع تمرير المعلمات المصممة بعناية. يحتوي مصفوفة _StartAmount على قيمتين: واحدة قيمة كبيرة قريبة من الحد الأقصى لـ uint256، والأخرى كمية طبيعية من الرموز.

  3. بسبب عملية الجمع في دالة getArraySum التي أدت إلى تجاوز، كانت القيمة المرجعة النهائية 1. ومع ذلك، لا يزال العقد يستخدم القيمة الأصلية _StartAmount عند تسجيل خصائص الحوض.

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

  5. أخيراً، يقوم المهاجم باستدعاء دالة السحب withdraw لاستخراج الرموز، وإكمال الهجوم.

![تم الهجوم على Poolz بسبب مشكلة تجاوز السعة الحسابية، مع خسائر تصل إلى حوالي 665 ألف دولار!])https://img-cdn.gateio.im/webp-social/moments-7726863222e36bd3db4e3408503ba81c.webp(

لتجنب حدوث مثل هذه المشكلات مرة أخرى، يُنصح المطورون باتخاذ التدابير التالية:

  1. استخدم إصدارات أحدث من مترجم Solidity، حيث تقوم هذه الإصدارات بإجراء فحص overflow تلقائي.

  2. إذا كان لا بد من استخدام إصدار قديم من Solidity، يمكنك إدخال مكتبات أمان خارجية للتعامل مع العمليات الحسابية الصحيحة، مثل مكتبة SafeMath من OpenZeppelin.

  3. عند معالجة مدخلات المستخدم، وخاصة في الحالات التي تتعلق بحسابات الأعداد الكبيرة، يجب إجراء فحص صارم للحدود ومعالجة الاستثناءات.

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

  5. النظر في إدخال آليات مثل التوقيع المتعدد أو قفل الوقت لكسب الوقت للاستجابة في حالات الطوارئ.

![تمت مهاجمة Poolz بسبب مشكلة في تجاوز السعة، مما أدى إلى خسارة حوالي 665 ألف دولار!])https://img-cdn.gateio.im/webp-social/moments-207e83ef73f5ece4adee71f4f42674f3.webp(

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

![تم الهجوم على Poolz بسبب مشكلة تجاوز سعة العد، مما أدى إلى خسارة حوالي 665 ألف دولار!])https://img-cdn.gateio.im/webp-social/moments-915eae1e1853f3d04d16dbac2b8c504a.webp(

شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
  • أعجبني
  • 4
  • مشاركة
تعليق
0/400
zkProofInThePuddingvip
· 07-31 01:15
مظلم وخاسر، هل هذا حقًا سيء جدًا؟
شاهد النسخة الأصليةرد0
DaisyUnicornvip
· 07-31 01:15
دعونا نلقي نظرة على الدراما الكبيرة للثغرات والزهور الصغيرة التي تتفتح ~ وعاء عسل آخر لم يتم احتسابه يفيض
شاهد النسخة الأصليةرد0
CryptoPhoenixvip
· 07-31 01:14
مشروع آخر يسقط... سيستغرق الأمر وقتًا لاستعادة الثقة[翻白眼] لكن السوق دائمًا ما يمكنه إعادة البناء!
شاهد النسخة الأصليةرد0
ChainWanderingPoetvip
· 07-31 00:55
66w...لم أستطع حتى كتابة شعر رائحة النحاس.
شاهد النسخة الأصليةرد0
  • تثبيت