استغل مهاجم بذورًا ضعيفة تم إنشاؤها بواسطة محفظات Coldcard المادية لسرقة بيتكوين بقيمة عشرات الملايين من مئات العناوين في 30 يوليو.
النقاط الرئيسية
- سرقات مرتبطة بـ Coldcard سحبت بيتكوين من مئات المحافظ في 30 يوليو.
- يقول Coinkite إن بذور Mk3 كانت تحتوي على حوالي 40 بت من الإنتروبيا بدلاً من 128.
- يجب على مستخدمي Coldcard تثبيت برنامج ثابت مُصلح وإنشاء أسرار جديدة قبل نقل الأموال.
وفقًا لتحليل متعمق من Galaxy Research, تطور السرقة الأساسية في دفعة منسقة بدقة استمرت حوالي 25 دقيقة، بينما ربط التحليل الأوسع لاحقًا حوالي 1,196 عنوانًا وحوالي 1,083 بيتكوين، بقيمة تقارب 70 مليون دولار، بأنشطة امتدت لما يقرب من 41 دقيقة. يمكن أن تتغير الأرقام النهائية مع استمرار المحققين في تتبع المعاملات على سلسلة الكتل العامة للبيتكوين.
خطأ عمره 5 سنوات يصل إلى محافظ البيتكوين حول العالم
كانت المحافظ المتأثرة تعود إلى حد كبير إلى حائزين على المدى الطويل الذين أنشأوا بذور الاسترداد باستخدام أجهزة Coldcard التي تعمل ببرمجيات ضعيفة الصادرة من مارس 2021 فما بعد. Coldcard هو محفظة أجهزة معزولة عن الشبكة، مصنوعة من قبل الشركة الكندية Coinkite ومصممة للحفاظ على مفاتيح البيتكوين (BTC) معزولة عن الأجهزة المتصلة بالإنترنت.
كانت العديد من العناوين المفرغة قد ظلت خاملة لسنوات. تحرك المهاجم بسرعة، ودفع رسوم معاملات ثابتة مرتفعة، ولم يترك أي مخرجات تغيير، مما يعني أن كل عنوان تم تفريغه بالكامل. هذا النمط يشير إلى عملية آلية تستخدم قائمة جاهزة من المفاتيح الخاصة بدلاً من عملاء ينقلون أموالهم بشكل مستقل.
لم يحدث السرقة بسبب التصيد الاحتيالي، أو البرمجيات الخبيثة على جهاز المستخدم، أو سرقة الجهاز المادي، أو اختراق عن بعد تقليدي. بل نتجت عن خطأ في البرنامج الثابت أضعف العشوائية المستخدمة عند إنشاء بعض أجهزة Coldcard لبذور المحافظ. كانت هذه البذور تبدو طبيعية، لكنها جاءت من نطاق أصغر بكثير من التوليفات الممكنة مما تم وعده المستخدمين به.
فشل مولد الأرقام العشوائية في Coldcard بهدوء
مفتاح احتياطي لمحفظة بيتكوين هو سر، يُعرض عادةً كـ 12 أو 24 كلمة، والذي تولد منه المحفظة عناوينها ومفاتيحها الخاصة. يحتوي المفتاح الاحتياطي المكون من 12 كلمة والذي تم إنشاؤه بشكل صحيح على 128 بت من العشوائية، وهي مقياس تقني يصف عددًا هائلاً من التوافيق الممكنة مما يجعل تخمين المفتاح الاحتياطي مستحيلاً فعليًا.
كان من المفترض أن تحصل أجهزة Coldcard على عشوائية ذلك من مولد أرقام عشوائية مادي داخل وحدة التحكم الدقيقة للجهاز. يعتمد المكون على الضجيج الكهربائي الفيزيائي الذي لا ينبغي لمراقب خارجي أن يكون قادرًا على التنبؤ به.
خلال هجرة مكتبة برمجية في عام 2021، كشفت Coinkite أن دالتين لعدد عشوائي بواجهات متطابقة تداخلتا. إحداهما كانت تصل إلى مولد العتاد المناسب للجهاز. والأخرى كانت احتياطية برمجية ضعيفة مخصصة للوحات التي لا تمتلك عتادًا مناسبًا.
عطل إعداد تكوين مسار الأجهزة الافتراضي لـ MicroPython لأن Coinkite قدم غلاف أجهزة خاصًا بها. تحقق البرنامج فقط من وجود هذا الإعداد، وليس من كونه ممكّنًا. وبما أن الإعداد كان موجودًا ولكن تم تعيين قيمته إلى صفر، فقد اكتمل البناء بنجاح، بينما انتقلت عملية توليد البذرة بصمت إلى مولد البرمجيات الأضعف.
استُبدلت بيانات المصنع والتوقيت بالعشوائية الحقيقية
اعتمد هذا التحويل الاحتياطي بشكل كبير على معلومات جهاز قابلة للتنبؤ بها، بما في ذلك معرف شريحة مشابه لرقم تسلسلي وقيم ساعة داخلية مرتبطة بتوقيت التشغيل. المهاجم الذي يمكنه تضييق هذه المدخلات سيواجه بحثًا أصغر بكثير من النطاق البالغ 128 بت المتوقع من بذرة تم توليدها بأمان.
قدر Coinkite مساحة البحث الفعالة للبذور المعرضة للخطر من النوع Mk3 بحوالي 40 بت وفقًا للافتراضات الحالية. لا يزال هذا عددًا كبيرًا من الاحتمالات، لكن يمكن البحث فيه باستخدام معدات حاسوبية متخصصة، خاصة عندما يمكن للمهاجم مقارنة البذور المرشحة مع عناوين بيتكوين المرئية على البلوكشين.

أضافت طرازات Coldcard الأحدث، بما في ذلك Mk4 و Q و Mk5، بعض العشوائية من عنصر آمن. ومع ذلك، لم يصل سوى جزء محدود إلى المولد المتأثر، مما ترك تقريباً 72 بتاً من الإنتروبيا الفعالة في البذور التي تم إنشاؤها قبل تثبيت البرنامج الثابت المصحح. وكان هذا أقوى من مسار Mk3 لكنه لا يزال أقل من المعيار المقصود البالغ 128 بتاً.
الفرق مشابه لاستبدال تركيبة قفل عشوائية حقًا بتركيبة مشتقة من الرقم التسلسلي للقفل ووقت تشغيله لأول مرة. قد تبدو التركيبة الناتجة عشوائية، لكن شخصًا يعرف الصيغة ويمكنه تقدير المعلومات الأولية يمكنه إعادة إنتاجها. ينتقل العديد من المستخدمين، ليس فقط من أجهزة Mk3، بل أيضًا من Mk4 وQ وMk5.
Coinkite تطلب من المستخدمين إنشاء بذور جديدة بالكامل
أصدر Coinkite إشعارات أمنية وصحح البرنامج الثابت بعد اكتشافه للتهديد النشط. وقالت الشركة إن المستخدمين الذين أنشأوا بذورًا على البرنامج الثابت المتأثر يجب أن ينشئوا بذرة جديدة بالكامل باستخدام إصدار مُصلح، ونقل بيتكويناتهم إلى عناوين يتحكمون بها.
تثبيت التحديث وحده لا يكفي. فالبصمة التي تم إنشاؤها تحت النظام المعيب تظل ضعيفة بشكل دائم لأن تحديث البرنامج الثابت لا يمكنه إضافة عشوائية إلى الكلمات التي exist بالفعل.
أوصى Coinkite المستخدمين بتحديث جهازهم، وإنشاء بذرة جديدة، والتحقق من النسخة الاحتياطية وبصمة المحفظة، وتأكيد عنوان الاستلام، وإرسال معاملة اختبار صغيرة، ثم نقل الرصيد المتبقي. يجب على المستخدمين الاحتفاظ بالنسخة الاحتياطية القديمة حتى تُؤكد العملية، لكنهم لا ينبغي أن يعاملوا البذرة القديمة على أنها آمنة بعد الآن.
حددت الشركة الإصدارات الثابتة التي تشمل الإصدار Mk3 4.2.0 أو أحدث، والإصدار Mk4 وMk5 5.6.0 أو أحدث، والإصدار Q 1.5.0Q أو أحدث، إلى جانب الإصدارات المقابلة لـ Edge. تستخدم منتجات Tapsigner وOpendime وSatscard كودًا مختلفًا ولم تتأثر وفقًا للتقارير.
أُضيفت الأمان لحماية بعض مالكي Coldcard
المستخدمون الذين أضافوا عددًا كافيًا من إلقاءات النرد المستقلة عند توليد المفتاح كان لديهم حماية كبيرة، لأن عشوائيتهم الخاصة طغت على الإدخال الخاطئ للبرنامج. وقالت Coinkite إن ما لا يقل عن 50 إلقاءً خاصًا لنصاب عادل يوفر حماية كافية من هذه المشكلة، على الرغم من أن إلقاءات إضافية يمكن أن توفر هامش أمان أوسع.
كلمة مرور قوية من نوع BIP-39 تنشئ أيضًا محفظة منفصلة لا يمكن استعادتها من كلمات البذور وحدها. المحفظات متعددة التوقيع، التي تتطلب مفاتيح من أجهزة أو مواقع متعددة قبل تحريك البيتكوين، كانت محمية جزئيًا أو بالكامل عندما كانت بذرة Coldcard الضعيفة تمثل جزءًا واحدًا فقط من ترتيب التوقيع.
لكن هذه الحمايات كانت اختيارية. يبدو أن العديد من الضحايا اتبعوا النصائح الأمنية القياسية المتاحة في ذلك الوقت: شراء محفظة مادية موثوقة، وتوليد البذرة دون اتصال بالإنترنت، وحماية النسخة الاحتياطية، وألا تدخلها أبدًا في جهاز متصل بالإنترنت.
كوينكيت تقبل المسؤولية مع تحول النقاش إلى الذكاء الاصطناعي
رئيس تنفيذي Coinkite رودولفو نوفاك، المعروف على نطاق واسع باسم NVK، اعتذر علنًا في 31 يوليو وقال إن الشركة تتحمل المسؤولية الكاملة عن فشل البرنامج الثابت. "أنا آسف وأنا مُدمَّر. فريقنا مُحطم بسبب أخبار الأمس،" كتب نوفاك. وقد أقر بأن التصحيح العاجل يؤمن البذور الجديدة المنشأ لكنه لا يستطيع إصلاح البذور التي تم إنشاؤها تحت برنامج ضعيف.

شرح نوفاك أن Coinkite ستُنشر حسابًا تقنيًا كاملاً بعد التحقق من التفاصيل وستساعد المستخدمين المتضررين الذين يطلبون تقارير شرطة أو مطالبات تأمين أو تحقيقات مستقلة. كما حذر المطورين من أن أدوات الذكاء الاصطناعي (AI) يمكنها الآن مسح الكود العام القديم بحثًا عن نقاط ضعف خفية أسرع من الطرق التقليدية للمراجعة.
أكدت Coinkite أنها يجب أن تفترض أن المهاجم استخدم الذكاء الاصطناعي لفحص برنامجها الثابت المفتوح المصدر، على الرغم من أنه لم يتم إثبات كيفية اكتشاف العيب. كما اعترفت الشركة بأن مراجعة حديثة أُجريت باستخدام نموذج ذكاء اصطناعي رائد فشلت في تحديد المشكلة. وقد لجأ عدة مصنعين منافسين للمحافظ المادية إلى وسائل التواصل الاجتماعي للإشارة إلى أن منتجاتهم غير متأثرة.
"لا تتأثر أجهزة Ledger بالإشعار المنشور حديثًا بشأن Coldcard Mk3،" أبلغت الشركة مستخدمي X بعد حادثة Coldcard. "تستخدم أجهزة Ledger مولدًا عشوائيًا حقيقيًا معتمدًا (TRNG) مدمجًا مباشرة في شريحة العنصر الآمن لدينا، وتولد 256 بتًا كاملة من العشوائية لكل عبارة استرداد سرية مكونة من 24 كلمة."
مستخدمو Trezor: أموالكم آمنة،" شرح صانع المحفظة المادية Trezor يوم الجمعة. "مشكلة Coldcard الأخيرة محدودة ببرمجياتها المخصصة الخاصة بها وكيفية توليد بعض أجهزتها للعشوائية. Trezor لا تشارك هذا الكود."
تم إضافة حساب Trezor X:
لقد كنا دائمًا نجمع بين مصادر عشوائية مستقلة متعددة (أجهزة الجهاز + المضيف + عناصر آمنة في النماذج الأحدث). نحن نعتذر بشدة عن كل من فقد بيتكوين.
ما الذي يجب على مستخدمي Coldcard متابعته بعد ذلك
هوية المهاجم لا تزال مجهولة، ويمكن أن تتحرك البيتكوين المسروقة من عناوين تجميعها في أي وقت. لا يزال المحققون يعملون على تحديد عدد البذور الضعيفة التي تم إنشاؤها فعليًا، وكم من البيتكوين لا يزال معرضًا، وما إذا كانت المحافظ عالية القيمة الإضافية قد تم تحديدها بالفعل من قبل المهاجم. ومع ذلك، قد لا يكون لدى Coinkite معلومات كثيرة عن أصحاب المحافظ منذ فترة طويلة.
"سيف ذو حدين ممتع: يحذف Coinkite جميع سجلات عملائهم بعد 120 يومًا لحمايتهم من خروقات البيانات،" أبلغ جيمسون لوب، المؤسس المشارك لـ Casa، على X. "وهذا يعني أنهم غير قادرين على التواصل مع العملاء الذين اشتروا أجهزة Coldcard الضعيفة خلال الخمس سنوات الماضية لإعلامهم بهذه الثغرة."

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