أعلم أن الجميع يتحدثون عن هجوم ByBit، وربما تكون هذه المقالة هي المائة التي تقرأها حول هذا الموضوع، ولكنني لا أزال أعتقد أنه من المفيد مشاركة بعض الأفكار حوله.
ماذا حدث؟
باختصار، تمكنت مجموعة Lazarus الكورية الشمالية من سرقة 1.5 مليار دولار من محفظة ByBit الباردة. كانت المحفظة الباردة عبارة عن محفظة متعددة التوقيعات آمنة ، وتم توقيع المعاملة من قبل جميع الأطراف المصرح لها، حيث بدت من واجهة المستخدم أنها معاملة صالحة تمامًا.
تبين لاحقًا أن واجهة المستخدم الآمنة قد تعرضت للاختراق. فقد حصل المهاجمون على بيانات اعتماد AWS S3 من جهاز أحد المطورين، مما سمح لهم بتعديل واجهة المستخدم.
هذه هي القصة باختصار. لا أعتقد أن توجيه أصابع الاتهام أو إلقاء اللوم على أحد أمر مفيد بشكل خاص. بل من المنطقي أن نركز على النقاط الرئيسية التي يمكن استخلاصها وكيف يمكن لهذه التكنولوجيا أن تكون أكثر أمانًا.
أدرك أن الرؤية المتأخرة دائمًا تكون واضحة، ولا أزعم أنني كنت لأقدم أداءً أفضل. يقوم فريق Safe بعمل ممتاز، وكل ما سأناقشه هنا يتعلق بمكونات خارج Safe نفسها (محفظة متعددة التوقيعات تعتمد على العقود الذكية).
لقد غردت بأفكاري بعد الحادثة، وفي هذه المقالة أود أن أتناولها بمزيد من التفصيل.
الوحدات والحراس
من أفضل ميزات المحفظة الآمنة أنه يمكن توسيع قدراتها باستخدام وحدات وحراس . تضيف الوحدات وظائف جديدة إلى المحفظة، بينما يقوم الحراس بإجراء عمليات فحص قبل تنفيذ المعاملة. تجعل هذه الميزات المحفظة قابلة للتخصيص بدرجة كبيرة وتعزز أمانها بشكل كبير.
على سبيل المثال، من الممكن تقييد المحفظة للسماح فقط بمعاملات ERC-20 (في هذه الحالة، تم تنفيذ المعاملة الضارة عبر delegatecall
). من السهل أيضًا تنفيذ قاعدة تتطلب توقيعات إضافية للمعاملات التي تتجاوز حدًا معينًا - على غرار الطريقة التي تسمح بها البنوك للمستخدمين بتحديد حدود للمعاملات ذات القيمة العالية.
حتى الاستخدام الصحيح لهذه الميزة الواحدة قد يمنع العديد من الهجمات أو على الأقل يقلل الخسائر المحتملة.
واجهة مستخدم غير قابلة للتغيير
لا يتسم أي نظام إلا بقوة أضعف مكوناته. وفي هذه الحالة، لم يكن أضعف رابط هو المطور الذي سُرقت بيانات اعتماد S3 الخاصة به، بل كان هناك شيء أعمق بكثير. وبغض النظر عن مدى أمان تقنية Web3 (سلسلة الكتل والعقود الذكية)، فإذا كانت واجهة المستخدم المستندة إلى Web2 ضعيفة، فإن النظام بأكمله يظل معرضًا للخطر.
الحل الواضح هو استخدام واجهة مستخدم Web3 غير قابلة للتغيير. يمكن لتقنيات مثل IPFS أو Ethereum Swarm أو حلول تخزين Web3 الأخرى توفير ذلك. أبسط تنفيذ هو تخزين تجزئة محتوى واجهة المستخدم كمتغير ثابت في العقد الذكي، مما يضمن أن أي تغيير في واجهة المستخدم يتطلب تعديل العقد الذكي نفسه.
يربط هذا النهج واجهة المستخدم بالعقد الذكي بشكل كامل، مما يجعل من المستحيل تغيير الواجهة دون اختراق العقد نفسه أولاً. ومن خلال هذا الحل البسيط، يمكن منع الهجمات القائمة على واجهة المستخدم بشكل فعال.
جهاز منفصل
حتى لو كان العقد الذكي آمنًا وكانت واجهة المستخدم غير قابلة للتغيير، فإن النظام يظل عرضة للخطر إذا كان من الممكن اختراق أجهزة الموقعين. إذا تمكن المهاجم من الوصول إلى جهاز الموقع، فما زال بإمكانه استبدال واجهة المستخدم على جانب العميل.
ولهذا السبب، ينبغي لأي شخص يحتفظ بمبالغ كبيرة في محفظة باردة أن يستخدم جهازًا مخصصًا ــ على سبيل المثال، جهاز iPad ــ حصريًا لتوقيع المعاملات. وينبغي لهذا الجهاز أن يخدم هذا الغرض فقط: لا ينبغي تثبيت أي تطبيقات أخرى، ولا ينبغي له أن يستخدم البريد الإلكتروني أو تصفح الويب، بل ينبغي له فقط توفير البيئة الضرورية لتوقيع المعاملات.
إذا كان شخص ما يدير مليارات الدولارات، فإن إنفاق بضع مئات من الدولارات على جهاز توقيع مخصص لا يعد نفقات كبيرة.
تدقيق المعاملات الخارجية Oracle
يمكن إضافة مدقق خارجي إلى المحفظة كموقع إضافي أو وحدة أو حارس لمراجعة المعاملات وحظرها إذا بدت مشبوهة. يمكن اكتشاف مثل هذه المعاملات المشبوهة باستخدام أنماط بسيطة نسبيًا - على سبيل المثال، نقل مبلغ كبير بشكل غير عادي من الأموال أو تنفيذ مكالمة تفويض.
في حالة وجود معاملة مشبوهة، يمكن لنظام التدقيق الخارجي إخطار الموقعين، وحثهم على مراجعة المعاملة يدويًا. وإذا اعتبروا أنها لا تزال شرعية، فيمكنهم إعادة التوقيع عليها كتأكيد، مما يضيف طبقة إضافية من الأمان.
خاتمة
لا يوجد شيء اسمه نظام غير قابل للكسر، ولكن الحلول البسيطة الموضحة أعلاه يمكن أن تجعل الهجوم أكثر صعوبة بشكل كبير. إذا كان شخص ما يدير مليارات الدولارات، فمن الجدير استثمار بعض الوقت والجهد في تنفيذ تدابير الأمن البسيطة هذه.
لا أستطيع التأكيد بما فيه الكفاية على أن كل هذه الحلول تعتمد على الهندسة المعمارية الرائعة لـ Safe، وميزات مثل الوحدات النمطية والحراس.
كما يقول المثل، ما لا يقتلك يجعلك أقوى. واليوم، أصبحت سيف أقوى من أي وقت مضى!