چگونه EDRها در لینوکس کار میکنند: تمرکز بر Kernel Probes و نظارت بر Syscallها
در دنیای امنیت سایبری امروز، ابزارهای Endpoint Detection and Response (EDR) نقش حیاتی در حفاظت از سیستمها ایفا میکنند. EDRها سیستمهایی پیشرفته هستند که فراتر از آنتیویروسهای سنتی عمل کرده و بر تشخیص real-time تهدیدات، جمعآوری دادهها و پاسخ خودکار تمرکز دارند. این ابزارها، مانند CrowdStrike Falcon، Microsoft Defender for Endpoint یا SentinelOne، با نظارت مداوم بر فعالیتهای endpoint (مانند سرورها و دسکتاپها) کار میکنند تا نشانههای نفوذ (Indicators of Compromise یا IOC) را شناسایی کنند. اما چگونه این نظارت عمیق انجام میشود؟
یکی از کلیدیترین مکانیسمها، استفاده از kernel probes است که اجازه میدهد EDRها مستقیماً به لایههای پایین سیستمعامل نفوذ کنند. مقولهKernel probes، مانند kprobes یا eBPF (extended Berkeley Packet Filter) در لینوکس، ابزاری قدرتمند برای تزریق کدهای نظارتی به نقاط خاصی از کرنل هستند. این probes بدون تغییر کد اصلی کرنل، رویدادها را رهگیری میکنند.
برای مثال، EDRها میتوانند probes را روی syscallهایی مانند keyctl_add_key قرار دهند. این syscall بخشی از زیرسیستم keyring در کرنل لینوکس است که برای افزودن کلیدها یا دادههای حساس به ساختارهای حافظهای volatile استفاده میشود. مهاجمان اغلب از keyring برای مخفیکردن payloadهای مخرب (مانند backdoorها) بهره میبرند، زیرا این دادهها روی دیسک ذخیره نمیشوند و با ریبوت سیستم پاک میشوند. وقتی EDR یک probe روی keyctl_add_key تنظیم میکند، هر بار که این syscall فراخوانی شود، EDR میتواند پارامترها (مانند نوع کلید، محتوای آن و فرآیند فراخواننده) را ضبط کند. این دادهها به سرور مرکزی EDR ارسال شده و با الگوریتمهای یادگیری ماشین یا قوانین رفتاری تحلیل میشوند. مثلاً اگر یک فرآیند مشکوک (مانند یک shell script مخرب) سعی کند دادهای رمزنگاریشده را به keyring اضافه کند، EDR میتواند آن را بهعنوان فعالیت غیرعادی تشخیص دهد و هشدار دهد یا حتی فرآیند را قرنطینه کند. این رویکرد مشابه “rootkitهای قانونی” است، زیرا EDRها با hooking syscallها و نظارت بر حافظه کرنل، عملاً رفتار مهاجمان را تقلید میکنند اما برای اهداف دفاعی.
علاوه بر probes، EDRها از تکنیکهای دیگری مانند user-space hooking، log aggregation و behavioral analytics استفاده میکنند. برای نمونه، در سناریوی حمله به keyring، EDR میتواند با ترکیب دادههای syscall با لاگهای شبکه یا فایلها، یک زنجیره حمله کامل را بازسازی کند. این قابلیتها EDRها را برای محیطهای پیچیده مانند سرورهای ابری یا سیستمهای IoT ایدهآل میسازد. با این حال، چالشهایی وجود دارد: تنظیم نادرست probes میتواند عملکرد سیستم را کاهش دهد یا حتی با بهروزرسانیهای کرنل تداخل ایجاد کند. علاوه بر این، مهاجمان پیشرفته ممکن است تکنیکهایی برای دورزدن probes (مانند استفاده از syscallهای جایگزین) بهکار گیرند. در نهایت، EDRها مرز بین تشخیص و پاسخ را کمرنگ کرده و شکارچیهای تهدید را توانمند میسازند تا نفوذهای نامرئی را کشف کنند. با پیشرفت فناوریهایی مانند eBPF، آینده EDRها روشنتر از همیشه است.