امن وحماية المعلومات

اختراق أبْرَكَدَابرَا بمليون و800 ألف دولار يُكرِّر ثغرة سابقة في الشيفرة المصدرية، حسب إفادة Hacken

خسر بروتوكول التمويل اللامركزي “أبراكادابرا” 1.8 مليون دولار بعد أن استغل مُهاجم خطأً بسيطاً في وظيفة الدفعات الخاصة به. وتقول شركة الأمن “هاكين” إن المُهاجم قام بغسل الأموال المسروقة بالفعل عبر “تورنيدو كاش”.

تفاصيل الهجوم على بروتوكول أبراكادابرا

في بداية أكتوبر، تعرض بروتوكول الإقراض “أبراكادابرا”، الذي يسمح للمستخدمين باقتراض عملة “MIM” المستقرة باستخدام العملات المُودعة كضمان، لاختراق جديد نتج عنه خسارة تقدر بـ 1.8 مليون دولار. وقد سبق أن تعرض البروتوكول لهجمات متعددة من قبل. وأوضح محللو الأمن في “هاكين” أن المُهاجم استغل خطأً منطقياً بسيطاً في وظيفة الدفعات للاقتراض دون تقديم أي ضمان، وهي نفس الطريقة التي تم اختراق مشروع مماثل بها قبل أيام قليلة.

كيف يعمل بروتوكول أبراكادابرا؟

يسمح بروتوكول أبراكادابرا للمستخدمين باستخدام العملات المُدرة للربح كضمان لاقتراض عملة “MIM” المستقرة. يعتمد النظام على جزأين رئيسيين:

اختراق أبْرَكَدَابرَا بمليون و800 ألف دولار يُكرِّر ثغرة سابقة في الشيفرة المصدرية، حسب إفادة Hacken
  • “القدور”: التي تتحكم في قواعد الإقراض.
  • “ديجن بوكس”: الخزينة المشتركة التي تخزن العملات فعلياً.

باختصار، يقوم المستخدم بإيداع الضمان في “القدور”، بينما يتولى “ديجن بوكس” مهمة تتبع الأموال.

ما الذي حدث بالضبط؟

كانت المشكلة في إيقاف تشغيل علم الأمان المسؤول عن إجراء فحص نهائي للتأكد من وجود ضمان كافٍ داخل معاملة واحدة. أوضح تقرير “هاكين” أن المُهاجم استغل عيباً في الوظيفة المسماة `cook()`، حيث تمكن من اقتراض عملات MIM ثم إعادة تعيين علم التحقق الذي كان من المفترض أن يتأكد من وجود ضمان كافٍ. وهذا سماح له بالاقتراض دون ضمان عبر عدة “قدور” دفعة واحدة.

شرح آلية الاختراق

يستخدم بروتوكول أبراكادابرا وظيفة مجمعة تسمى `cook()` تتيح للمستخدمين تنفيذ عدة إجراءات في معاملة واحدة، مثل إيداع الضمان والاقتراض بنقرة واحدة. أحد هذه الإجراءات، مثل خطوة “الاقتراض”، يقوم بتفعيل علم يسمى `needsSolvencyCheck`، مما يعني “في نهاية هذه المعاملة، تحقق من أن المُقترض لديه ضمان كافٍ”.

ولكن هناك إجراء آخر يمكن تنفيذه داخل نفس الدفعة يدعى `_additionalCookAction(…)`. وقد أشارت “هاكين” إلى أن هذه الوظيفة كانت معلنة كـ “افتراضية” ولم يتم تنفيذها مطلقاً، لذا كانت تعيد بشكل افتراضي كائناً فارغاً حيث تم تعيين كل شيء على “خطأ”، بما في ذلك علم التحقق من الضمان.

ونتيجة لذلك، قام المُهاجم باستدعاء إجراء الاقتراض أولاً، ثم استدعاء الإجراء الافتراضي الذي أعاد تعيين علم التحقق. في النهاية، لم يقم البروتوكول بالتحقق من وجود الضمان على الإطلاق.

نتيجة الهجوم

هاجم المُخترق ستة “قدور” دفعة واحدة، مسروقاً ما يقرب من 1.79 مليون MIM وقام بتحويلها إلى عملة الإيثيريوم. بعد ذلك، قام بتوجيه الأموال المسروقة عبر “تورنيدو كاش” لغسلها. ولم تكن هذه هي المرة الأولى التي يتعرض فيها كود “القدور” للإصدار الرابع لمشاكل، حيث شهد العام الحالي حوادث أخرى.

ومن المثير للاهتمام أن مشروعاً مماثلاً يسمى “سيناكس” قام بإيقاف تشغيل نفس الكود في نظامه قبل أيام من هجوم أبراكادابرا، مما يشير إلى أن الفريق الآخر لاحظ نقطة الضعف هذه واتخذ إجراءً وقائياً.

الأسئلة الشائعة

س: ما هو بروتوكول أبراكادابرا؟
ج: هو بروتوكول إقراض لامركزي يسمح للمستخدمين باقتراض عملة MIM المستقرة باستخدام العملات الرقمية الأخرى كضمان.

س: كيف تم الاختراق؟
ج: استغل المُهاجم خطأً برمجياً في وظيفة `cook()` للبروتوكول، مما سمح له بإعادة تعيين علم التحقق من الضمان والاقتراض دون تقديم أي ضمان حقيقي.

س: ما هي قيمة الخسارة وأين ذهبت الأموال؟
ج: بلغت الخسارة حوالي 1.8 مليون دولار من عملة MIM، وقام المُهاجم بتحويلها إلى عملة الإيثيريوم ثم غسلها عبر “تورنيدو كاش” لإخفاء مصدرها.

صقر العملات

محلل تقني متمرس في مجال العملات الرقمية، يقدم تحليلات دقيقة واستراتيجيات تداول مبتكرة في عالم التشفير.
زر الذهاب إلى الأعلى