اندرو آیر، بنیانگذار SSLMate و از مدیران لینوکس دریافته که فقط به وسیلهی ۴۸ نویسه از یک قطعه کد میتوان توزیعهای مهم لینوکس را به واسطهی یک نقص در systemd با توقف عملکرد مواجه کرد.
آیر میگوید وقتی دستور زیر توسط هر کاربری اجرا شود، systemd متوف خواهد شد:
«NOTIFY_SOCKET=/run/systemd/notify systemd-notify»
systemd یک سامانهی init است که توسط برخی از توزیعهای لینوکس برای خودآمادهسازی فضای کاربر و همچنین مدیریت همهی فرآیندهای بعد از خود به کار میرود. این سامانه جایگزین یونیکس سیستموی یا سامانهی BSD init است. حرف d در systemd از کلمهی daemon در سامانهیهای یونیکس گرفته شده. این نرمافزار تحت پروانهی عمومی همگانی گنو انتشار یافته است. یکی از هدفهای systemd، متحد کردن تنظیمات پایهای لینوکس و رفتار سرویسها در میان همهی توزیعها است.
بنا به اظهارات آیر، پس از اجرای دستور گفتهشده، شناسهی پروسههای لینوکس در فراخوانی سامانهی pause قرار میگیرد. این موضوع از راهاندازی مجدد سامانه جلوگیری میکند و در نتیجه باعث بیثباتی آن میشود. همهی اینها نتیجهی فرمانی است که آنقدر کوچک است که در یک توییت جای میگیرد. آیر گفت که این شکاف حدود دو سال پیش در systemd ۲۰۹ کشف شد. این اشکال کاملاً جدی است، زیرا به هر کاربر محلی اجازه میدهد تا حملات انسداد سرویس علیه یک مؤلفهی حیاتی سامانه را صورت دهد. دستور systemd فوق پیامی با طول صفر را به سوکت دامنهی یونیکس واقع در /run/systemd/notify میفرستد. PID ۱ پیام را دریافت کرده و مدعی میشود که طول پیام بزرگتر از صفر است و systemd را با مشکل مواجه میسازد.
از آنجاییکه آیر نسبت به این آسیبپذیری هشدار داده، systemd اشکال انسداد سرویس را اصلاح نموده است.
دیگر کارشناسان معتقدند که این آسیبپذیری یک «مسئلهی امنیتی جزئی» است. آنها میگویند که مسألهی امنیتی پیش رو در زمرهی پایینترین طبقات از نظر میزان خطر قرار دارد و فقط منجر به دسترسی محلی و اجرای حملات انسداد سرویس میشود، در عوض هرگز باعث افشای اطلاعات یا تشدید امتیازهای کاربر نمیگردد. آنها بر این موضوع پافشاری دارند که ادعای آیر اشتباه و گمراهکننده است.
سامانههای بیشماری وجود دارند که سعی میکنند از systemd استفاده کنند اما ظرف ۳۰ ثانیه با شکست مواجه میگردند.
در حقیقت سایر محققان شکاف یافتشده توسط آیر را نوعی کاربرد مورد نیاز برای لینوکس برآورد کردهاند.
در جدیدترین پست وبلاگ آیر میخوانیم که کارشناسان در بیان ویژگیهای systemd اغراق میکنند. بهترین چیزی که systemd میتواند ارائه کند یک سندباکس کامل برای نرمافزار است.شما میتوانید دیمن را به عنوان یک کاربر غیرریشه در فضای سامانهی پروندهای محدود با کنترل دسترسی اجباری آغاز کنید.
در سامانههای عامل با قابلیت چندکارگی، یک دیمِن (Daemon) یک برنامه است که به جای اینکه تحت کنترل مستقیم یک کاربر تعاملی باشد، در پسزمینه اجرا میشود. به طور سنتی نام دیمنها با حرف d خاتمه مییابد.
چون سندباکس کردن کل یک برنامه نمیتواند از یک بخش از برنامه مقابل نفوذ به بخش دیگر محفاظت کند، این مسأله باعث ناکارآمدی در تأمین امنیت نرمافزار میشود، که این مشکل در کارگزارها ملموس است.
در سوی مقابل توسعهدهندگان و نویسندگان کتابخانهی musl لینوکس میگویند که خطای systemd که توسط آیر کشف شده یک آسیبپذیری کماهمیت است و بیشتر هشداری برای پیرامون systemd تلقی میگردد. Systemd برای تقسیم به قسمتهای کوچکتر طراحی نشده که شکست و بازیابی آن از نقطهنظر امنیتی و نیز از لحاظ قدرت ممکن باشد.
شما با یک فرآیند یکپارچهی بزرگ سر و کار دارید که در آن اگر یک جنبه ناموفق ظاهر شود کل سامانه سقوط میکند. این یک مشکل بزرگ در زمینهی طراحی است که آیر بدان اشاره داشته است. در واقع یک نقص امنیتی را پیش رو نداریم، بلکه با یک شکاف در طراحی توسعهی سامانه مواجهیم.
منبع: asis
درباره نماد امنیت وب
“نماد امنیت وب” به عنوان یکی از شرکت های پیشتاز در زمینه امنیت نرم افزار و سرویس های تحت وب، با ارائه سرویس های امنیتی برای تمامی کسب و کار ها و دارای نمایندگی شرکت Acunetix (اکوانتیکس) بعنوان محبوب ترین اسکنر امنیتی black box در دنیا، ایمنی وب سایت شما را در مقابل حمله هکر ها تضمین می کند.