بررسی عمیق پایش زمان اجرا با eBPF
ساخت پروبهای امن و فقطخواندنی هسته برای امنیت کانتینرها.
eBPF واقعاً چه امکانی میدهد؟
eBPF برنامههای کوچک و راستیآزماییشده را بدون ماژول هسته یا تغییر هسته، داخل Linux اجرا میکند. پیش از بارگذاری، راستیآزمای درون هسته برنامهای را که ممکن است حلقه بیپایان، خواندن خارج از محدوده یا دسترسی غیرمجاز حافظه داشته باشد رد میکند. همین ویژگی، اتصال کد به مسیرهای پرتکراری مانند مرز فراخوانی سامانه را امن میکند.
ECRSM یک پایشگر آموزشی و فقطخواندنی زمان اجراست که بر این مرز بنا شده: پروبهای eBPF در هسته، عامل Go و داشبورد React. این مجموعه مصنوعی برای آموزش است و EDR عملیاتی نیست؛ هدف، قابلفهمکردن دیدپذیری در سطح هسته است.
نقاط اتصال
ECRSM بهجای kprobe به tracepointهای هسته متصل میشود، چون آنها ABI پایدارتری میان نسخههای هسته دارند:
| Tracepoint | نشانه |
|---|---|
execve | اجرای فرایند؛ نقطه اصلی مشاهده شل معکوس و فایلهای اجرایی مشکوک |
connect | اتصال خروجی، سیگنال دورهای C2 و مقصدهای خروج داده |
ptrace | تزریق به فرایند و اتصال اشکالزدا |
mmap | نگاشت حافظه اجرایی؛ نشانه آمادهسازی شلکد |
مسیر داده
- فضای هسته، برنامه C eBPF در هر tracepoint فعال میشود و فقط فراداده شامل PID، UID،
comm، اندازه argv و نشانی مقصد را به بافر حلقوی کپی میکند. نه محتوای داده و نه اطلاعات محرمانه. - فضای کاربر، عامل Go بافر حلقوی را تخلیه میکند، رویداد را با فراداده کانتینر و Kubernetes مانند pod، namespace و image تکمیل میکند و قواعد سبک را ارزیابی میکند.
- داشبورد، رویدادها با WebSockets به رابط React میرسند؛ در نتیجه فراخوانی هسته در لحظه به یک ردیف روی صفحه تبدیل میشود.
استقرار با Kubernetes DaemonSet و بسته Helm (Helm chart) انجام میشود تا دقیقاً یک پروب روی هر گره اجرا شود.
ایمنی، محور تمام طراحی
نوشتن در هسته میتواند دستگاه را از کار بیندازد. ECRSM هیچگاه این کار را نمیکند:
- بازرسی فقطخواندنی، tracepointها مشاهده میکنند و آرگومان فراخوانی سامانه یا داده بسته را تغییر نمیدهند.
- فقط فراداده، هیچ بایت محتوایی، متغیر محیطی یا محتوای فایل از هسته خارج نمیشود.
- حداقل دسترسی، عامل با
CAP_BPF/CAP_SYS_ADMINو بدون دسترسی اضافه اجرا میشود. - شبیهسازی مصنوعی، حملات نمایشی مانند شل معکوس، تزریق فرایند و اجرای مشکوک، سناریوهای اسکریپتی امن هستند تا تشخیص را بدون نفوذ واقعی یاد بگیرید.
حدود کاربرد
ECRSM یک بستر یادگیری است. امضای تشخیص عرضه نمیکند، چیزی را مسدود نمیکند و مدعی شناسایی مهاجم مصمم نیست. ارزش آموزشی آن، تبدیل مفهوم انتزاعی مشاهدهپذیری هسته به رویدادهای قابل مشاهده روی زیرساختی است که میتوانید پس از آزمایش جمع کنید.