ثغرة أمنية في PuTTY تسمح باستعادة المفتاح الخاص للمستخدم

يحتوي PuTTY، وهو عميل SSH شائع على نظام التشغيل Windows، على ثغرة أمنية خطيرة (CVE-2024-31497) تسمح بإعادة إنشاء المفتاح الخاص للمستخدم باستخدام خوارزمية NIST P-521 Elliptic Curve ECDSA (ecdsa-sha2-nistp521). لتحديد مفتاح خاص، يكفي تحليل ما يقرب من 60 توقيعًا رقميًا تم إنشاؤها بواسطة المفتاح المسبب للمشكلة.

تظهر الثغرة بدءًا من الإصدار PuTTY 0.68 وتؤثر أيضًا على المنتجات التي تتضمن إصدارات ضعيفة من PuTTY، على سبيل المثال، FileZilla (3.24.1 - 3.66.5)، WinSCP (5.9.5 - 6.3.2)، TortoiseGit (2.4.0.2 -) 2.15.0) والسلحفاةSVN (1.10.0 - 1.14.6). تم إصلاح المشكلة في تحديثات PuTTY 0.81 وFileZilla 3.67.0 وWinSCP 6.3.3 وTortoiseGit 2.15.0.1. بعد تثبيت التحديث، يُنصح المستخدمون بإنشاء مفاتيح جديدة وإزالة المفاتيح العامة القديمة من ملفات المفاتيح المعتمدة الخاصة بهم.

سبب الثغرة الأمنية هو إهمال المطورين، الذين استخدموا ناقل التهيئة (nonce) استنادًا إلى تسلسل عشوائي 521 بت لإنشاء مفتاح 512 بت، ربما معتقدين أن إنتروبيا 512 بت ستكون كافية وأن الـ 9 بتات المتبقية ليست ذات أهمية أساسية. ونتيجة لذلك، في جميع المفاتيح الخاصة التي تم إنشاؤها في PuTTY باستخدام خوارزمية ecdsa-sha2-nistp521، فإن أول 9 بتات من متجه التهيئة تأخذ دائمًا قيمًا صفرية.

بالنسبة لـ ECDSA وDSA، تعد جودة مولد الأرقام العشوائية الزائفة والتغطية الكاملة للمعلمة المستخدمة في حساب المعامل بواسطة البيانات العشوائية ذات أهمية أساسية، نظرًا لأن تحديد حتى عدد قليل من البتات مع معلومات حول متجه التهيئة يكفي للحمل من هجوم لاستعادة المفتاح الخاص بأكمله بشكل تسلسلي. لاستعادة المفتاح بنجاح، يكفي أن يكون لديك مفتاح عام وتحليل عشرات التوقيعات الرقمية التي تم إنشاؤها باستخدام مفتاح المشكلة للبيانات المعروفة للمهاجم. يهدف الهجوم إلى حل مشكلة HNP (مشكلة الرقم المخفي).

يمكن الحصول على التوقيعات الرقمية اللازمة، على سبيل المثال، عندما يتصل المستخدم بخادم SSH الخاص بالمهاجم أو بخادم Git الذي يستخدم SSH كوسيلة نقل. يمكن أيضًا اكتشاف التوقيعات المطلوبة للهجوم إذا تم استخدام المفتاح للتحقق من البيانات التعسفية، على سبيل المثال، التزامات git عند استخدام وكيل Pageant SSH لإعادة توجيه حركة المرور إلى مضيف المطور. من المستحيل الحصول على البيانات اللازمة لاستعادة المفتاح أثناء هجوم MITM، حيث لا يتم نقل التوقيعات في SSH بنص واضح.

تجدر الإشارة إلى أنه تم استخدام استخدام مماثل لمتجهات التهيئة غير المكتملة في PuTTY لأنواع أخرى من المنحنيات الإهليلجية، ولكن بالنسبة للخوارزميات بخلاف ECDSA P-521، فإن تسرب المعلومات الناتج لا يكفي لتنفيذ هجوم استرداد مفتاح العمل. مفاتيح ECDSA ذات الأحجام الأخرى ومفاتيح Ed25519 ليست عرضة للهجوم.

المصدر: opennet.ru