
أعاد خلل Coldcard الذي دام خمس سنوات في إنشاء البذور (seed generation) الدعوات لإجراء اختبار مستقل لبرامج المحافظ الصلبة (hardware wallet firmware) بعد أن أدت هجمات مشتبه بها إلى سحب ما يقرب من 90 مليون دولار من عملة البيتكوين من آلاف المحافظ.
قال نيك بيركوكو، كبير مسؤولي الأمن في Kraken، في منشور على منصة X يوم الأحد إن الحادث يجب أن يكون بمثابة تحذير لصناعة المحافظ الصلبة، مشيرًا إلى أن الشركات المصنعة لا ينبغي أن تكون الأطراف الوحيدة التي تتحقق من كيفية إنشاء عبارات بذور المحفظة.
وقال إنه يجب أن تخضع برامج الإنتاج الثابتة لاختبار مستقل للتأكد من أن المصدر المعتمد للعشوائية هو الذي يُستخدم بالفعل عند إنشاء أسرار المحفظة.
وفقًا لأحدث تحليل للبلوكتشين من Galaxy Research، سحب المهاجمون المشتبه بهم الآن أكثر من 1,800 بيتكوين من أكثر من 5,200 عنوان محتمل للضحايا عبر أربع موجات هجومية ملحوظة، على الرغم من أن الشركة أكدت أن هذه الأرقام هي تقديرات على السلسلة وليست خسائر مؤكدة. لم تتحقق Coinkite من كل محفظة متأثرة، ولا يمكن لبيانات البلوكتشين وحدها تحديد ما إذا كان فاعل واحد قد نفذ جميع الهجمات.
كشفت Coinkite يوم الخميس أن الثغرة الأمنية تعود إلى مارس 2021، عندما قامت الشركة بترحيل جزء من برنامجها الثابت أثناء دمج مكتبة تشفير جديدة.
بدلاً من استخدام مولد الأرقام العشوائية الحقيقي المدعوم بالأجهزة والمقصود من Coldcard لإنشاء بذور المحفظة، استدعى البرنامج الثابت المحدث عن طريق الخطأ مولدًا زائفًا عشوائيًا حتميًا أضعف توفره MicroPython.
وفقًا لتحليل Coinkite اللاحق للواقعة، ظل مولد الأرقام العشوائية المقصود نشطًا في أماكن أخرى من البرنامج الثابت، مما سمح بمراجعات الكود بالتحقق من وجوده دون الكشف عن أن إنشاء المحفظة اعتمد على مصدر إنتروبيا مختلف.
قالت الشركة إنها لم تكن على علم بوجود مولد MicroPython في مسار الكود المعني حتى بدء التحقيق. بينما استمر مولد الأرقام العشوائية للأجهزة في العمل لوظائف أخرى، لم يعد مسؤولاً عن إنشاء أسرار المحفظة الجديدة.
وصل فريق هندسة وأمن البيتكوين التابع لـ Block بشكل مستقل إلى نفس النتيجة أثناء مراجعته الفنية. قالت الشركة إن البرنامج الثابت المتأثر استدعى بديل MicroPython الحتمي بدلاً من مولد الأرقام العشوائية للأجهزة STM32 عند إنشاء بذور المحفظة. على الرغم من أن Block قالت إنها لم تكمل الاختبار التجريبي الكامل لكل جهاز، فقد قررت الكشف عن نتائجها لأن تقارير السرقة النشطة كانت قد ظهرت بالفعل.
تقدر Coinkite أن البذور التي تم إنشاؤها على أجهزة Mk2 و Mk3 المتأثرة قد تحتوي على حوالي 40 بت من الإنتروبيا الفعالة، بينما قد تحتوي نماذج Mk4 و Mk5 و Q المتأثرة على حوالي 72 بت بدلاً من الـ 128 بت المقصودة.
باستخدام حادث Coldcard كمثال، جادل بيركوكو بأن اعتماد المحافظ الصلبة قد أغفل أحد أهم أجزاء أمان المحفظة.
وقال إنه يتعين على المستخدمين حاليًا الوثوق بأن الشركات المصنعة تنفذ إنشاء البذور بشكل صحيح لأنه لا توجد عملية مستقلة تتحقق من أن البرنامج الثابت للإنتاج يستدعي بالفعل مصدر الإنتروبيا المعتمد. لا تقوم الشهادات الحالية، بما في ذلك تقييمات Common Criteria للعناصر الآمنة، ومراجعات CSPN، وعمليات التدقيق التي ترعاها الشركات المصنعة، بالتحقق من هذه العلاقة بشكل منهجي، وفقًا لبيركوكو.
لتوضيح هذه الفجوة، أشار إلى NIST SP 800-90B، المعيار الأمريكي الذي يحكم تصميم والتحقق من مولدات الأرقام العشوائية الحقيقية المستخدمة في أنظمة التشفير، بالإضافة إلى إطار عمل BSI AIS-31 الألماني، الذي يحدد متطلبات اختبار مماثلة. وجادل بأن التحقق الشامل المماثل لا يتوفر حاليًا للمحافظ الصلبة.
قارن بيركوكو أيضًا هذا القطاع بأمان الدفع، مشيرًا إلى أن أجهزة إدخال رقم التعريف الشخصي (PIN) لا يمكن شحنها دون اختبار معملي مستقل، بينما تتطلب الوحدات التشفيرية الحكومية الأمريكية التحقق من مصدر الإنتروبيا قبل الموافقة.
مع استمرار نشاط الهجوم خلال عطلة نهاية الأسبوع، قالت Coinkite إنها أوقفت جميع الشحنات بعد تأكيد الثغرة الأمنية ودمرت كل جهاز متبقٍ في منشآتها يحتوي على البرنامج الثابت المتأثر.
ومع ذلك، نصحت الشركة العملاء بعدم التخلص من الأجهزة المتأثرة لأنها قد تصبح مهمة إذا تم استرداد الأموال المسروقة في النهاية من خلال الإجراءات القانونية. أضافت Coinkite أن فريقها القانوني سينسق مع وكالات إنفاذ القانون في ولايات قضائية متعددة عند الاقتضاء.
تم إصدار تحديثات البرامج الثابتة بالفعل لكل طراز متأثر، بما في ذلك الإصدار 4.2.0 لأجهزة Mk2 و Mk3، والإصدار 5.6.0 لأجهزة Mk4 و Mk5، والإصدار 1.5.0Q لجهاز Coldcard Q، والإصدارين 6.6.0X و 6.6.0QX لإصدارات Edge. وفقًا للشركة، فإن تثبيت البرنامج الثابت المحدث لا يصلح إلا إنشاء المحفظة في المستقبل ولا يقوي عبارات البذور التي تم إنشاؤها قبل التصحيح.
لهذا السبب، يُطلب من المستخدمين المشمولين بالإشعار إنشاء عبارات بذور جديدة تمامًا بعد تحديث أجهزتهم، والتحقق من عنوان الاستلام، وإرسال معاملة اختبار صغيرة، وترحيل الرصيد المتبقي فقط بعد التأكد من نجاح التحويل.
قالت Coinkite إن المحافظ التي تم إنشاؤها باستخدام ما لا يقل عن 50 لفة نرد عادلة وخاصة لا تعتبر معرضة لخلل توليد الأرقام العشوائية وحده. أضافت الشركة أن عبارة مرور BIP-39 قوية وفريدة من نوعها توفر طبقة أخرى من الحماية ولكنها لا تزيل الضعف من البذرة المتأثرة بالفعل، مما يعني أن الترحيل يظل هو الإجراء الموصى به.
يشير تحليل بلوكتشين منفصل من Galaxy Research إلى أن الهجمات استمرت منذ أن أصبحت الثغرة الأمنية علنية.
حدد أليكس ثورن، رئيس قسم الأبحاث في Galaxy، موجة هجومية منسقة رابعة مشتبه بها في 3 أغسطس، مما رفع إجمالي ما رصدته الشركة إلى حوالي 1,815.75 بيتكوين عبر 5,294 عنوانًا محتملاً للضحايا إذا لم تتداخل أي من مجموعات العناوين. وصف ثورن المحافظ بأنها "من المحتمل أن تكون ضحايا Coldcard" وشدد على أن الأرقام تأتي من تحليل البلوكتشين بدلاً من سجلات الأجهزة المؤكدة أو نتائج إنفاذ القانون.
أفادت Galaxy أيضًا أن نشاط الهجوم وصل إلى 13.8 عملية مسح للمحافظ لكل كتلة خلال الموجة الأخيرة، مقارنة بخط أساسي قدره 0.3 عملية مسح لكل كتلة قبل الحادث. لاحظت الشركة أن معظم أرصدة الضحايا أُرسلت إلى عناوين جديدة تم إنشاؤها بدلاً من محفظة تجميع واحدة، بينما انتقلت بعض الأموال بالفعل عبر معاملات قفزة ثانية (second-hop transactions)، مما يجعل تتبع البيتكوين المسروق أكثر صعوبة.
وفقًا لـ Galaxy، قد لا يزال لدى المستخدمين الذين لا تزال أموالهم المسروقة في معاملات بيتكوين غير مؤكدة فرصة ضيقة لبث معاملة استبدال برسوم أعلى قبل أن يؤكد القائمون بالتعدين التحويل الأصلي.
بالاستناد إلى وثائق Bitcoin Core، أشارت الشركة البحثية إلى أن خاصية "الاستبدال برسوم" (Replace-by-Fee) لا يمكن محاولتها إلا بينما تظل المعاملة غير مؤكدة ولا تضمن الاسترداد حتى عندما يظل المالك الشرعي يتحكم في المفاتيح المتأثرة.