خانه » اثبات مفهومی (PoC) روت‌کیت Curing در io_uring ، ابزارهای تشخیص تهدید سایبری مبتنی بر فراخوانی سیستم را دور می‌زند

اثبات مفهومی (PoC) روت‌کیت Curing در io_uring ، ابزارهای تشخیص تهدید سایبری مبتنی بر فراخوانی سیستم را دور می‌زند

توسط Vulnerbyt_News
Linux io_uring PoC Rootkit Bypasses System Call-Based Threat Detection Tools گروه والنربایت vulnerbyte

محققان امنیت سایبری نمونه‌ای از یک روت‌کیت با نام Curing ارائه کرده‌اند که با بهره‌گیری از مکانیزم ورودی/خروجی غیرهمگام io_uring در لینوکس، ابزارهای سنتی مانیتورینگ فراخوان‌های سیستمی را دور می‌زند.

io_uring چیست؟

io_uring یک API است که از نسخه ۵.۱ کرنل لینوکس در مارس ۲۰۱۹ معرفی شده است. این رابط از دو بافر حلقه‌ای به نام‌های صف ارسال (SQ) و صف تکمیل (CQ) برای مدیریت غیرهمگام درخواست‌های ورودی/خروجی بین کرنل و برنامه‌های فضای کاربر استفاده می‌کند. این قابلیت امکان اجرای عملیات بدون نیاز به فراخوان‌های سیستمی را فراهم می‌سازد و نقطه کوری در ابزارهای امنیتی زمان اجرای لینوکس ایجاد می‌کند.

Linux io_uring PoC Rootkit Bypasses System Call-Based Threat Detection Tools گروه والنربایت vulnerbyte

روت‌کیت Curing

روت‌کیت Curing با استفاده از io_uring، ارتباط بین سرور فرمان و کنترل (C2) و میزبان آلوده را برقرار می‌کند و دستورات مخرب را بدون ثبت فراخوان‌های سیستمی اجرا می‌نماید. هدف از این کار اثبات این بود که io_uring امکاناتی فراهم می‌کند که می‌توان یک روت‌کیت کامل بر پایه آن ساخت. ویژگی این روت‌کیت، ابزارهای امنیتی وابسته به قلاب‌گذاری(hooking) فراخوان‌های سیستمی، مانند Falco و Tetragon، را در برابر عملیات مبتنی بر io_uring ناکارآمد می‌سازد.

خطرات امنیتی مرتبط با io_uring از مدت‌ها پیش شناخته شده است. در ژوئن ۲۰۲۳، گوگل به دلیل ارائه امکانات برای سوءاستفاده توسط این رابط، استفاده از آن را در سیستم‌های اندروید، ChromeOS و سرورهای تولیدی خود محدود کرد.

برای شناسایی مؤثر تهدیدات مبتنی بر io_uring، ابزارهای امنیتی نیازمند دسترسی به ساختارهای کرنل و زمینه‌های بیشتری فراتر از مانیتورینگ فراخوان‌های سیستمی هستند. رویکردهای سنتی مبتنی بر قلاب‌گذاری مستقیم فراخوان‌های سیستمی، اگرچه دید سریعی فراهم می‌کنند، در برابر مکانیزم‌هایی مانند io_uring که فراخوان‌های سیستمی را حذف می‌کنند، محدودیت‌های قابل‌توجهی دارند.

برای خوانندگان فنی که می‌خواهند خودشان با io_uring کار کنند، یک نمونه کد ساده برای خواندن فایل با io_uring در این لینک ارائه شده است.

توصیه‌های امنیتی

برای مقابله با تهدیدات روت‌کیت Curing، سازمان‌ها باید ابزارهای امنیتی زمان اجرای لینوکس را به‌روزرسانی کنند تا عملیات مبتنی بر io_uring را شناسایی کنند. محدودسازی استفاده از رابط io_uring در کرنل لینوکس، مشابه اقدام گوگل و استقرار راهکارهای مانیتورینگ پیشرفته که فراتر از فراخوان‌های سیستمی عمل می‌کنند، برای حفاظت از زیرساخت‌های حساس توصیه می‌شود.

منابع:

همچنین ممکن است دوست داشته باشید

پیام بگذارید