إصدار OpenSSH 8.3 مع إصلاح ثغرة scp

بعد ثلاثة أشهر من التطوير المقدمة الإفراج عن OpenSSH 8.3، تطبيق مفتوح للعميل والخادم للعمل عبر بروتوكولي SSH 2.0 وSFTP.

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

يمكن استخدام هذه الميزة، عند الاتصال بخادم يتحكم فيه مهاجم، لحفظ أسماء الملفات الأخرى والمحتويات الأخرى في FS الخاص بالمستخدم عند النسخ باستخدام scp في التكوينات التي تؤدي إلى الفشل عند استدعاء utimes (على سبيل المثال، عندما تكون utimes محظورة بواسطة سياسة SELinux أو مرشح استدعاء النظام). يُقدر أن احتمال حدوث هجمات حقيقية هو الحد الأدنى، لأنه في التكوينات النموذجية لا يفشل استدعاء utimes. بالإضافة إلى ذلك، لا يمر الهجوم دون أن يلاحظه أحد - عند الاتصال بـ SCP، يظهر خطأ في نقل البيانات.

تغييرات عامة:

  • في sftp، تم إيقاف معالجة الوسيطة "-1"، على غرار ssh وscp، والتي تم قبولها سابقًا ولكن تم تجاهلها؛
  • في sshd، عند استخدام IgnoreRhosts، هناك الآن ثلاثة خيارات: "yes" - تجاهل rhosts/shosts، "no" - احترام rhosts/shosts، و"shosts-only" - السماح بـ ".shosts" ولكن تعطيل ".rhosts"؛
  • يدعم Ssh الآن استبدال %TOKEN في إعدادات LocalFoward وRemoteForward المستخدمة لإعادة توجيه مآخذ توصيل Unix؛
  • السماح بتحميل المفاتيح العامة من ملف غير مشفر بمفتاح خاص إذا لم يكن هناك ملف منفصل بالمفتاح العام؛
  • إذا كان libcrypto متاحًا في النظام، فإن ssh وsshd يستخدمان الآن تنفيذ خوارزمية chacha20 من هذه المكتبة، بدلاً من التنفيذ المحمول المدمج، والذي يتخلف في الأداء؛
  • تم تنفيذ القدرة على تفريغ محتويات القائمة الثنائية للشهادات الملغاة عند تنفيذ الأمر "ssh-keygen -lQf /path"؛
  • تطبق النسخة المحمولة تعريفات الأنظمة التي تقوم فيها الإشارات باستخدام خيار SA_RESTART بمقاطعة عملية التحديد؛
  • تم حل مشكلات البناء على أنظمة HP/UX وAIX؛
  • تم إصلاح المشكلات المتعلقة ببناء وضع الحماية seccomp على بعض تكوينات Linux؛
  • تم تحسين اكتشاف مكتبة libfido2 وحل مشكلات البناء باستخدام خيار "--with-security-key-builtin".

كما حذر مطورو OpenSSH مرة أخرى من التحلل الوشيك للخوارزميات باستخدام تجزئة SHA-1 بسبب ترقية فعالية هجمات الاصطدام ببادئة معينة (تقدر تكلفة اختيار الاصطدام بحوالي 45 ألف دولار). في أحد الإصدارات القادمة، يخططون لتعطيل القدرة على استخدام خوارزمية التوقيع الرقمي للمفتاح العام “ssh-rsa” افتراضيًا، والتي تم ذكرها في RFC الأصلي لبروتوكول SSH وما زالت منتشرة على نطاق واسع في الممارسة العملية (لاختبار الاستخدام من ssh-rsa في أنظمتك، يمكنك محاولة الاتصال عبر ssh باستخدام الخيار "-oHostKeyAlgorithms=-ssh-rsa").

لتسهيل الانتقال إلى خوارزميات جديدة في OpenSSH، سيتم تمكين إعداد UpdateHostKeys في إصدار مستقبلي افتراضيًا، مما سيؤدي تلقائيًا إلى ترحيل العملاء إلى خوارزميات أكثر موثوقية. تتضمن الخوارزميات الموصى بها للترحيل rsa-sha2-256/512 استنادًا إلى RFC8332 RSA SHA-2 (مدعوم منذ OpenSSH 7.2 ويتم استخدامه افتراضيًا)، وssh-ed25519 (مدعوم منذ OpenSSH 6.5)، وecdsa-sha2-nistp256/384/521 المستند إلى على RFC5656 ECDSA (مدعوم منذ OpenSSH 5.7).

اعتبارًا من الإصدار الأخير، تمت إزالة "ssh-rsa" و"diffie-hellman-group14-sha1" من قائمة CASignatureAlgorithms التي تحدد الخوارزميات المسموح بها للتوقيع رقميًا على الشهادات الجديدة، نظرًا لأن استخدام SHA-1 في الشهادات يشكل خطرًا إضافيًا نظرًا لأن المهاجم لديه وقت غير محدود للبحث عن تصادم لشهادة موجودة، في حين أن وقت الهجوم على مفاتيح المضيف محدد بمهلة الاتصال (LoginGraceTime).

المصدر: opennet.ru

إضافة تعليق