یک آسیب پذیری جدید در Systemd کشف شد

systemd
یک آسیب پذیری در systemd پیدا شد که قبلاً در آن شرح داده شده است (CVE-2019-6454)، چی اجازه می دهد تا روند انسداد کنترل (PID1) مسدود شود هنگام ارسال پیام ویژه ساخته شده برای کاربر غیرمرتبط نسبت به D-Bus.

ل توسعه دهندگان Red Hat همچنین امکان استفاده از آسیب پذیری برای سازماندهی اجرای کد با امتیازات ریشه را رد نمی کنند.، اما هنوز احتمال نهایی چنین حمله ای مشخص نشده است.

درباره systemd

برای کسانی که Systemd را نمی دانند می توانم آن را به تو بگویم این یک سیستم شروع اولیه لینوکس و مدیر خدمات است که شامل ویژگی هایی مانند راه اندازی daemon درخواستی ، تعمیر و نگهداری اتوماتیک و نقطه نصب ، پشتیبانی از عکس فوری و ردیابی فرآیند با استفاده از گروه های کنترل Linux است.

Systemd یک daemon رجیستری و سایر ابزارها و برنامه های کاربردی برای کمک به کارهای معمول مدیریت سیستم فراهم می کند. Lennart Poettering و Kay Sievers SystemD را با الهام از macOS راه اندازی شده و Upstart با هدف ایجاد یک سیستم مدرن و پویا نوشتند.

به طور خاص ، systemd قابلیت موازی سازی تهاجمی و منطق کنترل خدمات مبتنی بر وابستگی را فراهم می کند ، اجازه می دهد خدمات به طور موازی شروع شوند و منجر به زمان راه اندازی سریعتر می شوند. این دو جنبه در Upstart وجود داشت ، اما توسط systemd بهبود یافت.

Systemd سیستم بوت پیش فرض برای توزیع های عمده لینوکس است، اما با اسکریپت های راه اندازی SysV سازگار است.

SysVinit یک سیستم مقداردهی اولیه است که مقدم بر systemd است و از یک روش ساده برای شروع سرویس استفاده می کند. Systemd نه تنها مقدار دهی اولیه سیستم را مدیریت می کند ، بلکه گزینه های دیگری را برای سایر برنامه های معروف مانند cron و syslog فراهم می کند.

درباره آسیب پذیری جدید systemd

با دستکاری اندازه پیام ارسالی از طریق D-Bus ، یک مهاجم می تواند اشاره گر را از مرز حافظه اختصاص داده شده برای پشته خارج کند، دور زدن محافظت از "stack guard-page" ، که مبتنی بر جایگزینی یک صفحه حافظه در لبه است که یک استثنا را صدا می کند (خطای صفحه).

حمله موفقیت آمیز در اوبونتو 18.10 با systemd 239 و در CentOS 7.6 با systemd 219 نشان داده شده است.

به عنوان یک راه حل ، می توان از ترکیبات در GCC با گزینه "-fstack-clash-protection" استفاده کرد ، که به طور پیش فرض در Fedora 28 و 29 استفاده می شود.

لازم به ذکر است که در سال 2014 ، نویسنده کتابخانه سیستم MUSL از مهمترین مشکلات معماری سیستم ، تورم بیش از حد PID1 نام برده و امکان اجرای API کنترل کننده سطح PID1 را برای پیوند با گذرگاه زیر سوال برد ، زیرا این یک بردار جدی برای حمله می کند و می تواند بر قابلیت اطمینان کل سیستم تأثیر منفی بگذارد

به گفته یک محقق امنیتی که یک آسیب پذیری را نشان داد ، تغییر نشانگر پشته فقط برای صفحات حافظه استفاده نشده امکان پذیر است (غیر واگذار شده) ، که اجازه سازماندهی اجرای کد را در متن فرآیند PID1 نمی دهد ، اما به یک مهاجم اجازه می دهد تا قفل PID1 را با انتقال بعدی هسته لینوکس به حالت "وحشت" شروع کند (در مورد کنترل کننده PID) 1 خرابی ، کل سیستم آویزان است).

در systemd ، یک سیگنال کنترل کننده نصب شده است که سعی می کند خطاهای فرآیند PID1 را به دام بیندازد (خطای تقسیم بندی) و پوسته را برای بازیابی شروع می کند.

اما از آنجا که در طول حمله ، صفحات حافظه غیر تکثیر شده (تخصیص نیافته) برقرار می شود ، هسته نمی تواند با این کنترل کننده سیگنال تماس بگیرد و فقط با PID 1 روند را خاتمه می دهد ، که به نوبه خود ادامه کار و رفتن به آن غیرممکن است. حالت "وحشت" ، بنابراین نیاز به راه اندازی مجدد سیستم است.

در حال حاضر راه حلی برای این مشکل وجود دارد

مانند هر مشکل امنیتی که قبلاً شرح داده شده و گزارش شده است ، انتشار آن تا زمان حل مشکل امکان پذیر نیست به روزرسانی های وصله آسیب پذیری برای SUSE / openSUSE ، Fedora قبلاً منتشر شده اند ، همچنین برای اوبونتو و بخشی برای دبیان (فقط کشش دبیان).
اگرچه این مشکل در RHEL اصلاح نشده است.


محتوای مقاله به اصول ما پیوست اخلاق تحریریه. برای گزارش یک خطا کلیک کنید اینجا.

4 نظر ، نظر خود را بگذارید

نظر خود را بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخشهای موردنیاز علامتگذاری شدهاند با *

*

*

  1. مسئول داده ها: میگل آنخل گاتون
  2. هدف از داده ها: کنترل هرزنامه ، مدیریت نظرات.
  3. مشروعیت: رضایت شما
  4. ارتباط داده ها: داده ها به اشخاص ثالث منتقل نمی شوند مگر با تعهد قانونی.
  5. ذخیره سازی داده ها: پایگاه داده به میزبانی شبکه های Occentus (EU)
  6. حقوق: در هر زمان می توانید اطلاعات خود را محدود ، بازیابی و حذف کنید.

  1.   جولیوسائو dijo

    این است که systemd تمام اهداف لازم برای تبدیل شدن به یک اسب تروای عظیم را دارد. از فلسفه UNIX "یک کار را انجام دهید و آن را به خوبی انجام دهید" جدا شوید و ما در نهایت هزینه آن را پرداخت خواهیم کرد.

    1.    دیوید نارنجو dijo

      من هم همینطور فکر می کنم…

  2.   پابلو متیلا dijo

    من شخصاً با سیستم راه اندازی کاملاً محافظه کار هستم ، فکر می کنم مانند قدیمی ترین و سنتی ترین کاربران یونیکس سنتی و ابتدایی: I SYSTEM V INIT را ترجیح می دهم یا برای همیشه SYSVINIT سنتی باشم. SYSTEMD (من آن را در LIMUX DEBIAN 8.3 نصب کردم که در THINKPAD T450 باقی مانده است که آنها در مارس 2017 من را دزدیدند) سیستم هرگز من را متقاعد نکرد

  3.   لوئیکس dijo

    systemd SUCKS !!