یکی از اصلیترین مسیرهای نفوذ در حملات مدرن، اجرای فایلهای مخرب روی Endpoint (نقطه پایانی) است. حتی با وجود آنتیویروسها و دفاعهای سنتی، مهاجمان از تکنیکهایی مانند Living-Off-the-Land Binaries – LOLBins (سوءاستفاده از ابزارهای داخلی ویندوز)، اجرای کد در حافظه و فایلهای امضاشدهی دستکاریشده استفاده میکنند.
به همین دلیل، سازمانها برای کاهش سطح حمله به سمت Application Whitelisting (لیست سفید برنامهها) حرکت کردهاند؛ رویکردی که اجرای هر برنامه را فقط در صورتی مجاز میکند که از قبل در لیست مجاز تعریف شده باشد.
دو فناوری اصلی ویندوز برای پیادهسازی Application Whitelisting عبارتاند از:
Windows Defender Application Control – WDAC (کنترل اجرای برنامه ویندوز دیفندر)
AppLocker (اپلاکر)
این ابزارها نقش مهمی در Endpoint Hardening (سختسازی نقاط پایانی) دارند و محدودیتهای بسیار جدی برای اجرای برنامههای مخرب یا ناشناخته ایجاد میکنند.
Application Whitelisting چیست؟
در مدلهای سنتی امنیتی، تمرکز بر شناسایی رفتار مخرب (Blacklisting) است؛ اما در Whitelisting، اصل بر عدم اجرای هر نوع فایل است مگر اینکه بهطور مشخص به سیستم معرفی شده باشد.
مزایای اصلی آن:
- جلوگیری از اجرای بدافزارهای ناشناخته
- کاهش سطح حمله برای Ransomware (باجافزار)
- محدودکردن ابزارهای مخرب LOLbins
- افزودن یک لایه Zero Trust به Endpoint
تفاوت WDAC و AppLocker
هر دو ابزار برای کنترل اجرای برنامهها به کار میروند، اما تفاوتهای مهمی دارند.
WDAC – Windows Defender Application Control
در سطح Kernel Mode (سطح هسته) enforce میشود.
امکان دورزدن آن بسیار پایین است.
برای محیطهای با حساسیت بالا مناسب است.
از Code Integrity Policies (سیاستهای یکپارچگی کد) استفاده میکند.
از Hypervisor-Protected Code Integrity – HVCI (یکپارچگی کد محافظتشده با هایپروایزر) پشتیبانی میکند.
برای سازمانهای Enterprise در سناریوهای Zero Trust توصیه میشود.
AppLocker
در سطح User Mode (سطح کاربر) enforce میشود.
توسط Group Policy (سیاست گروهی) مدیریت میشود.
مناسب برای کنترل اجرایی در سازمانهای با پیچیدگی متوسط.
امکان دورزدن آن در برخی سناریوهای پیشرفته وجود دارد.
مکانیزمهای Rule در WDAC و AppLocker
Application Whitelisting در این دو ابزار از چند نوع Rule پشتیبانی میکند:
Publisher Rules
اجازه اجرا بر اساس امضای دیجیتال ناشر (Vendor).
برای مثال:
Microsoft, Adobe, Google
Path Rules
قوانین مبتنی بر مسیر فایل.
مانند:
- C:Program Files
- C:WindowsSystem32
File Hash Rules
قوانین مبتنی بر هش فایل برای کنترل دقیق نسخه خاص یک برنامه.
Script Enforcement
در WDAC اجرای فایلهای:
- PowerShell
- VBScript
- JavaScript
- MSI
- CMD
- DLL
نیز محدود میشود.
نقش WDAC و AppLocker در Endpoint Hardening
Hardening واقعی زمانی محقق میشود که اجرای کدهای ناخواسته کاملاً محدود شود. این ابزارها:
جلوگیری از اجرای مالور
بدافزارهایی که امضا نشدهاند یا در مسیرهای موقت ذخیره شدهاند بلاک میشوند.
مقابله با Ransomware
اجرا و انتشار بدافزار در سیستم قبل از هرگونه رمزگذاری مسدود میشود.
جلوگیری از سوءاستفاده از LOLBins
ابزارهایی مانند:
- powershell.exe
- regsvr32.exe
- mshta.exe
میتوانند فقط در شرایط و نقشهای مشخص اجرا شوند.
کنترل سختگیرانه بر اسکریپتها
WDAC میتواند تمام اسکریپتها را نیازمند Trusted Signing (امضای معتبر) کند.
مراحل استقرار Application Whitelisting در سازمان
1. شناسایی برنامههای موجود
جمعآوری لیست برنامههای قانونی با ابزارهایی مانند:
- Microsoft Endpoint Manager
- Sysmon (سیستم پایش سیستم)
- 2. اجرای WDAC در حالت Audit
سیاست ابتدا در حالت گزارشدهی اعمال میشود تا برنامههایی که بلاک خواهند شد مشخص شوند.
3. تولید Ruleها
بر اساس Publisher، Path و Hash برای برنامههای سازمان.
4. انتشار سیاستها
با استفاده از:
- Group Policy
- Intune
- Configuration Manager
- 5. اعمال سیاست در حالت Enforce
پس از اطمینان کامل از پایداری عملیات.
چالشها و محدودیتهای پیادهسازی
نیاز به شناخت دقیق از برنامههای سازمان
امکان ایجاد اختلال در عملیات در صورت پیکربندی نادرست
پیچیدگی WDAC برای محیطهای بزرگ
نیاز به تیم فنی توانمند برای نگهداری سیاستها
جمعبندی
Application Whitelisting یکی از مؤثرترین روشها برای Endpoint Hardening است. با استفاده از WDAC و AppLocker میتوان اجرای برنامهها و اسکریپتهای غیرمجاز را بهشدت محدود کرد و در برابر حملات پیشرفته، باجافزارها و سوءاستفاده از ابزارهای داخلی ویندوز مقاوم شد.
در معماریهای Zero Trust، این رویکرد یک ستون اصلی محسوب میشود و در کنار ابزارهایی مانند EDR، SIEM و Patch Management ترکیبی قدرتمند برای حفاظت از نقاط پایانی ایجاد میکند.