حملات مبتنی بر Syscall و نقش EDR

2⃣قسمت دوم

این EDR را جدی بگیرید

ادامه از پست قبل

✍️روزبه نوروزی


🔴 چرا این روش خطرناک است؟
زیرا 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های خطرناک در کرنل:

PsSetCreateProcessNotifyRoutine(CallbackFunction);

🔹 نتیجه: اگر یک بدافزار بخواهد 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های مخرب را سخت‌تر می‌کند.

📌 فعال‌سازی ASLR:

Set-ProcessMitigation -Name explorer.exe -Enable BottomUpASLR

جمع‌بندی

حملات مبتنی بر Syscall یکی از روش‌های قدرتمند برای دور زدن آنتی‌ویروس‌ها و اجرای مخفیانه بدافزارها است. مهاجمان با استفاده از Direct Syscall و Process Injection می‌توانند کدهای مخرب را در حافظه اجرا کنند بدون اینکه توسط ابزارهای سنتی شناسایی شوند.

اما EDRهای پیشرفته با روش‌هایی مانند:
✔ Behavioral Analysis برای شناسایی فعالیت‌های غیرعادی
✔ Hook کردن Syscallهای خطرناک
✔ نظارت بر سطح کرنل با Kernel-mode Callbacks
✔ استفاده از Exploit Guard و ASLR

می‌توانند این حملات را شناسایی و متوقف کنند. بنابراین، برای مقابله با حملات مدرن، سازمان‌ها باید از EDRهای پیشرفته استفاده کنند و به‌طور مداوم تحلیل تهدیدات سایبری را انجام دهند.


#من_آموزش_میدهم
#آکادمی_روزبه

Comments

Be the first to add a comment