شرح مبسط للعبارات السرية الضعيفة
كيف تعرض العبارات السرية الضعيفة بيتكوين للخطر
يمكن أن يظل تشفير بيتكوين سليماً رغم أن المحفظة أنشأت عبارة استرداد قابلة للتوقع. يبدأ الخطر قبل أول عملية تحويل؛ فمن يعيد تكوين العبارة أو المفتاح الخاص يستطيع استخدام الرصيد من جهاز مختلف، حتى مع بقاء محفظة الأجهزة الأصلية دون اتصال.
إجابة سريعة
كيف يمكن أن تكون العبارة الصحيحة غير آمنة؟
وجود 12 أو 24 كلمة صحيحة يثبت فقط صحة الشكل، وليس الأمان. قد ينتج المولد الضعيف عبارة تبدو طبيعية من قائمة صغيرة يمكن للمهاجمين إعادة إنتاجها.
في هذه الحوادث، تظل قواعد البلوكشين والتوقيع في بيتكوين تعمل كما هو مخطط. الخلل يحدث في إنشاء المفاتيح داخل المحفظة قبل أن تصل أي معاملة للبلوكشين.
فهرس المحتويات
البلوكشين مقابل المحفظة
البلوكشين يفحص التوقيع، أما المحفظة فتُنشئ المفتاح السري
هذه مهام منفصلة: البلوكشين يتحقق من المعاملات، والمحفظة تنشئ وتحمي المفاتيح المستخدمة للموافقة عليها. العبارة الضعيفة قد تفشل على مستوى المحفظة حتى لو بقيت البلوكشين آمنة.
البلوكشين
تخزن سجل المعاملات وتقبل الإنفاق عند تحقق التوقيع المطلوب.
المحفظة
تُنشئ المحفظة عبارة الاسترداد، وتشتق منها المفاتيح الخاصة، ثم تعرض العناوين وتوقّع التحويلات.
المهاجم
يمكن إعادة إنشاء نفس المفاتيح على أي جهاز إذا كانت العبارة متوقعة أو منسوخة.
لا يحتاج المهاجم إلى سرقة جهازك. تكفيه عبارة استرداد منسوخة أو قابلة للتوقع ليضيفها إلى برنامج متوافق ويوقّع التحويل من حاسوبه.
خرافتان شائعتان
محافظ الأجهزة والتخزين البارد تقلل بعض المخاطر، لكنها لا تعيد الأمان إلى مفتاح انكشف بالفعل
كلا الطريقتين مفيدتان، لكن الحماية تعتمد على أن السر أُنشئ بشكل آمن وبقي سرياً.
لا يمكن لأحد الإنفاق دون جهازي الفعلي
المحفظة الباردة تعزل المفاتيح عن الحاسوب اليومي أثناء الاستخدام المعتاد، لكن يمكن استعادة نفس المفاتيح على أي جهاز آخر إذا كان لديك نسخة من العبارة السرية أو إذا كانت العبارة قابلة للتوقع.
تستمر فائدة الجهاز ما دامت عبارة الاسترداد والمفاتيح الخاصة غير معروفة لأي شخص آخر.المحفظة غير المتصلة تجعل البيتكوين غير قابل للوصول عن بعد
فصل المحفظة عن الإنترنت يمنع الدخول إلى ذلك الجهاز عن بُعد. لكنه لا يمنع من لديه نسخة من عبارة الاسترداد أو المفتاح الخاص من استخدامها على جهاز مختلف.
الحفظ دون اتصال يحمي النسخة الموجودة لديك، لكنه لا يستطيع إبطال نسخة أخرى وقعت في يد شخص مختلف.أين يبدأ الخلل
قد يبدأ الخلل قبل أن تظهر كلمات الاسترداد على الشاشة
تجمع المحفظة أولاً بيانات لا يمكن التنبؤ بها، ثم تستخدم مولداً عشوائياً آمناً لتحويلها إلى عبارة سرية. إذا كانت البيانات الأولية ضعيفة، قد تبدو العبارة صحيحة لكن تظل قابلة للتوقع.
العشوائية (Entropy)
مصطلح تقني يعني عدم القدرة على التنبؤ. كلما زادت العشوائية زادت الخيارات الفعلية للمحفظة.
مولد عشوائي آمن
برمجيات أو أجهزة تحول بيانات أولية غير متوقعة إلى قيم مناسبة للمفاتيح الحساسة أمنياً.
العبارة السرية
هي نسخة احتياطية مكتوبة تستطيع المحفظة منها اشتقاق مفاتيح خاصة كثيرة. ومن يحصل على عبارة الاسترداد كاملة يستطيع عادة إعادة إنشاء المحفظة.
المفتاح الخاص
قيمة لا ينبغي أن يعرفها أحد غيرك، وتُستخدم لتوقيع التحويل من عنوان محدد. ويمكن لعبارة استرداد واحدة أن تولّد عدداً كبيراً من هذه المفاتيح.
الشكل الصحيح لا يثبت الأمان
لماذا لا تعني 12 كلمة صحيحة الأمان
تخيل أن اليانصيب يصدر أرقام تذاكر طويلة لكنه يستخدم سراً ألف احتمال فقط. تبدو كل تذكرة مقنعة، لكن المهاجم يحتاج فقط لتجربة تلك الألف. هذا ما يفعله المولد الضعيف في المحفظة.
العبارة السرية القوية المكونة من 12 كلمة يجب أن تُختار من عدد هائل من الاحتمالات. أما المحفظة الضعيفة فقد تختار من قائمة صغيرة مخفية. لا يمكن تمييز ذلك بمجرد قراءة الكلمات أو التأكد من صحة العبارة.
ما يراه المالك
12 كلمة صحيحة، ورمز تحقق سليم، ومحفظة تعمل بشكل طبيعي.
ما يبقى مخفياً
بدأ المولد العشوائي ببيانات غير كافية، فكان بإمكانه إنشاء مجموعة محدودة فقط من العبارات.
ما يستفيده المهاجم
بدلاً من فحص كل العبارات التي يُفترض أن تكون ممكنة، لا يحتاج المهاجم إلا إلى تجربة قائمة صغيرة جداً.
مثال الألف تذكرة هو للتوضيح فقط، وليس تقديراً لمحفظة معينة. العدد الفعلي يعتمد على المولد الضعيف.
حالات فشل حقيقية وأسباب متنوعة
ضعف العشوائية كشف محافظ عديدة أكثر من مرة
هذه الحوادث شملت منتجات وأخطاء متنوعة، لكن الدرس واحد: واجهة المحفظة المقنعة أو العبارة الطويلة لا تعني بالضرورة أن السر غير قابل للتوقع.
Milk Sad / Libbitcoin Explorer
أمر bx seed استخدم مولد Mersenne Twister مع 32 بت فقط من وقت النظام. بدا الناتج عشوائياً، لكن الباحثين تمكنوا من إعادة إنتاج جميع الاحتمالات القليلة وربطوا الثغرة بسرقات حقيقية عبر عدة شبكات بلوكشين.
طول العبارة لا يعوض ضعف العشوائية في البداية.RANDSTORM / BitcoinJS
بعض المحافظ القديمة التي تعمل عبر المتصفح قد تعتمد على عشوائية ضعيفة من JavaScript وبيئة المتصفح. لاحقاً، حذر الباحثون من أن بعض تلك المحافظ ما زالت معرضة للخطر.
المفتاح القديم يظل قديماً حتى بعد تحديث واجهة المحفظة.Android SecureRandom
ثغرة في توليد الأرقام العشوائية في Android عرضت محافظ بيتكوين للخطر. أصدرت الشركات تحديثات، لكن المستخدمين احتاجوا أيضاً إلى عناوين جديدة وتدوير المفاتيح، لأن التحديث لا يمكنه إصلاح المفاتيح الضعيفة السابقة.
إصلاح المولد العشوائي يحمي المفاتيح الجديدة فقط، وليس القديمة.COLDCARD RNG
أنشأت بعض إصدارات COLDCARD عبارات استرداد من نطاق أصغر بكثير من المفترض. وأثبتت الحادثة أن الجهاز المتخصص قد يخطئ أيضاً عندما لا يستفيد مسار الإنشاء الفعلي من مصادره الآمنة بالشكل الصحيح.
وجود جهاز مخصص لا يغني عن فحص كل خطوة تُستخدم فعلياً لإنشاء المفاتيح.اقرأ دليل حادثة COLDCARD بالكاملفحص عملي للمخاطر
متى تستدعي المحفظة القديمة فحصاً أمنياً جدياً؟
لا يمكنك عادة تقييم العبارة بمجرد النظر إلى كلماتها. الأهم هو مكان وزمان وطريقة إنشائها والبرمجيات المستخدمة.
مصدر العبارة السرية غير واضح
لا تعرف أي تطبيق أو موقع أو جهاز أو برمجيات أو إجراء أنشأ العبارة السرية في الأصل.
المحفظة مذكورة في تحذير أمني
تم إنشاء العبارة السرية بواسطة إصدار مذكور في تحذير من الشركة أو CVE أو تقرير بحثي أو إشعار انتقال.
تم استيراد عبارة سرية قديمة إلى محفظة أحدث
استيراد عبارة الاسترداد نفسها إلى محفظة أجهزة جديدة يبدّل الجهاز فقط؛ أما العبارة والمفاتيح المشتقة منها فتبقى كما هي.
قد تكون العبارة السرية أو المفتاح الخاص قد تم كشفهما
ربما أُدخلت العبارة في موقع، أو التُقطت لها صورة، أو حُفظت في خدمة سحابية، أو أُرسلت للدعم، أو اطّلع عليها شخص آخر.
اختر الإجراء المناسب للمخاطر
كيف تتصرف إذا كانت عبارة الاسترداد قديمة أو لا تثق بطريقة إنشائها؟
لا داعي للقلق لمجرد أن المحفظة قديمة. تحقق أولاً من كيفية إنشاء العبارة السرية وما إذا كان المنتج أو الإصدار مذكوراً في تحذير أمني موثوق، ثم تصرف بناءً على الأدلة.
مصدر معروف ولا يوجد مؤشر على التسريب
حافظ على تحديث المحفظة والبرمجيات الثابتة، واحمِ النسخة الاحتياطية، وراقب التحذيرات الأمنية الموثوقة. المحفظة القديمة ليست خطرة تلقائياً.
لا تعرف كيف أُنشئت العبارة، أو أن الإصدار الذي أنشأها ورد في تنبيه أمني
أنشئ عبارة سرية جديدة كلياً باستخدام برنامج أو جهاز غير متأثر. تحقق من النسخة الاحتياطية الجديدة، أرسل مبلغاً صغيراً للاختبار، ثم انقل باقي الرصيد.
قد يعرف شخص آخر العبارة أو المفتاح الخاص
اعتبر الأموال معرضة للخطر. انقلها إلى عناوين جديدة من عبارة سرية حديثة. تغيير رمز الجهاز أو كلمة المرور أو الجهاز نفسه لا يغير المفاتيح المكشوفة.
ما لا يصلح العبارة الضعيفة أو المكشوفة
- استيراد نفس العبارة السرية إلى محفظة عتادية جديدة
- الاكتفاء بتبديل رمز PIN للجهاز أو كلمة مرور تطبيق المحفظة
- تثبيت تحديث دون إنشاء عبارة سرية جديدة
- قطع اتصال الجهاز بعد أن أصبحت العبارة أو المفتاح معروفة
لمطوري المحافظ
اختبر كامل مسار إنشاء المفتاح
وجود خوارزمية آمنة نظرياً لا يكفي. يجب مراجعة المسار الفعلي لإنشاء العبارة بدءاً من مصدر العشوائية، مروراً بالمولد العشوائي، حتى العبارة النهائية، شاملاً البرمجيات الثابتة والمتصفح ونظام التشغيل وسلوك النظام عند الفشل.
- اعتمد على مصادر النظام أو العتاد المخصصة لإنتاج قيم عشوائية مناسبة للتشفير.
- يجب الفشل الآمن عند غياب مصدر العشوائية الآمن؛ لا تستخدم دالة عشوائية عادية دون تنبيه.
- يجب اختبار المنتج كما يصل إلى المستخدم وتتبع مسار التنفيذ الحقيقي، لا الاكتفاء بمراجعة ملفات شيفرة منفردة.
- وثّق طريقة إنشاء العبارات السرية وخطوات انتقال المستخدمين بعد حدوث خلل.
الإفصاحات الأساسية والإرشادات الأمنية
راجع الحوادث والإرشادات التشفيرية
تمت مراجعة الشرح والأمثلة وفقاً لإرشادات NIST، وتقرير Milk Sad، وتنبيه RANDSTORM من Unciphered، وتحذير Bitcoin.org لمحافظ Android، وBitcoin Optech، وأحدث إرشادات أمان المحافظ.
الأسئلة الشائعة
هل يستطيع شخص إنفاق البيتكوين إذا عرف العبارة السرية؟
عادة نعم. العبارة السرية الكاملة تتيح استعادة المفاتيح الخاصة للمحفظة. يمكن للمهاجم استيرادها إلى برنامج أو جهاز آخر وتوقيع المعاملات دون الحاجة لجهازك الأصلي أو رمزه.
هل يتم تخزين البيتكوين فعلياً داخل المحفظة الباردة؟
لا. البلوكشين يسجل البيتكوين، والمحفظة العتادية تحمي المفاتيح التي تسمح بالإنفاق. إذا حصل شخص آخر على نسخة من هذه المفاتيح، لم يعد الجهاز الأصلي هو الوسيلة الوحيدة للتوقيع.
هل التخزين البارد يحمي المفتاح الخاص إذا كان معروفاً؟
لا. التخزين البارد يمنع تسرب المفتاح غير المعروف فقط. إذا عرف شخص آخر المفتاح أو العبارة، يمكنه استخدام نظامه الخاص لإجراء معاملة صالحة.
هل يمكن لتحديث البرمجيات إصلاح عبارة سرية ضعيفة قديمة؟
لا. التحديث قد يصلح إنشاء العبارات الجديدة فقط، ولا يمكنه جعل العبارة القديمة أكثر عشوائية. الحل الآمن هو إنشاء عبارة جديدة ونقل الرصيد لعناوين جديدة.
هل يمكنني معرفة ضعف العبارة بمجرد قراءة كلماتها؟
غالباً لا. العبارة الضعيفة قد تحتوي على عدد الكلمات الصحيح ورمز تحقق سليم. الخطر يعتمد على طريقة ومكان إنشائها، لذا تحقق من التطبيق أو الجهاز أو البرمجيات الأصلية وتاريخ الإنشاء وأي تحذير أمني ذي صلة.
هل تحمي كلمة المرور القوية عبارة استرداد ضعيفة؟
لا. رمز الجهاز أو كلمة مرور التطبيق تحمي فقط من الوصول المحلي، لكنها لا تغير المفاتيح الخاصة المرتبطة بالعبارة السرية. قد تضيف عبارة مرور قوية طبقة سرية إضافية في بعض المحافظ، لكنها ليست حلاً لعبارة سرية ضعيفة.
هل تسريب مفتاح خاص واحد يكشف كامل المحفظة؟
ليس دائماً. المفتاح الخاص يتحكم عادة في الرصيد المرتبط به فقط. أما تسريب العبارة السرية فيتيح استعادة عدة مفاتيح خاصة. مدى التأثير يعتمد على تصميم المحفظة وما تم كشفه تحديداً.
هل يمكن أن تكون العبارة المكونة من 24 كلمة ضعيفة أيضاً؟
نعم، المزيد من الكلمات يعني احتمالات أكثر فقط إذا تم اختيار القيمة الأولية بشكل آمن. المولد الضعيف قد ينتج عبارة من 24 كلمة من مجموعة صغيرة متوقعة.
تابع مع حالة واقعية