تعرض Poolz لهجوم تجاوز عددي، الخسائر تصل إلى 665000 دولار أمريكي
في 15 مارس في وقت مبكر من الصباح، تعرض Poolz لهجوم على شبكة الإيثريوم وسلسلة بينانس الذكية وشبكة بوليغون، مما أدى إلى سرقة عدة رموز، بقيمة إجمالية تقارب 665,000 دولار أمريكي. استغل المهاجمون ثغرة تجاوز السعة العددية في العقد الذكي، ونجحوا في الحصول على كمية كبيرة من الرموز.
المهاجمون يقومون بإنشاء تجمعات السيولة بكميات كبيرة من خلال استدعاء وظيفة CreateMassPools. تحتوي هذه الوظيفة على ثغرة حاسمة، مما يسمح للمهاجمين بتجاوز الفحوصات العادية للسيولة من خلال معلمات مصممة بعناية. على وجه التحديد، استغل المهاجمون مشكلة تجاوز السعة في دالة getArraySum.
خلال عملية الهجوم، قام القراصنة أولاً بتبادل كمية صغيرة من رموز MNZ في إحدى البورصات اللامركزية. بعد ذلك، قاموا باستدعاء دالة CreateMassPools التي تحتوي على ثغرة. كان من المفترض أن تُستخدم هذه الدالة لإنشاء مجموعات السيولة بكميات كبيرة وتقديم السيولة الأولية، ولكن بسبب عيب دالة getArraySum، تمكن المهاجمون من حقن سيولة زائفة تفوق بكثير كمية التحويل الفعلية.
تقوم دالة getArraySum بجمع مصفوفة _StartAmount المدخلة، ولكن بسبب مشكلة overflow، تصبح القيمة النهائية التي تم إرجاعها 1. ومع ذلك، لا تزال دالة CreatePool تستخدم القيمة الأصلية لـ _StartAmount للتسجيل. وهذا يؤدي إلى أن المهاجم يمكنه إدخال 1 توكن فقط، مما يسمح له بتسجيل سيولة وهمية كبيرة في النظام.
بعد الانتهاء من هذه الخطوة، يقوم المهاجم ببساطة باستدعاء دالة السحب لاستخراج الرموز، مما يكمل عملية الهجوم بأكملها.
تُبرز هذه الحادثة مرة أخرى أهمية أمان العمليات الحسابية في العقود الذكية. لمنع حدوث مشكلات مشابهة، ينبغي على المطورين النظر في استخدام إصدارات أحدث من مترجم Solidity، حيث يمكن لهذه الإصدارات إجراء فحص للاختراق تلقائيًا في مرحلة الترجمة. بالنسبة للمشاريع التي تستخدم إصدارًا قديمًا من Solidity، يُوصى بدمج مكتبة SafeMath من OpenZeppelin للتعامل مع مشكلات تجاوز الأعداد الصحيحة.
تذكرنا هذه الحادثة الهجومية أنه في نظام blockchain البيئي، حتى الثغرات البرمجية الصغيرة التي تبدو غير مهمة يمكن أن تؤدي إلى خسائر اقتصادية جسيمة. لذلك، فإن التدقيق الشامل للكود والتحديثات الأمنية المستمرة أمران حاسمان لحماية أصول المستخدمين.
شاهد النسخة الأصلية
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.
تعرضت Poolz لهجوم تجاوز عدد صحيح مما أدى إلى خسارة قدرها 665000 دولار أمريكي
تعرض Poolz لهجوم تجاوز عددي، الخسائر تصل إلى 665000 دولار أمريكي
في 15 مارس في وقت مبكر من الصباح، تعرض Poolz لهجوم على شبكة الإيثريوم وسلسلة بينانس الذكية وشبكة بوليغون، مما أدى إلى سرقة عدة رموز، بقيمة إجمالية تقارب 665,000 دولار أمريكي. استغل المهاجمون ثغرة تجاوز السعة العددية في العقد الذكي، ونجحوا في الحصول على كمية كبيرة من الرموز.
المهاجمون يقومون بإنشاء تجمعات السيولة بكميات كبيرة من خلال استدعاء وظيفة CreateMassPools. تحتوي هذه الوظيفة على ثغرة حاسمة، مما يسمح للمهاجمين بتجاوز الفحوصات العادية للسيولة من خلال معلمات مصممة بعناية. على وجه التحديد، استغل المهاجمون مشكلة تجاوز السعة في دالة getArraySum.
خلال عملية الهجوم، قام القراصنة أولاً بتبادل كمية صغيرة من رموز MNZ في إحدى البورصات اللامركزية. بعد ذلك، قاموا باستدعاء دالة CreateMassPools التي تحتوي على ثغرة. كان من المفترض أن تُستخدم هذه الدالة لإنشاء مجموعات السيولة بكميات كبيرة وتقديم السيولة الأولية، ولكن بسبب عيب دالة getArraySum، تمكن المهاجمون من حقن سيولة زائفة تفوق بكثير كمية التحويل الفعلية.
تقوم دالة getArraySum بجمع مصفوفة _StartAmount المدخلة، ولكن بسبب مشكلة overflow، تصبح القيمة النهائية التي تم إرجاعها 1. ومع ذلك، لا تزال دالة CreatePool تستخدم القيمة الأصلية لـ _StartAmount للتسجيل. وهذا يؤدي إلى أن المهاجم يمكنه إدخال 1 توكن فقط، مما يسمح له بتسجيل سيولة وهمية كبيرة في النظام.
بعد الانتهاء من هذه الخطوة، يقوم المهاجم ببساطة باستدعاء دالة السحب لاستخراج الرموز، مما يكمل عملية الهجوم بأكملها.
تُبرز هذه الحادثة مرة أخرى أهمية أمان العمليات الحسابية في العقود الذكية. لمنع حدوث مشكلات مشابهة، ينبغي على المطورين النظر في استخدام إصدارات أحدث من مترجم Solidity، حيث يمكن لهذه الإصدارات إجراء فحص للاختراق تلقائيًا في مرحلة الترجمة. بالنسبة للمشاريع التي تستخدم إصدارًا قديمًا من Solidity، يُوصى بدمج مكتبة SafeMath من OpenZeppelin للتعامل مع مشكلات تجاوز الأعداد الصحيحة.
تذكرنا هذه الحادثة الهجومية أنه في نظام blockchain البيئي، حتى الثغرات البرمجية الصغيرة التي تبدو غير مهمة يمكن أن تؤدي إلى خسائر اقتصادية جسيمة. لذلك، فإن التدقيق الشامل للكود والتحديثات الأمنية المستمرة أمران حاسمان لحماية أصول المستخدمين.