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