آسیب پذیری regreSSHion در OpenSSH

آسیب پذیری regreSSHion در OpenSSH

یک آسیب‌پذیری جدید به مهاجمان راه دور اجازه می‌دهد تا از امتیازات روت در سرورهای لینوکس استفاده کنند. چقدر آسان است که CVE-2024-6387 مورد سوء استفاده قرار گیرد! چگونه می توان از آن جلوگیری کرد؟

یک آسیب‌پذیری در OpenSSH، مجموعه‌ای از ابزارهای محبوب برای مدیریت از راه دور سیستم‌های *nix کشف شده است. این باگ به یک مهاجم تایید نشده اجازه می دهد تا کد دلخواه را روی سیستم آسیب دیده اجرا کند و امتیازات روت را به دست آورد. این آسیب‌پذیری regreSSHion نام داشت و شناسه CVE-2024-6387 را به آن اختصاص داد. با توجه به اینکه sshd، سرور OpenSSH، در اکثر سیستم‌عامل‌ها و بسیاری از دستگاه‌های IoT و همچنین فایروال‌ها ادغام شده است، شرح این آسیب‌پذیری به نظر شروع یک اپیدمی جدید در مقیاس WannaCry و Log4Shell است. در عمل، وضعیت تا حدودی پیچیده تر است. بهره برداری گسترده از این آسیب پذیری بعید است. با این وجود، همه مدیران سرور که از OpenSSH استفاده می کنند باید فوراً این آسیب پذیری را برطرف کنند.

جایی که OpenSSH استفاده می شود

مجموعه ابزار OpenSSH تقریباً در همه جا وجود دارد. این یک پیاده سازی محبوب از پروتکل SSH (پوسته ایمن) است و در اکثر توزیع های لینوکس، OpenBSD و FreeBSD، macOS، و همچنین دستگاه های تخصصی مانند دستگاه های مبتنی بر سیستم عامل Junos ادغام شده است. از آنجایی که بسیاری از تلویزیون‌ها، زنگ‌های درب هوشمند، نمایشگرهای کودک، پخش‌کننده‌های رسانه شبکه و حتی جاروبرقی‌های روباتیک مبتنی بر سیستم‌های لینوکس هستند، OpenSSH اغلب در آنها نیز استفاده می‌شود. با شروع ویندوز 10، OpenSSH در سیستم عامل های مایکروسافت نیز موجود است، اگرچه یک جزء اختیاری است که به طور پیش فرض نصب نشده است. اغراق نیست اگر بگوییم sshd روی ده ها میلیون دستگاه اجرا می شود.

چگونه می توان آسیب پذیری regreSSHion را فعال کرد؟

در طی یک تلاش برای احراز هویت SSH، کاربر یک محدودیت زمانی برای تکمیل فرآیند دارد که تنظیم پیش‌فرض آن 120 ثانیه است. اگر احراز هویت اتفاق نیفتد، سرور sshd به طور ناهمزمان تابع خاص “sigalarm” را فراخوانی می کند که به نوبه خود توابع مدیریت حافظه در سطح سیستم را فراخوانی می کند. این به روشی ناامن برای اجرای ناهمزمان انجام شد. تحت شرایط خاص و با احتمال کمی، این می تواند یک شرط مسابقه را ایجاد کند که منجر به نقض مرزهای حافظه و اجرای کد دلخواه شود.

برای سوء استفاده از این آسیب‌پذیری، مهاجم باید به طور متوسط تقریباً 10000 بار تلاش کند و سیستم هدف باید بر اساس نسخه‌های لینوکس با استفاده از کتابخانه گنو سی (glibc)، مانند همه انواع دبیان، باشد. علاوه بر این، مهاجمان باید ساختارهای حافظه را متناسب با نسخه خاص glibc و لینوکس آماده کنند. محققان حمله به سیستم‌های لینوکس 32 بیتی را بازتولید کرده‌اند، اما از نظر تئوری، امکان بهره‌برداری در سیستم‌های 64 بیتی نیز وجود دارد – البته با میزان موفقیت کمتر. Address Space Layout Randomization (ASLR) روند بهره برداری را کند می کند اما محافظت کاملی را ارائه نمی دهد.

جالب اینجاست که این باگ قبلاً توسط تیم OpenSSH در سال 2006 رفع شده بود، زمانی که CVE-2006-5051 به آن اختصاص داده شد. بنابراین، اشکال جدید یک رگرسیون است – ظاهر شدن مجدد یک نقص از قبل شناخته شده به دلیل برخی تغییرات ایجاد شده در کد. این همان جایی است که نام آسیب پذیری جدید، regreSSHion، از اینجا آمده است.

احتمال استفاده از CVE-2024-6387

این آسیب پذیری توسط محققان کشف شد و به طور مسئولانه در اختیار تیم توسعه قرار گرفت. بنابراین، بهره برداری فوری بعید است. علاوه بر این، پیچیدگی های فنی که در بالا توضیح داده شد، بهره برداری انبوه را غیرعملی می کند. ده هزار تلاش برای احراز هویت با تنظیمات استاندارد OpenSSH برای هر سرور شش تا هشت ساعت طول می کشد. علاوه بر این، شخص باید بداند سرور در حال اجرا کدام نسخه لینوکس است. اگر سرور در برابر حملات brute force و DDoS محافظتی داشته باشد، این اقدامات احتمالاً حمله را مسدود می کند.

با وجود همه اینها، بهره برداری هدفمند کاملاً ممکن است. مهاجمان بیمار می توانند شناسایی انجام دهند و سپس از IP های مختلف تلاش هایی با فرکانس پایین انجام دهند و دیر یا زود ممکن است موفق شوند.

چگونه از سرورهای خود در برابر سوء استفاده محافظت کنیم

نسخه های OpenSSH تا 4.4p1، به علاوه نسخه های 8.5p1 تا 9.7p1 که بر روی glibc-Linux اجرا می شوند، آسیب پذیر هستند. سرورهای مبتنی بر OpenBSD تحت تأثیر قرار نمی‌گیرند، بنابراین مدیران آن‌ها می‌توانند راحت‌تر نفس بکشند. با این حال، بقیه باید sshd را به نسخه 9.8 به روز کنند.

اگر به دلایلی به‌روزرسانی فوری امکان‌پذیر نباشد، مدیران می‌توانند مدت زمان ورود به سیستم را روی صفر تنظیم کنند (LoginGraceTime=0 در sshd_config) به عنوان یک کاهش موقت. با این حال، توسعه دهندگان هشدار می دهند که این باعث می شود سرور SSH در برابر حملات DDoS مستعدتر شود.

کاهش احتمالی دیگر، کنترل دسترسی سخت‌گیرانه‌تر برای SSH است که با استفاده از فایروال‌ها و سایر ابزارهای امنیتی شبکه اجرا می‌شود.

پیام بگذارید

آدرس ایمیل شما منتشر نخواهد شد.