Hacking Verge: كيف كانت (الجزء الثاني)

تحريفات الوقت ، ونقاط الضعف في التعدين ، وهجمات DOS ، والمزيد.

يحب عشاق العملات المشفرة إخبار الأشخاص العاديين بمصداقية وأمان بروتوكولات blockchain التي تعمل عليها عملاتهم المعدنية المفضلة. في الواقع ، توفر أكبر العملات المشفرة مثل Bitcoin أو Ethereum مستوى لائقًا من الأمان ، وربما تفعل ذلك بشكل أفضل من أي أصل رقمي آخر أو نظام دفع في التاريخ. يعد هذا إنجازًا كبيرًا ، مع الأخذ في الاعتبار أن هذه العملات المشفرة لا يدعمها أي شيء ولا يتحكم فيها أي شخص.

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

في مثل هذه الحالات ، إذا لم يبق شيء آخر ، فربما تحتاج على الأقل إلى شرح نفسك.

في الشهر الماضي ، اخترق متسلل مجهول الهوية Verge ، وهي عملة مشفرة صغيرة نسبيًا تركز على إخفاء هوية المستخدم. بين 4 أبريل و 6 أبريل ، تمكن متسلل مجهول من السيطرة على شبكة Verge ثلاث مرات لعدة ساعات ، لم يتمكن خلالها المستخدمون الآخرون من إجراء مدفوعات. ومما زاد الطين بلة ، خلال هذه الفترات ، كان المخترق يُصدر عملات معدنية مزيفة بمعدل 1 قطعة نقدية (حوالي 560 دولارًا) في الثانية. نتيجة لذلك ، قام المتسلل بسك أكثر من مليون دولار من العملات المشفرة.

يمكن تسمية هذا الوضع بالكارثة دون مبالغة. تم اختراق Verge بطريقة كبيرة.

ولكن على من يقع اللوم؟ هل كان ذلك خطأ من قبل مطوري Verge ، أو ثغرة أساسية في بروتوكول التشفير ، أو أي شيء آخر؟ هل يمكن أن يحدث هذا مع عملات رقمية أكبر ، وإذا كان الأمر كذلك ، فكيف تتجنب ذلك؟

مع هذا النوع من الاختراق ، تظل العديد من التفاصيل غير واضحة دائمًا. ومع ذلك ، في هذه الحالة ، يمكن تحديد نقاط الضعف الرئيسية:

انتحال الطابع الزمني: أخطاء غير مقصودة أم أكاذيب خطيرة؟

للوهلة الأولى ، قد تبدو هذه الثغرة وكأنها خطأ ، لكنها في الواقع وظيفة خاصة لإنشاء طوابع زمنية "غير دقيقة". في بروتوكولات blockchain ، يتم تجميع المعاملات الفردية (عادةً التحويلات بين المشاركين في الشبكة) في كتلة واحدة ، والتي يتم التحقق منها بعد ذلك. كل كتلة لها طابع زمني في تاريخ تشكيلها. حتى إذا كان بروتوكول blockchain يعمل بشكل جيد ، فقد يتعطل تسلسل هذه الطوابع - على سبيل المثال ، قد يكون للكتلة 100 طابع زمني يستمر بعد block 101. هذا يرجع إلى حقيقة أنه في الشبكات اللامركزية التي ترفض منح حقوق لأطراف ثالثة ، ليس من السهل على الإطلاق إنشاء التزامن الصحيح للوقت.

نظرًا لمقدار الوقت الذي لا يمكن التنبؤ به الذي يستغرقه نشر البيانات عبر شبكة نظير إلى نظير ، فقد تظهر الكتل "خارج النظام" حتى إذا أجرى جميع الأطراف المعاملات بحسن نية. بعبارة أخرى ، يجب السماح بقدر ضئيل من المرونة في هذا الصدد ؛ في حالة Verge (على الأقل قبل الاختراق) ، سمح البروتوكول للعقد "بالاختلاف" بشأن الوقت الحالي المشار إليه في الكتلة ، وقد يستغرق إلغاء التزامن ما يصل إلى ساعتين.

بدأ المخترق هجومه بتزوير طوابع زمنية. لقد أرسل الكتل كما لو كانت من الماضي ، ولكن دون تجاوز الساعتين المسموح بها ، مما يعني أن هذه الكتل ظلت مقبولة لبقية عقد الشبكة.

يكمن سبب تأثير ذلك في نهاية المطاف على أمان الشبكة في طبيعة التعدين لشبكات إثبات العمل.

صعوبة التعدين: الجدران لا تحمي إلا إذا كانت عالية

لإضفاء اللامركزية على شبكة Verge ، تحتاج إلى التأكد من أن الأجهزة الصغيرة (مثل MacBooks) يمكنها تشغيل برنامج الشبكة. وهذا بدوره يؤدي إلى الحد من حجم المدفوعات في الشبكة ، أي تحديد وقت مستهدف للكتلة (ونتيجة لذلك ، الحد من عدد المعاملات في الثانية). كانت شبكة Verge تعمل في كتلة واحدة كل 1 ثانية. بالنظر إلى أن الشبكة لا مركزية ، يمكن طرح سؤال معقول: ما الذي يمنع المشاركين من إرسال الكتل بسرعة أعلى بكثير؟ هذه مشكلة غير تافهة: إذا كانت كل كتلة مؤكدة تجلب مكافأة لمن قام بتكوينها ، فمن المفيد أن يقوم المُعدِّن بتأكيد أكبر عدد ممكن من الكتل.

باختصار ، الحل لهذه المشكلة هو حل بروتوكول إثبات العمل. لكي تتحقق الشبكة من صحة كتلة ، يجب أن تحتوي على حل لمشكلة حسابية معقدة من حيث التشفير والتي تأتي مباشرة من البيانات الموجودة في الكتلة نفسها. إن طبيعة هذه المشكلة تجعل من السهل تغيير تعقيدها. تهدف Verge إلى تكوين كتلة واحدة في 1 ثانية ، وتم تعديل صعوبة التعدين باستمرار بناءً على معدل تأكيد الكتلة الحالي ؛ إذا قرر المستخدمون تخصيص المزيد من الطاقة للتعدين وإنشاء كتل Verge ، وتم إنشاء هذه الكتل بشكل أسرع ، فإن البروتوكول زاد من صعوبة التعدين ، وتباطأ تأكيد الحظر. على العكس من ذلك ، مع انخفاض الطاقة وزيادة وقت إنشاء الكتلة ، تعدين أصبح أسهل. وبالتالي ، عند العمل بشكل صحيح ، عندما تتغير العوامل الخارجية حتى في العالم الحقيقي - التقلبات الاقتصادية ، في أسعار السوق للعملات المشفرة ، في أسواق الطاقة ، صعود وسقوط الإمبراطوريات ، وما إلى ذلك - استجابت شبكة Verge باستمرار للتغييرات وسعت إلى جلب تشكيل الكتل إلى وحدة زمنية للهدف.

الخوارزمية التي يستخدمها Verge لحساب الصعوبة الحالية لمشكلة تسمى Dark Gravity Wave ؛ تقوم بحساب المتوسط ​​المرجح لمعدل تأكيد الكتلة خلال فترة ساعتين. هذه خوارزمية معقدة ، والتفاصيل ليست مهمة هنا حقًا. المهم أن تعقيد التعدين يعتمد على سرعة تشكيل الكتل الأخيرة ، وحساب هذه السرعة بالطبع يرتبط بالطوابع الزمنية.

هذا هو المكان الذي تكمن فيه المشكلة: إذا قمت بإنشاء عدد كافٍ من الطوابع الزمنية الخاطئة ، فإن التوازن يكون مضطربًا. هذا هو بالضبط ما فعله المخترق - تُظهر البيانات من blockchain أنه خلال فترة الاختراق (الاختراقات) بأكملها ، تم إرسال كل كتلة ثانية بطابع زمني قبل حوالي ساعة من الوقت الحالي ، مما أربك بشكل كبير الخوارزمية لإعداد صعوبة التعدين. إذا كان البروتوكول يحتوي على معلومات استخباراتية ويمكنه التحدث ، فسيقول شيئًا مثل ، "أوه لا! شيء لم يتم تشكيل كتل كافية في الآونة الأخيرة! ربما ، تعقيد التعدين مرتفع للغاية - نحتاج إلى تقليله! "

مع استمرار العبث بالطوابع الزمنية ، استمر البروتوكول في تقليل صعوبة المهام حتى أصبح التعدين بسيطًا للغاية. لفهم عام: متوسط ​​صعوبة المهمة بالساعات كان 1393093,39131 ساعة ، وخلال الهجوم انخفض إلى 0,00024414 ، أي انخفضت صعوبة التعدين بنسبة 99.999999٪. كلما قل تعقيد المهمة ، يمكن تكوين المزيد من الكتل وإرسالها إلى blockchain ؛ نتيجة للهجوم ، تم إرسال كتلة واحدة في ثانية واحدة فقط.

تكمن أصالة الهجوم في حقيقة أن المخترق تجاوز الحد الأقصى لصعوبة التعدين ، ولم يخترقه. تخيل أن نظام الأمان عبارة عن جدار يحيط بالشبكة ، وهذا الجدار مرتفع وقوي للغاية ، ولا يمكن كسره أو تسلقه. وجد المخترق طريقة لخفضه - وببساطة تجاوزه.

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

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

ومع ذلك ، فقد استولى هذا المخترق حقًا على الشبكة بالكامل وتمكن من القيام بذلك بموارد أقل بكثير من 51٪ من إجمالي معدل التجزئة. لقد أنجز ذلك من خلال استغلال المكون الثاني للثغرة الأمنية ، والذي يتضمن خوارزميات التعدين المتعددة الخاصة بشركة Verge.

يتبع ...

ените статью
وسائط Blockchain
إضافة تعليق