الدعم الوثائق

ضعف مسار الاشتقاق في مشتقات البيتكوين

في الثاني من مايو 2020، أبلغ أحد الباحثين الأمنيين عن وجود نقطة ضعف في تطبيقات مشتقات بيتكوين (Litecoin وDogecoin وخلافه) والتي يمكن استخدامها لخداع المستخدمين لتوقيع معاملة لعملة تختلف عن العملة التي يريدون التوقيع عليها. 

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

ما هو الوضع الحالي؟

إصدار 1.4.6 لتطبيق بيتكوين يقوم بإصلاح مشكلة تطبيقات مشتقات بيتكوين وسيتم إصداره بتاريخ 5 أغسطس 2020. في هذا الإصدار، عندما يطلب المستخدم عنواناً أو يحاول التوقيع على معاملة على مسار اشتقاق لا ينتمي إلى تطبيق العملة المفتوح في محفظة أجهزة Ledger سيتم عرض تحذير.

ما الذي يمكنني فعله لحماية نفسي؟

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

كيف يعمل برنامج المكافآت لصيد الثغرات الأمنية (Bug Bounty)؟

تمتلك Ledger برنامج المكآفات لصيد الثغرات الأمنية (Bug Bounty) والذي هدفه السماح للباحثين الأمنيين الخارجيين بالإبلاغ عن نقاط الضعف في منتجات Ledger. ببساطة، بمجرد أن يُبلغ الباحث الأمني عن ثغرة أمنية محتملة عبر البريد الإلكتروني bounty@ledger.fr، تحدث الخطوات التالية. يؤكد أولاً فريق الأمان استلام البريد الإلكتروني، ويتم تحديد موعد نهائي أقصاه 90 يوماً. يبدأ التحقيق في المشكلة، وإذا تم تأكيدها، فهذا يعني القيام بما يلي:

  • تبذل الفرق المعنية قصارى جهدها لإصلاح المشكلة في غضون 90 يوماً. تم تحديد هذا الموعد الذي أقصاه 90 يوماً في البداية بواسطة المشروع صفر لجوجل (Google Project Zero)، ولقد أصبح الآن ممارسة شائعة على مستوى الصناعة.
  • بمجرد بلوغ الموعد النهائي، يُسمح للباحث بنشر نتائجه.
  • إذا تم حل المشكلة في وقت أقرب وكان هناك اتفاق متبادل بين الباحث الأمني وفريق الأمان فقد يتم الكشف عن النتيجة قبل الموعد النهائي البالغ 90 يوماً.

خلال هذه الأيام التسعين، ينسق فريق الأمان مع فرق Ledger الأخرى (الهندسة والاختبار وما إلى ذلك) بهدف تطوير ومراجعة حزمة تصحيح لنقطة الضعف هذه. وفي الوقت نفسه، تتم كتابة نشرة الأمان Ledger Security Bulletin لمشاركة التفاصيل الفنية مع الباحثين الأمنيين الخارجيين وللتعقب العلني لمشكلات الأمان التي تم الإبلاغ عنها من خلال برنامج المكافآت لصيد الثغرات الأمنية (Bug Bounty).

بمجرد إتاحة إصدار جديد من التطبيق أو البرنامج الثابت، يتم دفع مكافأة للباحث الأمني، ويتم نشر نشرة الأمان ويُسمح للباحث الأمني بنشر نتائجه/نتائجها.

ما الخطأ الذي حدث مع نقطة الضعف هذه؟

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

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

كان سوء التواصل من أسباب تأخر الوصول إلى حل المشكلة عاجلاً. فلقد أرسل المُبلغ عن المشكلة رسائل مباشرة (DM) على تويتر والتي لم ينتبه إليها معظم مهندسي الأمان. في الواقع، عنوان البريد الإلكتروني bounty@ledger.fr هو الطريقة الوحيدة للوصول إلى فريق الأمان بالكامل.

ما هي نقطة الضعف؟

Ledger Nano S وNano X هم محافظ الهرمية الحتمية (HD). وهذا يعني أن يمكنهما استخلاص أسرار تشفير مختلفة من بذرة واحدة مأخوذة من عبارة الاسترداد المكونة من 24 كلمة التي يكتبها المستخدمون على ورقة الاسترداد لديهم. تُستخدم بعض هذه الأسرار للتوقيع على معاملات العملات المشفرة.

عادةً ما يقتصر كل تطبيق على مسارات هرمية تحديدية خاصة به. على سبيل المثال، يُسمح لتطبيق Zcoin باستخدام مسار الاشتقاق الخاص به (m/44'/136’/) ولا يمكنه اشتقاق مفاتيح على مسار اشتقاق Dogecoin (m/44'/3'/). لم يتم فرض قيود المسار هذا على تطبيق بيتكوين ومعظم مشتقاته، ما يسمح لمشتقات بيتكوين (مثل Litecoin) باشتقاق مفاتيح عامة أو توقيع معاملات بيتكوين. 

يمكن للمهاجم الذي تمكن من تثبيت برمجيات خبيثة على جهاز الكمبيوتر أو الهاتف الذكي للضحية خداع المستخدمين لقبول توقيع معاملة بيتكوين باستخدام تطبيق العملات الرقمية البديلة على تطبيق Ledger Nano S/X بدلاً من تطبيق بيتكوين.

لا تمكّن نقطة الضعف هذه المهاجمين من استخلاص أي أسرار من أجهزة Ledger مثل المفاتيح الخاصة المستخدمة لتوقيع المعاملات. كما لا تمكّن المهاجمين من تجاوز مصادقة PIN. وبناءً عليه، يبقى أمان الجهاز الفعلي على حاله لا يلحق به أي ضرر.

يمكن العثور على مزيد من التفاصيل الفنية في نشرة الأمان Ledger Security bulletin 014: اشتقاق المسار مسموح بدرجة كبيرة للغاية في تطبيقات مشتقات بيتكوين.

لماذا يتم عرض رسالة تحذير بدلاً من حظر هذه المعاملات؟

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

يعرض جهاز Ledger لدي تحذيراً بشأن مسار اشتقاق غير مألوف أو مسار توقيع غير مألوف، فماذا يعني هذا؟

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

يؤدي تحديث تطبيق بيتكوين إلى الإصدار 1.4.6 إلى إصلاح نقطة الضعف في جميع تطبيقات مشتقات بيتكوين. يجب ألا يؤدي هذا الإصدار إلى إحداث أي تغييرات مرئية لمستخدمي Ledger Live. 

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

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