مقاوم کردن کلاینت های ویندوز در برابر حملات دستکاری حافظه با Exploit Mitigation policy
مطالبی که به آن ها خواهیم پرداخت:
- چگونه Memory Exploit Mitigation از برنامه ها محافظت می کند؟
- انواع حفاظت اکسپلویت
- الزامات کاهش بهره برداری حافظه
- تصحیح و جلوگیری از مثبت کاذب
- یافتن گزارشها و گزارشهای مربوط به رویدادهای کاهش بهرهبرداری حافظه
- حفاظت حسابرسی برای یک برنامه خاتمه یافته
چگونه Memory Exploit Mitigation از برنامه ها محافظت می کند؟
Symantec Endpoint Protection شامل Memory Exploit Mitigation میشود که از تکنیکهای کاهش چندگانه برای توقف تلاشهای سوءاستفاده در برابر آسیبپذیریهای شناخته شده و ناشناخته در نرمافزار استفاده میکند. به عنوان مثال، هنگامی که کاربر سرویس گیرنده برنامه ای مانند اینترنت اکسپلورر را اجرا می کند، یک سوء استفاده ممکن است ،برنامه دیگری را راه اندازی کند که حاوی کدهای مخرب است. برای متوقف کردن اکسپلویت، ماژول Memory Exploit Mitigation یک DLL را به یک برنامه محافظت شده تزریق می کند. پس از اینکه Memory Exploit Mitigation تلاش برای اکسپلویت را شناسایی کرد، یا اکسپلویت را مسدود می کند یا برنامه ای را که اکسپلویت آن را تهدید می کند خاتمه می دهد. Symantec Endpoint Protection یک اعلان به کاربر در رایانه مشتری در مورد شناسایی نشان می دهد و رویداد را در گزارش امنیتی مشتری ثبت می کند.
الزامات انواع حفاظت اکسپلویت
Memory Exploit Mitigation از انواع مختلفی از تکنیکهای کاهش برای مدیریت اکسپلویت استفاده میکند، بسته به اینکه کدام تکنیک برای نوع کاربرد مناسبتر است. برای مثال، هر دو تکنیک StackPvt و RopHeap، اکسپلویت هایی را که به اینترنت اکسپلورر حمله می کنند، مسدود می کنند.
نکته:
اگر ویژگی Microsoft App-V را در رایانه ها فعال باشد ، از فرایندهای Microsoft Office که App-V از آنها محافظت می کند ماژول Memory Exploit Mitigation از آنها محافظت نمی کند.
(کلاینت App-V مؤلفهای است که برنامههای مجازیسازی شده را بر روی دستگاههای کاربر اجرا میکند و به کاربران اجازه میدهد با نمادها و نام فایلها برای شروع برنامههای مجازی تعامل داشته باشند. با شروع ویندوز 10 نسخه 1607، کلاینت App-V به طور خودکار نصب می شود.)
الزامات Memory Exploit Mitigation
الزامات Exploit Mitigation policy ، تنها در صورتی در دسترس است که پیشگیری از نفوذ را نصب کرده باشید. Memory Exploit Mitigation مجموعه ای از امضاهای جداگانه دارد که همراه با تعاریف جلوگیری از نفوذ دانلود می شود. با این حال، می توانید به طور مستقل پیشگیری از نفوذ و کاهش بهره برداری حافظه را فعال یا غیرفعال کنید.
علاوه بر این، باید حداقل یک بار LiveUpdate را اجرا کنید تا لیست برنامه ها در پالیسی Exploit Mitigation policy ظاهر شود. به طور پیش فرض، حفاظت برای همه برنامه هایی که در خط مشی ظاهر می شوند فعال است.
الزامات تصحیح و جلوگیری از مثبت کاذب
گاهی اوقات، Memory Exploit Mitigation ممکن است ناخواسته یک برنامه را در رایانه کاربر خاتمه دهد. اگر تشخیص دهید که رفتار یک برنامه قانونی است و مورد سوء استفاده قرار نگرفته است، تشخیص مثبت کاذب است. برای موارد مثبت کاذب، باید محافظت را غیرفعال کنید تا زمانی که Symantec Security Response رفتار کاهش بهره برداری حافظه را تغییر دهد. جدول زیر مراحل رسیدگی به تشخیص های مثبت کاذب را نشان می دهد.
مراحل یافتن و اصلاح مثبت کاذب
مرحله 1: ببینید کدام برنامه ها به طور غیرمنتظره در رایانه های مشتری خاتمه می یابند.
می توان به روش های زیر متوجه شد که کدام برنامه ها در رایانه کلاینت خاتمه یافته اند:
یک کاربر به شما اطلاع می دهد که یک برنامه اجرا نمی شود.
لاگ Memory Exploit Mitigation یا گزارش لیستی از برنامه ها را که Memory Exploit Mitigation را در رایانه کلاینت خاتمه داده است،از منوی ریپورت را باز کنید.
مقاوم کردن کلاینت های ویندوز در برابر حملات
نکته:
گاهی اوقات تکنیک های Mitigation به دلیل ماهیت اکسپلویت، لاگ تولید نمی کنند.
مرحله 2: محافظت را غیرفعال کنید و تکنیک هایی را که برنامه را خاتمه می دهند بررسی کنید
ابتدا حفاظت را در حداقل ترین سطح غیرفعال کنید تا سایر فرآیندها محافظت شوند. تا زمانی که همه روشهای دیگر را امتحان نکردهاید، Memory Exploit Mitigation را خاموش نکنید تا برنامه اجرا شود.
بعد از هر یک از زیرکارهای زیر، به مرحله 3 بروید.
1- ابتدا، حفاظت را برای برنامه خاصی که تکنیک کاهش خاتمه داده است، بررسی کنید. به عنوان مثال، اگر موزیلا فایرفاکس خاتمه می یافت، می توانید تکنیک SEHOP یا تکنیک HeapSpray را غیرفعال کنید. گاهی اوقات یک تکنیک کاهش به دلیل ماهیت اکسپلویت رویدادهای ثبت را ایجاد نمی کند، بنابراین نمی توانید مطمئن باشید که کدام تکنیک کاهش برنامه را خاتمه داده است. در این مورد، باید هر تکنیکی را که از آن برنامه محافظت میکند، یکی یکی غیرفعال کنید تا زمانی که متوجه شوید کدام تکنیک باعث خاتمه آن شده است.
2- حفاظت حسابرسی برای همه برنامههایی که یک تکنیک کاهش واحد محافظت میکند.
3- حفاظت حسابرسی برای همه برنامه ها، صرف نظر از تکنیک. این گزینه مشابه غیرفعال کردن Memory Exploit Mitigation است، با این تفاوت که سرور مدیریت رویدادهای گزارش را برای شناسایی جمع آوری می کند.
مرحله 3: پالیسی را در رایانه کلاینت به روز کنید و برنامه را دوباره اجرا کنید.
- اگر برنامه به درستی اجرا شود، تشخیص آن تکنیک کاهش مثبت کاذب است.
- اگر برنامه آنطور که شما انتظار دارید اجرا نشود، تشخیص یک نکته مثبت واقعی است.
- اگر برنامه همچنان خاتمه یافت، در سطح محدودی فعال کنید. برای مثال، یک تکنیک کاهش متفاوت یا برای همه برنامههایی که این تکنیک از آنها محافظت میکند، فعال کنید.
مرحله 4: موارد مثبت کاذب را گزارش کنید و محافظت را برای موارد مثبت واقعی دوباره فعال کنید.
برای تشخیص های مثبت کاذب:
1- به تیم امنیتی اطلاع دهید که تشخیص مثبت کاذب بوده است.
2- با تنظیم عملکرد هر تکنیک بر روی No، حفاظت را برای برنامه خاتمه یافته غیرفعال نگه دارید.
3- پس از اینکه Security Response مشکل را حل کرد، با تغییر عملکرد تکنیک به Yes، حفاظت را دوباره فعال کنید.
برای تشخیص های مثبت واقعی:
1- با تغییر عملکرد قانون برای تکنیک کاهش به بله، حفاظت را دوباره فعال کنید.
2- بررسی کنید که آیا نسخه اصلاح شده یا نسخه جدیدتری از برنامه آلوده وجود دارد که آسیب پذیری فعلی را برطرف می کند. پس از نصب برنامه وصلهشده، آن را مجدداً در رایانه مشتری اجرا کنید تا ببینید آیا Memory Exploit Mitigation همچنان برنامه را خاتمه میدهد یا خیر.
یافتن گزارشها و گزارشهای مربوط به رویدادهای Memory Exploit Mitigation
برای یافتن برنامههایی که Memory Exploit Mitigation خاتمه داده است، باید گزارشها را مشاهده کرده و گزارشهای سریع را اجرا کنید.
در کنسول، یکی از اقدامات زیر را انجام دهید:
برای گزارشها، روی Monitors > Logs > Network and Host Exploit Mitigation log type > Memory Exploit Mitigation log content > View Log کلیک کنید.
به دنبال نوع رویداد Blocked Memory Exploit Mitigation بگردید. ستون نوع رویداد mitigation technique را فهرست میکند و ستون Action نشان میدهد که آیا برنامه در ستون نام برنامه مسدود شده است یا خیر.
به عنوان مثال، رویداد ثبت زیر یک حمله Stack Pivot را نشان می دهد:
Attack: Return Oriented Programming Changes Stack Pointer
حفاظت حسابرسی برای یک برنامه خاتمه یافته Memory Exploit Mitigation
هنگامی که نتایج مثبت کاذب را آزمایش می کنید، رفتار Memory Exploit Mitigation را تغییر دهید تا تشخیص را بررسی کند، اما به برنامه اجازه اجرا دهد. با این حال، Memory Exploit Mitigation از برنامه محافظت نمی کند.
برای ممیزی حفاظت برای یک برنامه فسخ شده:
1- در کنسول، Policies > Memory Exploit Mitigation > Memory Exploit Mitigation کلیک کنید.
2- در برگه Mitigation Techniques و در تب Choose a mitigation technique تکنیکی را که برنامه را خاتمه داده است، انتخاب کنید مانند StackPvt.
3-در ستون Protected، برنامه پایان یافته را انتخاب کنید و سپس Default (Yes) را به Log Only تغییر دهید.
بعد از اینکه تأیید کردید که تشخیص مثبت کاذب است، عمل را به خیر تغییر دهید. هر دو Log Only و No اجازه اکسپلویت ممکن را می دهند، اما همچنین اجازه می دهند برنامه اجرا شود. برخی از برنامه ها چندین تکنیک کاهش دارند که اکسپلویت را مسدود می کنند، بنابراین این مرحله را برای هر تکنیک جداگانه دنبال کنید.
4-(اختیاری) یکی از مراحل زیر را انجام دهید و سپس روی OK کلیک کنید:
اگر مطمئن نیستید که کدام تکنیک برنامه را خاتمه داده است، روی انتخاب یک اقدام حفاظتی برای همه برنامه های این تکنیک کلیک کنید. این گزینه تنظیمات مربوط به هر تکنیک را لغو می کند.
اگر ترکیبی از کلاینتهای 14.0.1 و کلاینتهای قدیمی 14 MPx دارید، و فقط میخواهید کلاینتهای 14.0.1 را آزمایش کنید، روی تنظیم کنش حفاظتی برای همه تکنیکها بر روی log only کلیک کنید.
5- (اختیاری) برای آزمایش برنامه بدون توجه به تکنیک، در زبانه Application Rules، در ستون Protected، علامت برنامه پایان یافته را بردارید و سپس روی OK کلیک کنید. برای کلاینت های قدیمی 14 MPx، فقط می توانید از این گزینه استفاده کنید. پس از ارتقا به کلاینتهای نسخه 14.0.1، حفاظت را دوباره فعال کنید و تنظیم دقیقتری را انجام دهید. گزارش وضعیت رایانه را باز کنید تا ببینید کدام کلاینت ها کدام نسخه محصول را اجرا می کنند.
6- در کنسول، Policies > Memory Exploit Mitigation کلیک کنید.
7- تیک Enable Memory Exploit Mitigation را بردارید.
8- روی OK کلیک کنید.
9- در Symantec Endpoint Protection Manager، مطمئن شوید که Symantec Insight فعال است.( Insight به طور پیش فرض فعال است.)
10-ابزار SymDiag را در کامپیوتر مشتری دانلود و اجرا کنید.
11- در صفحه اصلی ابزار SymDiag، روی Collect Data for Support کلیک کنید و برای Debug logging > Advanced، WPP Debug > Trace Level را روی Verbose قرار دهید.
12- تشخیص مثبت کاذب را تکرار کنید.
مطالعه بیشتر:
مقاوم کردن کلاینت های ویندوز در برابر حملات دستکاری حافظه با Exploit Mitigation policy
نحوه حفاظت Symantec Endpoint Protection