كولدكارد يتطلب 65 ضغطة مفتاح بعد ثغرة البذرة، والأموال المكشوفة لا تزال بحاجة إلى نقل

أصدرت شركة Coinkite، الشركة المصنّعة لمحفظة الأجهزة “كولدكارد” (Coldcard) الخاصة بالبيتكوين، تحديثًا رسميًا جديدًا للبرنامج الثابت في 20 أغسطس. هذا التحديث يُلزم المستخدمين بإضافة عنصر عشوائية فيزيائي (مادي) في كل مرة يقومون فيها بإنشاء رمز استرداد (Seed) جديد.
المستخدمون الذين يقومون بإنشاء رمز استرداد بعد تثبيت هذا الإصدار المحدث، يمكنهم الاستفادة من عملية الإنشاء المحسّنة والآمنة. أما المستخدمون الذين ما زالوا يعتمدون على رمز استرداد تم إنشاؤه بواسطة برنامج ثابت قديم ومتأثر بهذه الثغرة، فيجب عليهم إنشاء رمز جديد وتحويل أموالهم إليه، إلا إذا كانت محفظتهم تستوفي شروط استثناء محددة تتعلق برمي النرد.
أثناء عملية إنشاء رمز الاسترداد القياسي الجديد، يتم دمج العشوائية الداخلية للجهاز مع عنصر إدخال بشري إلزامي واحد، وتتضمن الخيارات المتاحة:
- الضغط على لوحة المفاتيح 65 مرة على الأقل بفترات زمنية غير منتظمة.
- رمي نرد فيزيائي (حجر نرد ذو ستة أوجه) 50 مرة.
- أو رمي عملة معدنية 128 مرة في الهواء.
هذا الشرط الجديد يقلل بشكل كبير من الاعتماد على مولّد الأرقام العشوائية في الجهاز وحده، مما يزيد من أمان المحفظة ضد أي هجمات محتملة.
أي الإصدارات تتأثر بهذه الثغرة؟
توصي Coinkite حاليًا بالترقية إلى إصدار 5.6.1 لأجهزة Mk4 وMk5، وإصدار 1.5.1Q لأجهزة Q. قائمة الأجهزة المتأثرة تشمل:
- أجهزة Mk2 وMk3 ذات البرامج الثابتة من 4.0.1 إلى 4.1.9.
- أجهزة Mk4 وMk5 ذات البرامج الثابتة القياسية قبل 5.6.0، وبرامج Edge قبل 6.6.0X.
- أجهزة Q ذات البرامج الثابتة القياسية قبل 1.5.0Q، وبرامج Edge قبل 6.6.0QX.
من المهم ملاحظة أن التحليل الفني المستقل الذي أجرته شركة Block يستخدم نطاقًا أوسع قليلاً ليشمل إصدار 4.0.0 أيضًا، لذا يجب على مالكي هذا الإصدار عدم اعتبار أنفسهم في أمان كامل.
ماذا يجب أن يفعل المستخدمون المتأثرون؟
تثبيت البرنامج الثابت الجديد لا يغيّر رمز الاسترداد القديم. إذا كنت متأثرًا بهذه الثغرة (ولا ينطبق عليك استثناء رمي النرد)، فيجب عليك اتباع خطوات الترحيل التالية:
- إنشاء رمز استرداد جديد تمامًا.
- التحقق من نسخة الرمز الاحتياطية وبصمة المحفظة.
- تأكيد عنوان استلام على الجهاز.
- إرسال معاملة اختبارية صغيرة.
- ثم تحويل جميع الأرصدة المرتبطة بالرمز القديم إلى الرمز الجديد.
لاحظ أن مجرد استنساخ المحفظة أو استعادتها لا يُنشئ رمز استرداد جديدًا ولا يحل المشكلة.
استثناء رمي النرد (Dice Exception)
هناك حالة واحدة لا تتطلب الترحيل: إذا قمت بإضافة ما لا يقل عن 50 رمية نرد فيزيائية عادلة ومستقلة وسرية، من خلال العملية المتأثرة، ولم تقم أبدًا بتسجيل أو كشف تسلسل هذه الرميات. أما إذا قمت برميات أقل، أو لم تكن متأكدًا من استيفاء هذه الشروط، فيجب عليك الترحيل فورًا.
تحليل جذور المشكلة والحلول الإضافية
يُرجِع المحللون السبب الجذري لهذه الثغرة إلى مشكلة في الكود البرمجي، حيث كان يمكن توجيه الطلبات إلى نظام احتياطي (MicroPython) مما أدى إلى توليد عشوائية ضعيفة. الحل الجديد يجعل الإدخال البشري الفيزيائي إلزاميًا لإضافة عشوائية من خارج الجهاز، مما يقلل الضرر حتى لو فشل مولّد الأرقام العشوائية بالجهاز مرة أخرى في المستقبل.
يميز Coldcard بين هذه العملية المختلطة الجديدة وخيار “رمي النرد فقط” (Dice Rolls Only) المتقدم، والذي يستبعد تمامًا عشوائية الجهاز ويتطلب 50 رمية لنظام 12 كلمة أو 99 رمية لنظام 24 كلمة.
تحسينات أمنية إضافية
لا يقتصر التحديث الجديد على إصلاح مشكلة إنشاء الرمز فقط، بل يشمل أيضًا تحسينات على عملية التوقيع ونقل البيانات:
- ربط مراجعة USB مع مجموع اختباري (checksum) للمعاملة.
- إعادة فحص بيانات المعاملة قبل التوقيع.
- حظر أوضاع SIGHASH_SINGLE افتراضيًا.
- تقييد تنزيلات USB على نتائج الجلسة المشفرة الحالية فقط.
- التحقق من طول ملف البرنامج الثابت.
- إضافة إيقافات دائمة عند فشل مولّد الأرقام العشوائية.
- فحص ارتباط عشوائية الجهاز عند الإقلاع.
توضح الشركة أن هذه الإجراءات لا تُعتبر تدقيقًا كاملاً لكل ملف ثابت، لكنها خطوة مهمة نحو تعزيز الأمان. كما أكدت Coinkite أن بعض العملاء تعرضوا لخسائر كبيرة، وأن السلطات تباشر التحقيق في الأمر، لكنها لم تنشر حتى الآن عدد الضحايا أو إجمالي الخسائر المؤكدة.
الأسئلة الشائعة (FAQ)
س1: هل أحتاج إلى إنشاء رمز جديد إذا كنت أستخدم المحفظة بشكل عادي؟
ج: إذا كنت قمت بتحديث البرنامج الثابت إلى الإصدار الجديد، فسيتم تطبيق الحماية تلقائيًا عند إنشاء أي رمز جديد. أما إذا كنت تستخدم رمزًا قديمًا وتم إنشاؤه قبل هذا التحديث، فأنت مطالب بإنشاء رمز جديد وتحويل الأموال إليه، إلا إذا كنت قد أضفت 50 رمية نرد سرية على الأقل أثناء إنشائه.
س2: هل يمكنني استخدام المحفظة بعد التحديث دون إنشاء رمز جديد؟
ج: يمكنك استخدام المحفظة، ولكن المخاطرة الأمنية قائمة إذا كان رمزك الحالي تم إنشاؤه ببرنامج متأثر بالثغرة. الأفضل والأكثر أمانًا هو الترحيل إلى رمز جديد تمامًا.
س3: ما هي أفضل طريقة لزيادة عشوائية رمز الاسترداد؟
ج: الطريقة المثلى هي استخدام رمي النرد الفيزيائي (حجر نرد حقيقي) أو رمي العملات المعدنية، لأن هذه الطرق توفر عشوائية حقيقية يصعب التنبؤ بها، خاصة عند تنفيذها بسرية تامة وعدم تسجيل النتائج.












