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

لا نرد؟ محفظة البيتكوين الخاصة بك ليست آمنة كما ظننت على الأرجح

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

الكشف الجديد عن خلل في توليد الأرقام العشوائية في محفظة كولدكارد يوضح هذا التناقض بوضوح. فالمحفظة التي تعمل بإصدار برمجي متأثر بالخلل يمكنها إنتاج عبارة استرداد مكونة من 12 أو 24 كلمة بشكل طبيعي المظهر، وتخزينها دون اتصال، وتوقيع المعاملات في عزلة تامة. لكن التوليد المتوقع قلّص نطاق الاحتمالات خلف هذه الكلمات، مما سمح للمهاجم بإعادة إنتاج العبارات المحتملة في مكان آخر وتحديد عناوين بيتكوين المطابقة لها.

أرى أن أهم قرار أمني في المحفظة يحدث في البداية، قبل رمز PIN وقبل النسخة الفولاذية الاحتياطية وقبل الكيس المضاد للعبث وقبل عملية التوقيع المعزولة عن الإنترنت، وهو: ما مدى عدم قابلية توقع توليد السييد؟

مولّد الأرقام العشوائية الحديث والسليم يمكنه توفير إنتروبيا كافية. والنرد الفيزيائي يمنح المالك مصدر عشوائية يمكن رؤيته والتحكم فيه وإبقاؤه منفصلًا عن كود الشركة المصنعة.

السييد كان ضعيفًا قبل أن تعزل المحفظة عن الإنترنت

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

كان السبب التقني صغيرًا بشكل مؤلم تقريبًا. تغيير في الكود بتاريخ 1 مارس 2021 نقل عملية توليد السييد في كولدكارد إلى مكتبة جديدة. الإصدار البرمجي الإنتاجي عرّف إعدادًا باسم MICROPY_HW_ENABLE_RNG على أنه صفر، أي معطل، بينما كان التحقق البرمجي يتحقق فقط من وجود الإعداد. وجوده أرسل عملية التوليد إلى خوارزمية ياسمارانغ الحتمية في مايكروبايثون بدلًا من مولّد الأرقام العشوائية الخاص بالعتاد. المسار المتأثر ظهر في الإصدار 4.0.0 بتاريخ 17 مارس وفقًا لتحليل شركة بلوك المنسق.

المخرجات الطبيعية المظهر للمحفظة أخفت مساحة بحث منخفضة بشكل كبير. تقدير كوينكايت المبدئي يضع سييدات Mk2 وMk3 المتأثرة عند حوالي 40 بت من مساحة البحث الفعلية، والسييدات المتأثرة من Mk4 وMk5 وQ عند حوالي 72 بت. حددت بلوك قيدًا منفصلًا للأجهزة اللاحقة: على الأكثر 2^32 تدفقًا يمكن تمييزه بشكل آمن عندما تكون حالة التراجع وسجل الاستدعاءات ثابتة. أرقام كوينكايت تقدّر المساحة الفعلية التي قد يبحث فيها المهاجم. حدود بلوك الأضيق تصف جزءًا واحدًا من إعادة البذر في ظروف ثابتة، دون ادعاء كونها معيارًا لهجوم شامل.

كلا التحليلين يضعان الأجهزة اللاحقة قبل الإصلاح ضمن النطاق المتأثر. قائمة كوينكايت الأمنية تذكر إصدارات Mk4 وMk5 قبل الإصدار القياسي 5.6.0 أو إيدج 6.6.0X، وإصدارات Q قبل القياسي 1.5.0Q أو إيدج 6.6.0QX. بالنسبة لـ Mk2 وMk3، تذكر كوينكايت الإصدارات من 4.0.1 إلى 4.1.9، بينما تقول بلوك إن المسار بدأ في 4.0.0. أنصح بالتعامل مع هذه الحدود المتنازع عليها بحذر.

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

حجم الحادثة يحتاج لغة دقيقة

حجم الحادثة يحتاج لغة دقيقة بنفس القدر. ذكر موقع بيتكوين أوبتيك تقديرًا متطورًا يتجاوز 1,000 بيتكوين بتاريخ 31 يوليو. وحتى 2 أغسطس، قدّرت أبحاث جالاكسي مبلغًا مشتبهًا به يبلغ 1,367.05 بيتكوين عبر 4,585 عنوانًا. كما قال مستخدم على منصة إكس ينشر باسم Graham_Quantum إن 18.25245043 بيتكوين غادرت محافظ في 29 يوليو. هذا المنشور يثبت الرواية الشخصية الأولى؛ بينما يبقى ربط المعاملات وعلاقتها بكولدكارد غير مؤكد.

رقم أكبر بكثير يصف حركة دفاعية. تقرير كريبتوسليت الثاني حول كولدكارد وجد أن 77,402 بيتكوين انتقلت من نطاقات UTXO قديمة بعد الكشف. الإجمالي يغطي حركة العملات القديمة الإجمالية التي شملت هجرة احترازية. إنه يقيس موجة إنقاذ ذاتي، بينما رقم جالاكسي الأصغر هو تقدير متطور للخسائر المشتبه بها.

فشل أمني واحد يمكن أن يخلق صدمتين في نفس الوقت: سرقة وموجة أكبر بكثير من الهجرة العقلانية. بيانات السلسلة تسجل الحركة. الدافع يحتاج إلى سياق لفهمه.

ماذا تغيّر النرد الخاص

توثيق كولدكارد للنرد يحسب حوالي 2.585 بت من الإنتروبيا لكل رمية مستقلة لنرد عادل سداسي الأوجه. خمسون رمية توفر حوالي 129.25 بت من الإنتروبيا الخام، وهي تستهدف تقليديًا أمان 128 بت. تسعة وتسعون رمية توفر حوالي 255.91 بت، وهي تقريبًا هدف أمان 256 بت، قبل أن تطبق المحفظة إجراء التحويل الموثق لديها.

هذه الأرقام تتماشى مع معيار BIP-39، وهو المعيار الأوسع استخدامًا لعبارات الاسترداد. العبارة المكونة من 12 كلمة تشفر 128 بت من الإنتروبيا بالإضافة إلى 4 بتات للتحقق. العبارة المكونة من 24 كلمة تشفر 256 بت بالإضافة إلى 8 بتات للتحقق.

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

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

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

بالنسبة لي، النرد مهم لأن العشوائية المولدة من الجهاز تطلب من المالك أن يثق بالعتاد والبرمجيات وعملية البناء وكود التكامل كسلسلة واحدة. تدفق إدخال النرد الموثق يضيف عشوائية يتحكم بها المالك من خارج هذه السلسلة. حوالي 50 رمية عادلة تستهدف 128 بت و99 تستهدف حوالي 256 بت، لكن يجب على المستخدمين اتباع الإجراء الدقيق للجهاز بدلًا من ارتجال التحويل.

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

عبارة المرور تخلق مقايضة حقيقية. يمكنها توفير حاجز ثانٍ قوي عندما يتمكن المالك من إعادة إنتاجها وحمايتها. النسخ الاحتياطي الضعيف يحول نفس الميزة إلى وسيلة لحبس النفس خارج المحفظة.

العشوائية الضعيفة تعود مرارًا

كولدكارد هي التحذير الحالي، ونفس الفشل الجذري ظهر في محافظ مختلفة جدًا.

في عام 2023، كشفت ليدجر دونجون أن بعض إصدارات إضافة المتصفح لمحفظة ترست واليت استخدمت مسار WebAssembly مبذورًا بقيمة 32 بت من خوارزمية ميرسين توويستر. العبارات الطبيعية المظهر جاءت من حوالي أربعة مليارات قيمة بداية محتملة. النطاق المتأثر كان محددًا: إصدارات إضافة المتصفح من 0.0.172 إلى 0.0.182 التي تستخدم ترست واليت كور قبل 3.1.1. قاعدة بيانات الثغرات الوطنية توثق استغلالًا في ديسمبر 2022 ومارس 2023.

كشف ميلك ساد أظهر نسخة أكثر بديهية من نفس الخطر في مكتبة ليببيتكوين إكسبلورر 3.x. أمر bx seed فيها استخدم خوارزمية ميرسين توويستر مبذورة بالوقت بقيمة 32 بت وكان يمكنه إنتاج نفس العبارة في ظل نفس ظروف الساعة. معرفة وقت الإنشاء التقريبي أعطت المهاجم نطاق بحث أصغر بكثير مما توحي به كلمات الاسترداد.

وجد الباحثون أكثر من 2,600 محفظة بيتكوين نشطة في النطاقات المتأثرة وقدّروا سرقات مرتبطة بأكثر من 900,000 دولار عبر سلاسل متعددة بأسعار أغسطس 2023. أكثر من 2,550 من هذه المحافظ شاركت نمطًا آليًا وقد تكون مملوكة لشخص واحد، وقال الباحثون إن بعض عمليات السحب قد تكون شملت نقاط ضعف أخرى.

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

نصائح حفظ البيتكوين غالبًا تبدأ بعد وجود السييد: أبقِه دون اتصال، استخدم نسخًا احتياطية متينة، افصل المسؤوليات، واختبر الاسترداد. كل ذلك لا يزال مهمًا. خلل كولدكارد يحرك خط البداية خطوة إلى الخلف.

العزل عن الإنترنت يحمي السر الذي تعطيه له. العشوائية يجب أن تأتي أولًا.

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

ما هو خلل التوليد العشوائي في كولدكارد الذي تم اكتشافه؟

الخلل جعل بعض إصدارات برمجيات كولدكارد تولد عبارات استرداد باستخدام خوارزمية حتمية ضعيفة بدلًا من مولّد الأرقام العشوائي الخاص بالعتاد، مما قلص عدد العبارات المحتملة وجعلها قابلة للتخمين من قبل المهاجمين.

هل تحديث المحفظة يحمي سييدًا موجودًا بالفعل؟

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

كيف يمكن للنرد الفيزيائي تحسين أمان المحفظة؟

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

مبدعة العملات

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