ثغرة في عشوائية محفظة Coldcard تكشف نقطة ضعف في أمان المحفظة المادية

iconTechFlow
مشاركة
AI summary iconملخص
كشف تقرير إخباري حديث عن ثغرة أمنية حرجة في محفظات Coldcard المادية. تعود المشكلة، وهي خرق أمني يؤثر على نماذج متعددة، إلى تحديث برنامج ثابت في مارس 2021. بدلاً من استخدام مولد الأرقام العشوائية المادية، طبّقت المحفظة خوارزمية حتمية ضعيفة. وهذا قلل من الإنتروبيا في عبارات الاسترجاع، ورفع مستوى التعرض لهجمات القوة الغاشمة. وجدت Coinkite وBlock أن العبارات المخترقة كانت تمتلك مساحة بحث تتراوح بين 40 و72 بت. ويُحث المستخدمون على إنشاء عبارات استرجاع جديدة يدويًا ونقل الأموال. وقد تم بالفعل نقل أكثر من 77,402 BTC من العناوين المتأثرة.

كتابة: Liam 'Akiba' Wright

مترجم: Saoirse، Foresight News

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

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

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

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

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

الثغرات الخفية في أمان محفظة البيتكوين

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

الجذر التقني للثغرة صغير لدرجة تثير الرعب. في 1 مارس 2021، تم نقل وظيفة توليد البذور في Coldcard إلى مكتبة كود جديدة بالكامل. في إصدارات الإنتاج، تم تعيين إعداد MICROPY_HW_ENABLE_RNG إلى 0، مما يعني تعطيل مولد العشوائية الهاردويرية؛ لكن منطق دمج الكود كان يتحقق فقط من وجود هذا الإعداد، ولم يقرأ قيمته. طالما كان هذا الإعداد موجودًا، كان النظام يتخلى عن مولد العشوائية الهاردويرية ويعتمد بدلاً من ذلك على الخوارزمية الحتمية Yasmarang في MicroPython كخطة احتياطية. وفقًا لتقرير التحليل المشترك من Block، تم إصدار هذا المنطق المعيب رسميًا مع إصدار固件 4.0.0 في 17 مارس.

يبدو أن كلمة الاسترداد المولدة خالية من أي شذوذ، لكن مساحة البحث القابلة للعرض الجبري خلفها قد تقلصت بشكل حاد. وفقًا للتقديرات الأولية من Coinkite، فإن مساحة البحث الفعالة للبذور الخاصة بالطرازات Mk2 وMk3 المتأثرة تبلغ حوالي 40 بت؛ بينما تبلغ مساحة البحث الفعالة للبذور الخاصة بالطرازات Mk4 وMk5 وسلسلة Q المتأثرة حوالي 72 بت.

فريق Block وضع شروطًا محددة للإصدارات المستقبلية: عندما يكون حالة الخوارزمية الاحتياطية ثابتة مع سجل الاستدعاءات، فإن عدد تيارات العشوائية القابلة للتمييز لا يتجاوز 2^32. البيانات التي قدمها Coinkite تقدّر النطاق الفعال الذي يمكن للمهاجم استكشافه.

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

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

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

أصدر Bitcoin Optech في 31 يوليو بيانات تقديرية مؤقتة تشير إلى أن حجم الأصول المهددة يتجاوز 1000 بيتكوين. بحلول 2 أغسطس، قدرت Galaxy Research أن حوالي 1367 بيتكوين معرضة للخطر في ما مجموعه 4585 عنوانًا. وقال مستخدم على منصة X يُعرف باسم Graham_Quantum إن 18.25245043 بيتكوين تم تحويلها بالفعل من المحافظ ذات الصلة في 29 يوليو.

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

يجب التمييز بين نوعين من البيانات:

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

إن ثغرة المحفظة في Coldcard، التي تقدر قيمتها بحوالي 89 مليون دولار، تسببت في أكبر نقل لرؤوس الأموال على سلسلة البيتكوين منذ فضيحة FTX، كما عرّضت تفسير إشارات السوق للخلل. حيث قام عشرات الآلاف من المستخدمين بنقل البيتكوين من محافظهم القديمة، مما جعل من الصعب التمييز بين الإشارات الهبوطية الصادرة عن المؤشرات الأساسية على السلسلة.

ما التغييرات التي يمكن أن تجلبها إلقاء النرد يدويًا؟

بناءً على الوثائق الرسمية لـ Coldcard الخاصة بالنرد: إن نردًا سداسي الأوجه عادلًا ينتج حوالي 2.585 بت من الإنتروبيا في كل رمية مستقلة. رمي النرد 50 مرة ينتج حوالي 129.25 بت من الإنتروبيا الخام، وهو ما يفي بمعيار الأمان القياسي البالغ 128 بت؛ ورمي النرد 99 مرة ينتج حوالي 255.91 بت من الإنتروبيا الخام، مما يصل تقريبًا إلى معيار الأمان البالغ 256 بت (هذا الرقم لم يُعالج بعد بواسطة خوارزمية التحويل المدمجة في المحفظة).

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

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

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

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

بالنسبة لحادثة أمان Coldcard هذه، أفادت Coinkite أن المستخدمين فقط يمكنهم تجنب نقل الأصول إذا تمكنوا من التحقق من أن ما لا يقل عن 50 عملية قذف نرد عادلة ومستقلة وسرية تم إجراؤها أثناء توليد البذرة النهائية؛ وفي أي حالة من حالات عدم اليقين، تنصح الشركة الرسمية بنقل الأموال.

القيمة الأساسية للنرد اليدوي بالنسبة لي هي أن الاعتماد على رقم عشوائي مدمج في الجهاز يعني أنك يجب أن تثق بلا قيد أو شرط في سلسلة كاملة تشمل الأجهزة والبرمجيات الثابتة وعملية الترجمة ورمز التكامل.

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

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

تمكين كلمة المرور المرورية ينطوي على توازن: إذا كنت قادرًا على حفظها بشكل آمن وإعادة إدخالها بدقة، فستكون بمثابة خط دفاع ثانٍ قوي؛ لكن إذا لم تكن خطة النسخ الاحتياطي كافية، فقد تؤدي هذه الميزة إلى منعك تمامًا من الوصول إلى أصولك.

تكرر وجود مخاطر التوليد العشوائي الضعيف

ثغرة Coldcard تُذكّر الجميع مجددًا: الأساس الأمني لمحفظة البيتكوين هو أن يكون التوليد العشوائي القوي متاحًا في اللحظة التي يتم فيها إنشاء البذرة. وقد ظهرت عيوب أساسية مماثلة متتالية في عدة منتجات محفظات مختلفة.

في عام 2023، كشف Ledger Donjon أن إصدارًا معينًا من امتداد متصفح Trust Wallet يستخدم خوارزمية مازن روتيشن ذات 32 بت لتوليد بذور عشوائية في مسار تشغيل WebAssembly. جميع كلمات الاسترداد التي تبدو طبيعية هذه، مشتقة من حوالي 4 مليارات قيمة أولية. نطاق الخطر محدد: الإصدارات 0.0.172 إلى 0.0.182 من امتدادات المتصفح التي تحتوي على Trust Wallet Core قبل الإصدار 3.1.1. سجلت قاعدة بيانات الثغرات الوطنية الأمريكية أن هذه الثغرة استُغلت في ديسمبر 2022 ومارس 2023.

حدث "ثغرة Milk Sad" يُظهر بشكل مباشر المخاطر المماثلة. يعتمد أمر bx seed في Libbitcoin Explorer 3.x على خوارزمية مازن روتيشن بطول 32 بت تُبذر باستخدام وقت النظام؛ وفي ظل ظروف ساعة متطابقة، قد تولد البرمجيات عبارة استعادة متطابقة تمامًا. ما لم يُعرف وقت إنشاء البذرة تقريبًا، فإن نطاق التخمين سيكون أصغر بكثير من المساحة التي توحي بها عبارة الاستعادة.

وجد الباحثون أكثر من 2600 محفظة بيتكوين نشطة لا تزال قيد الاستخدام ضمن نطاق المخاطر؛ وبحسب تقديرات سوق أغسطس 2023، تجاوزت قيمة الأصول المسروقة المرتبطة على سلاسل متعددة 900 ألف دولار أمريكي. وظهر أكثر من 2550 محفظة سلوكيات تشغيل آلي، مما يشير إلى احتمال انتمائها لمالك واحد. كما أشار الباحثون إلى أن بعض حوادث سرقة الأصول قد تكون مرتبطة بثغرات أمنية أخرى.

تظهر هذه الثغرات دائمًا بأشكال مختلفة: حيث تُفعّل Coldcard بشكل غير متوقع خوارزمية عشوائية احتياطية في البرنامج الثابت؛ بينما تنتج إضافة المتصفح Trust Wallet وأداة سطر الأوامر Libbitcoin أرقامًا عشوائية ضعيفة بسبب الاعتماد على ساعة النظام. تبدو المفاتيح المولدة للمحفظة خالية من أي عيوب، لكن حجم مجموعة المفاتيح القابلة للاستكشاف صغير لدرجة تشكل خطرًا قاتلًا.

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

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

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