$POL Nimiq تم استغلالها على Polygon: خسارة بقيمة 504 ألف دولار بسبب خلل في التحقق من التوقيع

تم استغلال عقد المبادلة الخاص بـ Nimiq على Polygon في 16 سبتمبر، مع خسائر تقارب 504,000 دولار. لم تكن هذه عملية اختراق متقدمة؛ بل كانت خطأً بسيطًا لكنه مكلف.
كيف حدث ذلك:

استغل المهاجم ثغرة في دالة execute() في العقد، والتي لم تتحقق من توقيعات المستخدمين. فقد قام بتزوير طلب open() الصادر من محفظة السيولة، وفتح عدة عقود HTLC (العقود المشروطة بالوقت لتجزئة الهاش)، ثم استنزف جميع USDC وUSDT0 وUSDC.e. وتم تجميع العائدات في USDC.

رد Nimiq:

إيقاف جميع معاملات العملات المستقرة المدفوعة بالغاز في Nimiq Pay وNimiq Wallet

التحقيق في مشكلة أمنية مرتبطة بـ OpenGSN

النقطة الأساسية هنا: لم تكن الثغرة في Nimiq Chain أو Nimiq Pay، بل كانت في طبقة تكامل طرف ثالث: OpenGSN.

تتيح OpenGSN (Gas Station Network) للمستخدمين دفع تكاليف الغاز باستخدام رموز بديلة بدلًا من الرمز الأصلي للشبكة. إنها أداة مساعدة شائعة، لكنها أيضًا سطح هجوم جديد.

المشكلة الجوهرية: إذا لم تتحقق execute() من توقيعات المستخدمين قبل التنفيذ، فيمكن لأي شخص تزوير الطلبات. إنها ثغرة بسيطة، لكن في مجال DeFi غالبًا ما تؤدي الثغرات البسيطة إلى أضرار كبيرة.

مقارنةً بالاختراقات الأكبر، فإن 504 آلاف دولار ليست مبلغًا ضخمًا. لكنّها تذكير بأن استغلالًا واحدًا غير متقدم لا يزال ممكنًا. أحيانًا يكون التحقق المفقود واحدًا فقط كافيًا.

عبرة للمشاريع: عند دمج أي طبقة طرف ثالث، خاصةً حول التوقيعات والمصادقة، يجب تدقيق منطق التحقق بعناية. ويجب دائمًا وجود إجراء بديل لإيقاف النظام عند حدوث مشكلة.

ما رأيك، هل يجب على المشاريع تقليل الاعتماد على طبقات التكامل التابعة لجهات خارجية لتقليل سطح الهجوم؟

الأخبار للمراجعة فقط وليست نصيحة استثمارية. يُرجى القراءة بعناية قبل اتخاذ أي قرار.