🔴 چرا این روش خطرناک است؟ زیرا Syscallها مستقیماً در سطح کرنل اجرا میشوند و در صورت وجود آسیبپذیری، مهاجم میتواند کنترل کل سیستم را به دست بگیرد. چگونه EDR با حملات Syscall مقابله میکند؟ 1. تحلیل رفتار و کشف فعالیتهای مشکوک
این EDRهای پیشرفته مانند Microsoft Defender for Endpoint، CrowdStrike Falcon و SentinelOne از Behavioral Analysis برای شناسایی رفتارهای غیرعادی استفاده میکنند.
✅ روشهای شناسایی:
نظارت بر Syscallهای غیرعادی مانند NtAllocateVirtualMemory و NtWriteVirtualMemory. کشف فرآیندهایی که بدون دلیل خاصی حافظهی اجرایی تخصیص میدهند. تشخیص تغییرات در Handleهای کرنل که ممکن است نشاندهنده یک حمله باشد.
2. این Hook کردن و جلوگیری از اجرای Syscallهای خطرناک
این EDRها میتوانند APIهای مهم را Hook کنند تا رفتار آنها را قبل از اجرا بررسی کنند. اگر فرآیندی مانند notepad.exe ناگهان سعی کند NtCreateThreadEx را اجرا کند، این یک نشانه از حمله است و میتوان آن را مسدود کرد.
📌 نمونه کد Hook برای جلوگیری از اجرای Syscallهای خطرناک در کرنل:
🔹 نتیجه: اگر یک بدافزار بخواهد Syscall را اجرا کند، این Callback اول آن را بررسی میکند. 3. مانیتورینگ در سطح کرنل با Kernel-mode Callbacks
برخی از EDRها مستقیماً در سطح Kernel Mode کار میکنند و اجرای برخی Syscallهای خطرناک را متوقف میکنند.
📌 نمونهای از Syscallهای خطرناک که EDRها رصد میکنند:
NtAllocateVirtualMemory → تخصیص حافظه در فرآیند دیگر NtWriteVirtualMemory → نوشتن در حافظه فرآیند دیگر NtCreateThreadEx → ایجاد رشته در فرآیند دیگر
🔹 مزیت این روش: مقابله با Direct Syscall، حتی اگر مهاجم از تکنیکهایی مانند SysWhispers استفاده کند. 4. استفاده از Exploit Guard و ASLR برای سختتر کردن حملات
✅فناوری Exploit Guard در ویندوز میتواند جلوی اجرای کدهای ناشناخته را بگیرد. ✅ فناوریASLR (Address Space Layout Randomization) باعث میشود آدرسهای حافظه در هر اجرا تغییر کنند، که استفاده از برخی Syscallهای مخرب را سختتر میکند.
حملات مبتنی بر Syscall یکی از روشهای قدرتمند برای دور زدن آنتیویروسها و اجرای مخفیانه بدافزارها است. مهاجمان با استفاده از Direct Syscall و Process Injection میتوانند کدهای مخرب را در حافظه اجرا کنند بدون اینکه توسط ابزارهای سنتی شناسایی شوند.
اما EDRهای پیشرفته با روشهایی مانند: ✔ Behavioral Analysis برای شناسایی فعالیتهای غیرعادی ✔ Hook کردن Syscallهای خطرناک ✔ نظارت بر سطح کرنل با Kernel-mode Callbacks ✔ استفاده از Exploit Guard و ASLR
میتوانند این حملات را شناسایی و متوقف کنند. بنابراین، برای مقابله با حملات مدرن، سازمانها باید از EDRهای پیشرفته استفاده کنند و بهطور مداوم تحلیل تهدیدات سایبری را انجام دهند.