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