Network

امنیت مبتنی بر مجازی سازی (VBS) چیست؟

امنیت مبتنی بر مجازی سازی یا VBS، از ویژگی های مجازی سازی سخت افزار، برای ایجاد و جداسازی یک منطقه امن از حافظه است. ویندوز می‌ تواند از این حالت برای میزبانی تعدادی از راه‌ حل‌ های امنیتی استفاده کند و از آسیب‌ پذیری‌ های سیستم‌ عامل و سوء استفاده های مخرب که حفاظت داده ها را به خطر می اندازد جلوگیری کند. در ادامه به بررسی تعدادی از راه حل های امنیتی می پردازیم:

یکپارچگی حافظه

یکی از راه‌ حل های امنیتی، یکپارچگی کد اعمال‌ شده توسط Hypervisor (HVCI) است که معمولاً به عنوان یکپارچگی حافظه شناخته می‌ شود. این راه حل امنیتی از امنیت مبتنی بر مجازی سازی برای تقویت قابل‌ توجه اجرای سیاست یکپارچگی کد استفاده می‌ کند. یکپارچگی حافظه، همه درایور های حافظه و باینری ها را قبل از راه اندازی بررسی می کند و از بارگیری درایور های بدون امضا یا فایل های سیستم در حافظه سیستم جلوگیری می کند.

VBS از hypervisor ویندوز برای ایجاد این حالت امن مجازی و اعمال محدودیت هایی که از منابع حیاتی سیستم و سیستم عامل محافظت می کند استفاده می کند، یا برای محافظت از دارایی های امنیتی مانند اعتبار کاربری تأیید شده. با افزایش حفاظت های ارائه شده توسط VBS، حتی اگر بدافزار به هسته سیستم عامل دسترسی پیدا کند، سوء استفاده های احتمالی را می توان تا حد زیادی محدود کرد. زیرا hypervisor می تواند بدافزار را از اجرای کد یا دسترسی به اطلاعات پلتفرم ها محدود کند.

راه حل امنیتی یکپارچگی کد، برنامه‌ ها را قبل از بارگیری بررسی می‌ کند و فقط فایل‌ های اجرایی را باز می‌ کند که توسط امضاکنندگان شناخته شده و مورد تأیید آن ها هستند. HVCI از VBS برای اجرای سرویس یکپارچگی کد از طریق یک محیط امن استفاده می کند و محافظت قوی تری در برابر ویروس ها و بد افزار ها ارائه می دهد. Hypervisor، بهترین سطح نرم افزار سیستم و مجوز های صفحه را در تمام حافظه سیستم تنظیم و اجرا می کند. صفحات فقط پس از بررسی یکپارچگی کد در منطقه امن قابل اجرا هستند. به این ترتیب، حتی اگر آسیب‌ پذیری‌ هایی مانند حملات سرریز بافر وجود داشته باشد که به بدافزار اجازه می‌ دهد حافظه را تغییر دهد، صفحات کد را نمی‌ توان تغییر داد و حافظه اصلاح‌ شده را نمی‌ توان اجرایی کرد.

برای این کار VBS نیاز دارد که اجزای زیر وجود داشته باشند و به درستی پیکر بندی شوند:

نیاز سخت افزاریجزئیات
CPU 64 bitامنیت مبتنی بر مجازی سازی به hypervisor ویندوز نیاز دارد که فقط در پردازنده های 64 بیتی IA با پسوند مجازی سازی Intel VT-X و AMD-v پشتیبانی می شود.
ترجمه آدرس سطح دوم (SLAT)VBS همچنین مستلزم آن است که پشتیبانی مجازی سازی پردازنده شامل ترجمه آدرس سطح دوم (SLAT) باشد.
IOMMUs SMMUs (Intel VT-D, AMD-Vi, Arm64 SMMUs)همه دستگاه‌ های ورودی یا خروجی دارای قابلیت DMA باید پشت یک IOMMU یا SMMU باشند. یک IOMMU می تواند برای افزایش انعطاف پذیری سیستم در برابر حملات حافظه استفاده شود.
ماژول پلتفرم TPM 2.0TPM ها در هر حالتی کافی خواهند بود.
پشتیبانی از سیستم عامل برای محافظت از SMMسخت‌ افزار سیستم باید به استاندارد های SMM پایبند باشد. مشخصات WSMT حاوی جزئیات جدول ACPI است که برای استفاده با سیستم عامل های ویندوز که از ویژگی های امنیتی مبتنی بر مجازی سازی ویندوز (VBS) پشتیبانی می کنند، ایجاد شده است. سخت‌ افزار باید حفاظت‌ های توصیف‌ شده در مشخصات WSMT را پیاده‌ سازی کند و پرچم‌ های حفاظتی مربوطه را همان طور که در مشخصات توضیح داده شده است، تنظیم کند تا مطابقت با این الزامات را به سیستم عامل گزارش دهد.
حافظه UEFIسخت‌ افزار UEFI باید فرمت گزارش‌ دهی نقشه حافظه و دستور العمل‌ های تخصیص حافظه را رعایت کند تا سیستم‌ از سازگاری با VBS اطمینان حاصل کند.
UEFI برای اطمینان از سازگاری با VBS، باید محدوده‌ های حافظه زمان اجرا EFI را برای کد و داده‌ ها جدا کند و این را به سیستم عامل گزارش دهد. تفکیک و گزارش مناسب محدوده‌ های حافظه زمان اجرا EFI به VBS اجازه می‌ دهد تا محافظت‌ های صفحه لازم را در صفحات، زمان اجرا EFI در منطقه امن VBS اعمال کند. انتقال این اطلاعات به سیستم عامل با استفاده از EFI_MEMORY_ATTRIBUTES_TABLE انجام می شود. برای پیاده سازی UEFI MAT، دستورات زیر را دنبال کنید:
1. تمام ویژگی های مناسب برای صفحات EfiRuntimeServicesData و EfiRuntimeServicesCode باید علامت گذاری شوند.
2. این محدوده ها باید روی مرز های صفحه تراز شوند و نمی توانند همپوشانی داشته باشند.
3. محافظت از صفحه EFI، همه ورودی ها باید دارای ویژگی هایEFI_MEMORY_RO، EFI_MEMORY_XP یا هر دو باشند. تمام حافظه های UEFI که قابل اجرا هستند باید فقط خوانده شوند. حافظه قابل نوشتن نباید قابل اجرا باشد.
درخواست بازنویسی حافظه (MOR)Secure MOR v2 برای محافظت از تنظیم قفل MOR با استفاده از یک متغیر امن UEFI بهبود یافته است. این امکان به محافظت در برابر حملات حافظه پیشرفته کمک می کند.
درایور های سازگار با کد Hypervisor (HVCI).اطمینان حاصل کنید که همه درایور های سیستم تست شده و تایید شده اند که با HVCI سازگار هستند. چهار مرحله برای تأیید سازگاری درایور وجود دارد:

1. از تأیید کننده درایور با Code Integrity استفاده کنید.
2. تست Hypervisor Code Integrity Readiness را در HLK اجرا کنید.
3. درایور را روی سیستمی که در آن VBS و HVCI فعال است تست کنید. این مرحله ضروری است، زیرا ابزار های تجزیه و تحلیل کد استاتیک به سادگی قادر به تشخیص همه موارد نقض HVCI در زمان اجرا نیستند.
4. از ابزار DGReadiness استفاده کنید.

لطفا توجه داشته باشید که TPM ضروری نیست، اما بهتر است که آن را پیاده سازی کنید.

منبع: microsoft.com

منتشر شده توسط
F.Sahraeian
برچسب‌ها: VBSامنیت