تعرض Poolz لهجوم تجاوز حسابي، بخسارة حوالي 665 ألف دولار
مؤخراً، تعرضت مشاريع Poolz على عدة شبكات بلوكتشين لهجمات من قبل قراصنة، مما أدى إلى سرقة كميات كبيرة من الرموز، بقيمة إجمالية تقارب 665,000 دولار. حدث الهجوم في 15 مارس 2023، وشمل عدة شبكات بما في ذلك إيثريوم، و BNB سمارت تشين، و بوليجون.
استغل المهاجمون ثغرة تجاوز الحساب في عقد Poolz. من خلال التلاعب الذكي بدالة CreateMassPools، تمكن المهاجمون من إنشاء برك ذات سيولة ابتدائية كبيرة بشكل غير عادي، لكنهم في الواقع كانوا بحاجة إلى تحويل كمية قليلة جداً من الرموز. أدت هذه التناقضات في النهاية إلى تمكين المهاجمين من سحب رموز تفوق بكثير الكمية التي أودعوها فعليًا.
بشكل محدد، قام المهاجم عند استدعاء دالة CreateMassPools بتمرير مصفوفة تؤدي إلى تجاوز uint256. على الرغم من أن عدد الرموز المدخلة فعليًا كان قليلًا، إلا أن النظام سجل بشكل خاطئ قيمة ضخمة لسيولة البداية بسبب التجاوز. بعد ذلك، قام المهاجم بسحب هذه السيولة "الوهمية" من خلال دالة withdraw.
المشكلة الرئيسية التي كشفت عنها هذه الحادثة هي تجاوز العدد الصحيح. لمنع ثغرات مماثلة، يجب على المطورين النظر في استخدام إصدارات أحدث من مجمع Solidity، حيث تقوم هذه الإصدارات بإجراء فحص تلقائي للتجاوزات. بالنسبة للمشروعات التي تستخدم إصدارات أقدم من Solidity، يمكن استخدام مكتبة SafeMath من OpenZeppelin للحد من مخاطر تجاوز العدد الصحيح.
تؤكد هذه الهجمة مرة أخرى على أهمية إجراء تدقيق أمني صارم في تطوير العقود الذكية، خاصة عند التعامل مع الوظائف الحيوية لأموال المستخدمين. في الوقت نفسه، تذكر المشاريع والمستخدمين بضرورة البقاء حذرين دائمًا ومراقبة التهديدات الأمنية المحتملة.
شاهد النسخة الأصلية
This page may contain third-party content, which is provided for information purposes only (not representations/warranties) and should not be considered as an endorsement of its views by Gate, nor as financial or professional advice. See Disclaimer for details.
تسجيلات الإعجاب 8
أعجبني
8
3
مشاركة
تعليق
0/400
WhaleWatcher
· منذ 22 س
هل التدقيق مجرد شكل بلا مضمون؟
شاهد النسخة الأصليةرد0
DAOplomacy
· منذ 22 س
من المحتمل أن تكون حالة أخرى من البدائل الأمنية دون المستوى الأمثل
تعرض Poolz لهجوم تجاوز حسابي حيث خسرت العديد من الشبكات 665 ألف دولار
تعرض Poolz لهجوم تجاوز حسابي، بخسارة حوالي 665 ألف دولار
مؤخراً، تعرضت مشاريع Poolz على عدة شبكات بلوكتشين لهجمات من قبل قراصنة، مما أدى إلى سرقة كميات كبيرة من الرموز، بقيمة إجمالية تقارب 665,000 دولار. حدث الهجوم في 15 مارس 2023، وشمل عدة شبكات بما في ذلك إيثريوم، و BNB سمارت تشين، و بوليجون.
استغل المهاجمون ثغرة تجاوز الحساب في عقد Poolz. من خلال التلاعب الذكي بدالة CreateMassPools، تمكن المهاجمون من إنشاء برك ذات سيولة ابتدائية كبيرة بشكل غير عادي، لكنهم في الواقع كانوا بحاجة إلى تحويل كمية قليلة جداً من الرموز. أدت هذه التناقضات في النهاية إلى تمكين المهاجمين من سحب رموز تفوق بكثير الكمية التي أودعوها فعليًا.
بشكل محدد، قام المهاجم عند استدعاء دالة CreateMassPools بتمرير مصفوفة تؤدي إلى تجاوز uint256. على الرغم من أن عدد الرموز المدخلة فعليًا كان قليلًا، إلا أن النظام سجل بشكل خاطئ قيمة ضخمة لسيولة البداية بسبب التجاوز. بعد ذلك، قام المهاجم بسحب هذه السيولة "الوهمية" من خلال دالة withdraw.
المشكلة الرئيسية التي كشفت عنها هذه الحادثة هي تجاوز العدد الصحيح. لمنع ثغرات مماثلة، يجب على المطورين النظر في استخدام إصدارات أحدث من مجمع Solidity، حيث تقوم هذه الإصدارات بإجراء فحص تلقائي للتجاوزات. بالنسبة للمشروعات التي تستخدم إصدارات أقدم من Solidity، يمكن استخدام مكتبة SafeMath من OpenZeppelin للحد من مخاطر تجاوز العدد الصحيح.
تؤكد هذه الهجمة مرة أخرى على أهمية إجراء تدقيق أمني صارم في تطوير العقود الذكية، خاصة عند التعامل مع الوظائف الحيوية لأموال المستخدمين. في الوقت نفسه، تذكر المشاريع والمستخدمين بضرورة البقاء حذرين دائمًا ومراقبة التهديدات الأمنية المحتملة.