تعرض Poolz لهجوم ثغرة تجاوز الحساب، مما أدى إلى خسائر تصل إلى 66.5 ألف دولار
مؤخراً، أثار حادث هجوم على منصة Poolz متعددة السلاسل اهتمام الصناعة. استخدم المهاجمون ثغرة تجاوز الحسابات في العقد الذكي، وتمكنوا من سرقة كميات كبيرة من الرموز من عدة شبكات مثل إيثيريوم و BNB Chain و Polygon، وبلغت الخسائر المقدرة حوالي 665,000 دولار.
وفقًا لبيانات السلسلة، حدث هذا الهجوم في 15 مارس 2023 في الصباح الباكر. حصل المهاجمون على مجموعة متنوعة من الرموز، بما في ذلك MEE وESNC وDON وASW وKMON وPOOLZ وغيرها. حاليًا، تم تحويل جزء من الأموال المسروقة إلى BNB، ولكن لم يتم نقلها بعد إلى عناوين أخرى.
استغل المهاجمون ثغرة في وظيفة CreateMassPools في عقد Poolz الذكي. تسمح هذه الوظيفة للمستخدمين بإنشاء تجمعات سيولة بشكل جماعي وتوفير سيولة أولية. تكمن المشكلة في وظيفة getArraySum، التي تُستخدم لحساب كمية الرموز المدخلة. قام المهاجمون من خلال بيانات إدخال مصممة بعناية، بجعل نتيجة الجمع تتجاوز نطاق نوع uint256، مما أدى إلى تجاوز القيمة المرجعة لتصبح 1.
تتيح هذه الزيادة الرياضية للمهاجمين تحويل رمز واحد فقط، لتسجيل سيولة ضخمة تفوق الكمية الفعلية في النظام. بعد ذلك، قام المهاجم بسهولة بسحب كميات كبيرة من الرموز غير المصرح بها من خلال استدعاء دالة السحب.
لمنع حدوث أحداث مشابهة مرة أخرى، ينصح الخبراء الأمنيون المطورين باستخدام إصدارات أحدث من Solidity لتجميع العقود، لأن الإصدارات الجديدة تقوم تلقائيًا بإجراء فحص الفائض. بالنسبة للمشروعات التي تستخدم إصدارات أقدم من Solidity، يمكن النظر في إدخال مكتبة SafeMath من OpenZeppelin لحل مشكلة تجاوز الأعداد.
تسليط الضوء على أهمية تدقيق أمان العقود الذكية مرة أخرى في هذا الحدث، وخاصة عند التعامل مع عمليات الحسابات الكبيرة التي تتطلب توخي الحذر بشكل خاص. بالنسبة لمشاريع DeFi، فإن الاختبارات الأمنية الشاملة ومراجعات الكود المنتظمة هي التدابير الأساسية لضمان أمان أموال المستخدمين.
شاهد النسخة الأصلية
قد تحتوي هذه الصفحة على محتوى من جهات خارجية، يتم تقديمه لأغراض إعلامية فقط (وليس كإقرارات/ضمانات)، ولا ينبغي اعتباره موافقة على آرائه من قبل Gate، ولا بمثابة نصيحة مالية أو مهنية. انظر إلى إخلاء المسؤولية للحصول على التفاصيل.
تسجيلات الإعجاب 13
أعجبني
13
6
مشاركة
تعليق
0/400
LonelyAnchorman
· منذ 13 س
مشروع قديم آخر يتعثر
شاهد النسخة الأصليةرد0
WalletDivorcer
· منذ 13 س
هذا قصير جداً أليس كذلك
شاهد النسخة الأصليةرد0
HodlNerd
· منذ 13 س
إحصائيًا، أصبحت هذه الأخطاء الزائدة متوقعة... نحتاج إلى تحليل أفضل لنظرية الألعاب بصراحة
تعرض Poolz لهجوم تجاوز حسابي وخسرت عدة سلاسل 665000 دولار أمريكي
تعرض Poolz لهجوم ثغرة تجاوز الحساب، مما أدى إلى خسائر تصل إلى 66.5 ألف دولار
مؤخراً، أثار حادث هجوم على منصة Poolz متعددة السلاسل اهتمام الصناعة. استخدم المهاجمون ثغرة تجاوز الحسابات في العقد الذكي، وتمكنوا من سرقة كميات كبيرة من الرموز من عدة شبكات مثل إيثيريوم و BNB Chain و Polygon، وبلغت الخسائر المقدرة حوالي 665,000 دولار.
وفقًا لبيانات السلسلة، حدث هذا الهجوم في 15 مارس 2023 في الصباح الباكر. حصل المهاجمون على مجموعة متنوعة من الرموز، بما في ذلك MEE وESNC وDON وASW وKMON وPOOLZ وغيرها. حاليًا، تم تحويل جزء من الأموال المسروقة إلى BNB، ولكن لم يتم نقلها بعد إلى عناوين أخرى.
استغل المهاجمون ثغرة في وظيفة CreateMassPools في عقد Poolz الذكي. تسمح هذه الوظيفة للمستخدمين بإنشاء تجمعات سيولة بشكل جماعي وتوفير سيولة أولية. تكمن المشكلة في وظيفة getArraySum، التي تُستخدم لحساب كمية الرموز المدخلة. قام المهاجمون من خلال بيانات إدخال مصممة بعناية، بجعل نتيجة الجمع تتجاوز نطاق نوع uint256، مما أدى إلى تجاوز القيمة المرجعة لتصبح 1.
تتيح هذه الزيادة الرياضية للمهاجمين تحويل رمز واحد فقط، لتسجيل سيولة ضخمة تفوق الكمية الفعلية في النظام. بعد ذلك، قام المهاجم بسهولة بسحب كميات كبيرة من الرموز غير المصرح بها من خلال استدعاء دالة السحب.
لمنع حدوث أحداث مشابهة مرة أخرى، ينصح الخبراء الأمنيون المطورين باستخدام إصدارات أحدث من Solidity لتجميع العقود، لأن الإصدارات الجديدة تقوم تلقائيًا بإجراء فحص الفائض. بالنسبة للمشروعات التي تستخدم إصدارات أقدم من Solidity، يمكن النظر في إدخال مكتبة SafeMath من OpenZeppelin لحل مشكلة تجاوز الأعداد.
تسليط الضوء على أهمية تدقيق أمان العقود الذكية مرة أخرى في هذا الحدث، وخاصة عند التعامل مع عمليات الحسابات الكبيرة التي تتطلب توخي الحذر بشكل خاص. بالنسبة لمشاريع DeFi، فإن الاختبارات الأمنية الشاملة ومراجعات الكود المنتظمة هي التدابير الأساسية لضمان أمان أموال المستخدمين.