استطراد موجز إلى عالم الكودات المفتوحة والعقود الذكية و... القابلية للاقتحام.
هل يمكن اختراق البيتكوين؟ يمكن اختراق أية برمجة ولكن لا يوجد شيء سيء في هذا، فالاختراقات لا تزيد أمن العملات المشفرة إلا قوة، والضربات التي لا تقصم ظهرنا تقوينا، أليس كذلك؟
أمن البيتكوين: شاب من الفقاعة وجرذ المجاري
يوجد في YouTube خطاب لأندرياس أنتونوبولوس تحت عنوان "أمن البيتكوين: شاب من الفقاعة وجرذ المجاري" (Bitcoin Security: Bubble Boy and the Sewer Rat). وقد عرض في كلمته الملقاة النظم المركزية بمثابة "الفقاعات" حيث يوفر الأمن على حساب الانعزال عن القوى الخارجية. لا يسمح الانعزال للنظام تطوير آليات الحماية ولكن عاجلاً أم آجلاً تنفجر الفقاعة ما يحرم النظام من الحماية.
أما البلوكشينات المفتوحة هي حسبما قال مماثلة لجرذان المجاري التي تقطن في البراري و محاطة بالأعداء، ولهذا السبب نظامها المناعي يتطور قسرياً. نعم الاختراقات تحدث ولكن هذا يساعد على إيجاد الحلول التي تحمي من الهجمات الآتية.
قال أنتونوبولوس في ختام كلمته:
"يمكن لأي تشفير أن يتعرض للاختراق وفي يوم من الأيام سيحدث هذا مع أي منها. ولا يستثنى البيتكوين من ذلك. هذا ليس إلا مسألة الزمن. نحن نترقب الاختراق ونحن نعلم أنه يمكن إيجاد في أي نظام نقطة ضعف، ومن المهم لنا أن تكون نقاط الضعف هذه محلية حتى نلحق كشفها وتصحيحها لكي لا يتطور ذلك إلى مشكلة منتظمة. وهذا يحتاج إلى بيئة مفتوحة التي تساهم في التعاون، وعندئذ ستظهر البيانات حول هذه المشكلات المحتملة باكراً بما فيه الكفاية".
الكود المفتوح
كما هو لدى الكثير من مشاريع العملات المشفرة كود البيتكوين مفتوح أي يمكن لأي شخص أن يقرأه. إذا كنت مهتماً ما إذا كان من الممكن اختراق البيتكوين قم بتحميل الكود يكل بساطة وانظر! كلما كثر الناس القارئين والمحللين للكود كلما انكشفت أية مشكلات وصححت بطريقة أسرع.
في جوهرة الأمر الخطأ ونقطة الضعف في البرنامج هما شيء واحد، ولكن في الحالة الأولى يضغط المستخدم عشوائياً على المفاتيح على اللوح ما يؤدي إلى خلل التطبيق، وفي حالة أخرى يتعمد القرصان الضغط على نفس الأزرار كي يكون له الوصول إلى حيث لا يجب. يعثر المستخدم على الخطأ بالصدفة أما القرصان فيستخدمه للهجوم على المنظومة. نعم البيتكوين هو برمجة وفي كل برمجة توجد أخطاء، ويستغل القراصنة ذلك.
الكشف عن نقطة الضعف
في شهر أبريل حصل أن أحد المتعاملين مع كود البيتكوين في مشروع Digital Currency Initiative في MIT Media Lab كشف عن نقطة ضعف في Bitcoin Cash. هنا يجدر الإشارة إلى أن مجتمع البيتكوين ومجتمع Bitcoin Cash الذي انفصل عنه لا يطيقون بعضهم البعض.
كانت نقطة الضعف المعثور عليها جادة جداً وكان يمكنها أن تؤدي إلى موت Bitcoin Cash، لكن المبرمج تصرف بشكل لائق وأخبر المصممين عن المشكلة. في النتيجة لم يلحق أحد استغلال الخطأ من أجل الاختراق فقد تم تصحيحه وفي 7 مايو من عام 2018 تم نشر التحديث المناسب (لم تصبح هذه القصة معروفة إلا منذ حوالي أسبوعين).
العقود الذكية (الذكية وغير الذكية منها)
إذا تكلمنا عن الأمن فإن تحقيق العقد الذكي مسألة صعبة جداً. العقود الذكية هي أجزاء من الكود المنفذ للتحكم بالمعاملات وهي مسجلة في البلوكشين أي أنها خالدة. وبما أنها خالدة فأية أخطاء أو نقاط ضعف المرتكبة في مثل هذا العقد كتب لها الخلود أيضاً.
وهكذا فإن كود العقد الذكي المكتوب أو المحقق بصورة سيئة يجوز أن يؤدي إلى خسائر مالية كبيرة.
يحب القراصنة الكود المعقد لأن الأغلاط فيه أكثر، والعكس صحيح: الأمن هو البساطة. صمم مجتمع البيتكوين لغة Bitcoin Script وتعمد تبسيطه ووضع الحد له بغية الأمن.
ويسعى المشروع البديل Ethereum نحو توفير منصة لبرمجة التطبيقات اللامركزية، لذا لغة Solidity التي تستخدم فيها كاملة أي قادرة على تحقيق كل تعقيدات الحسابات الكمبيوترية.
هل يجوز اختراق Ethereum ؟ نعم، مثله مثل البيتكوين؟
في 27 يوليو عام 2018 تم اختراق ICO لمشروع KICKICO في منصة Ethereum ما أدى إلى فقدان 7,7 مليون دولار، قد حصل القراصنة على المفتاح السري للمشروع واخترقوا العقد الذكي. في سبيل العدالة يجب الإشارة إلى أن المشكلة هنا لم تكن قابلية العقد الذكي للاقتحام بل في الحماية الخاطئة للمفتاح.
ولنحدث قليلاً عن المحافظ
تقوم المحفظة بحماية المفاتيح الشخصية وهي بالذات مسؤولة عن حصانتها. إذا كنت تستخدم محفظة على الإنترنت إذن تقع بياناتك الشخصية في مخدم تابع للغير مع كل نقاط ضعفه. ومن جهة أخرى إذا كنت تحتفظ بمحفظتك في القرص الصلب لجهازك الكمبيوتر عندك يمكنك فقدان المال في حال تعطل القرص. ومن الأكثر أمناً محافظ الأجهزة خارج الخط.
المحافظ على الإنترنت شر
خزن العملة المشفرة في المحفظة على الإنترنت هو عملياً دعوة إلى الاختراق.
غالباً ما يحدث هذا على الشكل التالي: في البداية يعرف القرصان عنوان البريد الإلكتروني وهاتف الضحية – وهذه المعلومات بالعادة متاحة للجميع – ومن ثم يطلب إعادة تعيين كلمة المرور للحساب ويستغل نقطة الضعف في محضر المهاتفة. وهكذا يقبض القرصان على توكن المصادقة. والآن أصبح بحوزته الوصول إلى كودات الدخول ثنائي العوامل التي ترسل إلى هاتف الضحية، فيدخلون بمساعدتها إلى خدمة المحفظة وبعدئذ يفعلون بالعملة المشفرة كل ما يشاؤون.
نقطة الضعف لدى Monero
ما يثير الضحك أن نقطة الضعف تصبح في بعض الأحيان معادية للقراصنة أنفسهم.
فقد اكتشف باحثون من عدة جامعات في العالم مشكلة مع السرية في Monero. إذ كما هو معروف تستهدف هذه العملة المشفرة توفير غفلية تصرفات المستخدمين، وكانت نقطة ضعفها تسمح بالحصول على البيانات حول المعاملة وتحديد من يقوم بها.
وبما أن البيانات في البلوكشين تخزن إلى الأبد تسمح هذه الغلطة النظر إلى الماضي مهما كان عميقاً. تصور لو سرقوا مالك باستغلال نقطة الضعف وكان القرصان يحسب حساب أن يبقى مجهولاً، ولكن بسبب الغلطة في البرنامج أصبح تعقبه جائزاً: يا للسخرية!
وفي آخر الأمر هل يمكن اختراق البيتكوين؟
تختلف الأخطاء فتوجد بينها الجادة وغير الجادة ، ولكن في الغالب من أجل الاختراق ليست هناك حاجة لفعل أي شيء مع البرنامج.
في شهر ديسمبر من عام 2017 أوقف المشروع NiceHash عمله بسبب الاختراق الذي تمت في سيره سرقة 64 مليون دولار. أكدوا في الشركة أن الهجوم كان "بدرجة عالية من الكفاءة" وكان يعتمد على "الهندسة الاجتماعية المعقدة".
لكن الهندسة الاجتماعية هي ليست إلا الاحتيال، بذاته. كان القراصنة يجعلون الناس يسلمونهم كلمات المرور بطريقة الخداع ويقدمون لهم الوصول إلى حساب هذا أو ذاك أو يبلغونهم أية معلومة سرية أخرى.
هل يمكن اختراق البيتكوين؟ بالطبع، وقد حدث هذا أكثر من مرة، ولكن تتم دراسة كل من هذه الاختراقات ما يؤدي إلى تعزيز حماية المنظومة.