تعرض مشروع Poolz لهجوم من نوع Overflow Arithmetic، مما أسفر عن خسائر تقدر بحوالي 66.5 ألف دولار أمريكي.
في الآونة الأخيرة، أثار حادث أمني استهدف مشروع Poolz متعدد السلاسل اهتمام业内. وفقًا لبيانات مراقبة blockchain، استخدم المهاجمون ثغرة تجاوز السعة الحسابية في العقد الذكي، وسرقوا بنجاح كمية كبيرة من الرموز من مشروع Poolz على شبكات Ethereum و BNB Chain و Polygon، بإجمالي قيمة تبلغ حوالي 665000 دولار.
حدث الهجوم حوالي الساعة 3:16 صباحًا بتوقيت العالم المنسق في 15 مارس 2023. تشمل الأصول المسروقة مجموعة متنوعة من الرموز ERC-20، مثل MEE و ESNC و DON و ASW و KMON و POOLZ وغيرها. قام المهاجمون بعد ذلك بتحويل بعض الرموز إلى BNB، لكن هذه الأموال لم يتم نقلها حتى الآن.
تتمثل المشكلة الأساسية في الهجوم الحالي في دالة CreateMassPools لمشروع Poolz. كانت هذه الدالة مخصصة لإنشاء مجموعة من برك السيولة وتوفير السيولة الأولية، ولكن توجد ثغرة تدفق أعداد صحيحة في دالة getArraySum. استغل المهاجمون معلمات إدخال مصممة بعناية لجعل نتيجة الجمع تتجاوز نطاق uint256، مما أدى إلى أن تكون قيمة إرجاع الدالة 1.
ومع ذلك، استخدم دالة CreatePool معلمة _StartAmount الأصلية عند تسجيل خصائص البركة، بدلاً من العدد الفعلي للرموز المدخلة. وهذا أدى إلى أن المهاجم يحتاج فقط إلى إدخال رمز واحد، ليتم تسجيل كمية كبيرة من السيولة الأولية أكبر بكثير من الكمية الفعلية. بعد ذلك، قام المهاجم باستكمال عملية سحب الأموال من خلال استدعاء دالة withdraw، مما أتاح له تحقيق هدف الهجوم.
لتجنب حدوث مثل هذه المشكلات مرة أخرى، يُنصح المطورون باستخدام إصدار أحدث من Solidity للتجميع، للاستفادة من وظيفة التحقق المدمجة من الفيض. بالنسبة للمشاريع التي تستخدم إصدارات أقدم من Solidity، يمكن النظر في إدخال مكتبة SafeMath من OpenZeppelin لحل مشكلة تجاوز الأعداد الصحيحة.
تُذكّرنا هذه الحادثة مرة أخرى بأهمية الأمان والتدقيق في الشيفرة في تطوير العقود الذكية، فلا ينبغي تجاهلها. حتى الأخطاء الحسابية التي تبدو صغيرة قد يتم استغلالها من قبل المهاجمين، مما يؤدي إلى خسائر اقتصادية ضخمة.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 12
أعجبني
12
5
إعادة النشر
مشاركة
تعليق
0/400
TrustMeBro
· 08-10 11:16
هههه مجرد مبلغ صغير ، التالي
شاهد النسخة الأصليةرد0
DeFiAlchemist
· 08-10 11:15
*يعدل المخططات الغامضة* بروتوكول آخر يهوي إلى الحسابات المظلمة... الأرقام لا تكذب أبداً
تعرضت Poolz لهجوم تجاوز العددي وخسرت 665000 دولار أمريكي
تعرض مشروع Poolz لهجوم من نوع Overflow Arithmetic، مما أسفر عن خسائر تقدر بحوالي 66.5 ألف دولار أمريكي.
في الآونة الأخيرة، أثار حادث أمني استهدف مشروع Poolz متعدد السلاسل اهتمام业内. وفقًا لبيانات مراقبة blockchain، استخدم المهاجمون ثغرة تجاوز السعة الحسابية في العقد الذكي، وسرقوا بنجاح كمية كبيرة من الرموز من مشروع Poolz على شبكات Ethereum و BNB Chain و Polygon، بإجمالي قيمة تبلغ حوالي 665000 دولار.
حدث الهجوم حوالي الساعة 3:16 صباحًا بتوقيت العالم المنسق في 15 مارس 2023. تشمل الأصول المسروقة مجموعة متنوعة من الرموز ERC-20، مثل MEE و ESNC و DON و ASW و KMON و POOLZ وغيرها. قام المهاجمون بعد ذلك بتحويل بعض الرموز إلى BNB، لكن هذه الأموال لم يتم نقلها حتى الآن.
تتمثل المشكلة الأساسية في الهجوم الحالي في دالة CreateMassPools لمشروع Poolz. كانت هذه الدالة مخصصة لإنشاء مجموعة من برك السيولة وتوفير السيولة الأولية، ولكن توجد ثغرة تدفق أعداد صحيحة في دالة getArraySum. استغل المهاجمون معلمات إدخال مصممة بعناية لجعل نتيجة الجمع تتجاوز نطاق uint256، مما أدى إلى أن تكون قيمة إرجاع الدالة 1.
ومع ذلك، استخدم دالة CreatePool معلمة _StartAmount الأصلية عند تسجيل خصائص البركة، بدلاً من العدد الفعلي للرموز المدخلة. وهذا أدى إلى أن المهاجم يحتاج فقط إلى إدخال رمز واحد، ليتم تسجيل كمية كبيرة من السيولة الأولية أكبر بكثير من الكمية الفعلية. بعد ذلك، قام المهاجم باستكمال عملية سحب الأموال من خلال استدعاء دالة withdraw، مما أتاح له تحقيق هدف الهجوم.
لتجنب حدوث مثل هذه المشكلات مرة أخرى، يُنصح المطورون باستخدام إصدار أحدث من Solidity للتجميع، للاستفادة من وظيفة التحقق المدمجة من الفيض. بالنسبة للمشاريع التي تستخدم إصدارات أقدم من Solidity، يمكن النظر في إدخال مكتبة SafeMath من OpenZeppelin لحل مشكلة تجاوز الأعداد الصحيحة.
تُذكّرنا هذه الحادثة مرة أخرى بأهمية الأمان والتدقيق في الشيفرة في تطوير العقود الذكية، فلا ينبغي تجاهلها. حتى الأخطاء الحسابية التي تبدو صغيرة قد يتم استغلالها من قبل المهاجمين، مما يؤدي إلى خسائر اقتصادية ضخمة.