OpenSSH در کجا کاربرد دارد و چه اتفاقی برایش افتاده؟
مجموعهابزار OpenSSH که تقریباً حضور همهجانبه دارد. یک پیادهسازی محبوب است از پروتکل SSH است که در بیشتر توزیعهای لینوکسی تجمیع شده؛ همینطور در OpenBSD، FreeBSD، macOS و نیز دستگاههای تخصصی مانند آنهایی که مبتنی بر سیستمعامل Junos هستند به کارگیری شده. از آنجایی که بسیاری از تلویزیونها، زنگهای هوشمند، مانیتورهای کوچک، مدیاپلیرهای شبکهای و حتی یخچالهای پیشرفته بر پایه سیستمهای لینوکسی هستند، OpenSSH در آنها نیز اغلب به کار میرود.
در مجموعه ابزار مدیریت ریموت سیستمهای unix به نام OpenSSH، آسیبپذیریای کشف شده است. این باگ به مهاجم اجازه میدهد تا روی سیستم آلوده کد دلخواه اجرا کرده و به مزایای ریشهای دست پیدا کند. شناسه این آسیبپذیری regreSSHion نام دارد. با توجه به اینکه سرور OpenSSH در بیشتر سیستمعاملها و بسیاری از دستگاههای اینترنت اشیاء و نیز فایروالها تجمیع شده، شرح این آسیبپذیری شبیه به شروع باج افزار واناکرای در سال 2017 است. در عمل، موقعیت پیچیدهتر هم میشود.
چطور regreSSHion را شناسایی کنیم؟
در طول اقدام قانونی تعیین احراز ssh، کاربر محدودیت زمانی برای تکمیل پروسه دارد و پیشفرض آن 120 ثانیه است. اگر این احراز هویت اتفاق نیافتد، سرور sshd به طور ناهمزمانی قابلیت خاص sigalarm را فرامیخواند؛ قابلیتی که کارکردهای مدیریت مموری را در سطح سیستم تحریک میکند. این به روشی ناامن برای اجرای ناهمزمان انجام شد. تحت شرایط خاص و با احتمال کمی، میتواند یک شرط مسابقه را ایجاد کند که منجر به نقض مرزهای حافظه و اجرای کد دلخواه شود. مهاجم برای اکسپلویت این آسیبپذیری، باید حدوداً 10 هزار تلاش احراز به طور متوسط انجام دهد و سیستم تارگت باید بر پایه نسخههای لینوکسی باشد که از GNU C Library (glibc) مانند همه سویههای دبیان استفاده میکنند. علاوه بر این، مهاجمین باید ساختارهای حافظه را متناسب با نسخه خاص glibc و لینوکس تهیه کنند. محققین حمله را روی سیستم لینوکسی 32 بیتی بازتولید کردند اما به لحاظ تئوریک، این امکان هست که اکسپلویت روی سیستمهای 64 بیتی نیز انجام شود البته با نرخ موفقیت پایینتر. پروسه اکسپلویت توسط ASLR[1] کند میشود اما محافظت کامل، صورت نمیگیرد. به طور جالبی، این باگ از قبل توسط تیم OpenSSH در سال 2006 رفع شد؛ وقتی شناسه CVE-2006-5051 را بدان اختصاص دادند.
باگ جدید یک رگراسیون است یعنی ظهور مجدد نقصی از قبل شناساییشده به دلیل برخی. برای همین اسم آسیبپذیری را گذاشتهاند regreSSHion. شناسه CVE-2024-6387 به آن اختصاص دارد.
OpenSSH در ایران
بیش از 20 هزار IP آسیب پذیر به آسیب پذیری CVE-2024-6387 که مربوط به OpenSSH است اخیرا در ایران شناسایی شده است.
این آسیب پذیری بهطور خاص در سرور sshd وجود دارد و امکان اجرای کد از راه دور را فراهم میکند. این آسیبپذیری به دلیل یک race condition در هندلر سیگنال، بهویژه هندلر SIGALRM، ایجاد میشود. مهاجم از راه دور بدون احراز هویت میتواند از این نقص سوءاستفاده کرده و کد دلخواه را با سطح دسترسی root در سیستمهای آسیبپذیر اجرا کند.
و اما راهکارهای امنیتی…
نسخههای OpenSSH تا p1 4.4 به اضافه نسخههای p1 8.5 تا p1 9.7 که روی glibc-Linux اجرا میشوند، آسیبپذیر هستند. سرورهای مبتنی بر OpenBSD مصون هستند؛ پس ادمینهای آنها نفس راحت بکشند. اما هر کس دیگری باید sshd را به نسخه 9.8 به روز کند. اگر به هر دلیلی آپدیت فوری امکانپذیر نبود، ادمینها میتوانند مدت زمان لاگین را روی صفر تنظیم کنند تا کمی پیامدهای منفی به طور موقت کاهش یابد. با این همه، توسعهدهندگان هشدار دادهاند که این سرور SSH را بیشتر در معرض حملات DDoS قرار میدهد. کاهش احتمالی دیگر، کنترل دسترسی سختتر برای SSH است؛ این با استفاده از فایروالها و سایر ابزارهای امنیتی شبکه اجرایی میشود.