Virtualization-based security (VBS) เป็นเทคโนโลยีที่สร้างนามธรรม (abstract) กระบวนการคอมพิวเตอร์ออกจากระบบปฏิบัติการ (OS) ที่อยู่ด้านล่าง และในบางกรณี ฮาร์ดแวร์ มันแยกกระบวนการเหล่านี้จากกันและกัน ด้วยเป้าหมายเพื่อปกป้องระบบปฏิบัติการและอุปกรณ์จากมัลแวร์และการโจมตีอื่นๆ
VBS เป็นแนวคิดในการสร้างสภาพแวดล้อมเสมือนที่แยกต่างหาก และบังคับใช้ข้อจำกัดบางอย่าง เพื่อปกป้องทรัพยากรระบบและโซลูชันความปลอดภัย (เช่น ข้อมูลล็อกอินผู้ใช้) จากช่องโหว่ใน OS และการขจัดประโยชน์เช่นมัลแวร์ สภาพแวดล้อมที่แยกต่างหากคือส่วนหนึ่งของหน่วยความจำหลักที่แยกจาก OS ส่วนที่เหลือ มันยังเป็น "root of trust" ของ OS
VBS พึ่งพา Windows hypervisor ในการสร้างสภาพแวดล้อมที่แยกต่างหาก Hypervisor สมมติว่า Windows อาจถูกคุกคาม เช่น โดยรหัสอันตราย จากสมมติฐานนี้ มันมุ่งปกป้องทรัพยากรระบบสำคัญ โดยเปิดใช้งาน hardware virtualization และสร้าง virtual machines (VMs) ที่โฮสต์กระบวนการระบบและจัดเก็บข้อมูลของพวกเขา แทนที่จะรันกระบวนการเหล่านั้นโดยตรงบน OS ของคอมพิวเตอร์ ข้อสมมติฐานของ VBS คือ หากกระบวนการหรือแอปพลิเคชันที่แยกต่างหากถูกโจมตี การโจมตีนั้นไม่สามารถแพร่กระจายออกนอก VM ได้ โจมตีไม่สามารถใช้ช่องโหว่ในกระบวนการหนึ่งเพื่อขโมยข้อมูลจากแอปพลิเคชันอื่น หรือควบคุมคอมพิวเตอร์ทั้งเครื่องด้วย ransomware ได้
Virtualization-based security ใน Windows คืออะไร?
Microsoft เริ่มรวม virtualization-based security ใน Windows 10 พร้อมกับการนำเสนอ Windows Defender Device Guard และ Credential Guard Device Guard และ Credential Guard ใช้ Virtual Secure Mode (VSM) คุณสมบัติเฉพาะของ VBS ใน Windows 10 VSM ใช้ Microsoft Hyper-V hypervisor ที่ติดตั้งโดยตรงบนฮาร์ดแวร์คอมพิวเตอร์ เพื่อรันกระบวนการเฉพาะและจัดเก็บข้อมูลของพวกเขาอิสระจากระบบปฏิบัติการ
Device Guard เป็นชุด 3 ฟีเจอร์: Configurable Code Integrity, VSM Protected Code Integrity และ Platform and UEFI Secure Boot ที่ป้องกัน untrusted code ไม่ให้รันบนเครื่อง Windows 10 ฟีเจอร์เหล่านี้รับรองว่าเฉพาะ trusted code และ firmware ที่ลงนามและตรวจสอบแล้วเท่านั้นที่รันบนคอมพิวเตอร์ และอนุญาตให้ IT admins แยกกระบวนการเฉพาะสำหรับชั้นป้องกันเพิ่มเติม Credential Guard ใช้ VSM เพื่อแยกและรักษาความปลอดภัย user logins, รหัสผ่าน และข้อมูลการตรวจสอบสิทธิ์อื่นๆ เพื่อป้องกันการเข้าถึงโดยไม่ได้รับอนุญาต
VBS รองรับใน Windows ทุกเวอร์ชันตั้งแต่ Windows 10 และ Windows Server 2016 Windows 11 ก็รองรับ VBS ใน Windows 11 VBS และฟีเจอร์ความปลอดภัยสำคัญเช่น memory integrity เปิดใช้งานโดยค่าเริ่มต้น คล้าย Windows 10 VBS ใน Windows 11 สร้างส่วนหน่วยความจำที่แยกต่างหาก ที่จัดเก็บโซลูชันความปลอดภัยต่างๆ อย่างปลอดภัย สภาพแวดล้อมนี้ทำหน้าที่เป็น root of trust สำหรับ OS VBS รับรองว่าเฉพาะทรัพยากรที่อยู่ภายในสภาพแวดล้อมนี้เท่านั้นที่เชื่อถือได้
ทรัพยากรและโซลูชันความปลอดภัยที่ VBS ปกป้อง
VBS และ Windows hypervisor มุ่งปกป้องทรัพยากรระบบและ OS หลายอย่าง รวมถึงโซลูชันความปลอดภัย หนึ่งในนั้นคือ model-specific registers (MSRs) MSRs เป็นควบคุม registers ในโปรเซสเซอร์ที่ใช้ทั่วไปสำหรับ debugging, performance monitoring และควบคุมพฤติกรรมบางอย่างของโปรเซสเซอร์
การคุกคาม MSRs และเปลี่ยนการตั้งค่าที่พวกเขาควบคุม อาจคุกคามระบบทั้งหมด เมื่อเกิดขึ้น พฤติกรรมระบบอาจเปลี่ยนแปลงอย่างไม่พึงประสงค์ หรือ threat actor อาจได้รับการเข้าถึงโดยไม่ได้รับอนุญาตไปยังระบบหรือสินทรัพย์ความปลอดภัย
เพื่อป้องกันปัญหาเหล่านี้ Hypervisor ใช้ VBS ด้วย VBS Hypervisor:
- ตรวจสอบและควบคุมการเข้าถึง MSRs ทั้งหมด
- อนุญาตให้ kernel mode code เข้าถึงเฉพาะ MSRs ที่รู้จักว่าปลอดภัย
- บล็อกการเข้าถึง MSRs ที่ไม่รู้จัก (ตามมุมมองของ hypervisor)
- Flag กรณีที่พยายามเข้าถึง MSRs ที่ถูกบล็อก โดยบันทึก event ไปที่ Windows System log ใน Event Viewer
VBS ยังปกป้อง authenticated user credentials และโค้ดที่รับผิดชอบ Windows security โดยวางไว้ในสภาพแวดล้อมเสมือนที่ปลอดภัย
Virtualization-based security และ memory integrity
Memory integrity เป็นฟีเจอร์ VBS ใน Windows OS เมื่อ hypervisor สร้างสภาพแวดล้อมเสมือนที่แยกต่างหาก memory integrity รัน kernel mode code integrity ภายในสภาพแวดล้อมนี้ เพื่อป้องกัน untrusted drivers หรือ system files ไม่ให้โหลดเข้า system memory ดังนั้นจึงปกป้อง OS และป้องกันมัลแวร์ไม่ให้คุกคาม Windows kernel
Memory integrity ยังรับรองว่า kernel memory pages ทำงานเฉพาะหลังจากผ่าน code integrity checks ภายใน secure runtime environment เพิ่มเติม มันป้องกันไม่ให้ executable code pages ถูกแก้ไข และ modified memory ไม่ให้ถูก execute นี่คือวิธีที่มันจำกัด kernel memory allocations และป้องกันไม่ให้ระบบถูกคุกคาม
ข้อกำหนดในการรัน VBS ใน Windows
เพื่อเปิดใช้งานและรัน VBS ใน Windows ต้องกำหนดค่าคอมโพเนนต์บางอย่างให้ถูกต้อง สำคัญที่สุดคือ Windows hypervisor โปรเซสเซอร์ต้องรองรับ virtualization พร้อม second-level address translation
เพิ่มเติม: อุปกรณ์ I/O ที่รองรับ DMA ทั้งหมดต้องอยู่เบื้องหลัง Input-Output Memory Management Unit และ firmware ระบบทั้งหมดต้องแข็งแกร่ง System Management Mode code ตาม Windows SMM Security Mitigation Table (WMST) UEFI firmware ทั้งหมดต้องแยกและรายงาน EFI runtime memory ranges สำหรับโค้ดและข้อมูล และรวม EFI page protections (เช่น executable UEFI memory ต้องเป็น read-only และ writable memory ต้องไม่ executable)
ข้อกำหนทสำคัญอีกอย่าง: system drivers ทั้งหมดต้องทดสอบเพื่อให้แน่ใจว่ารองรับ memory integrity Secure Memory Overwrite Request revision 2 ต้องนำไปใช้เพื่อป้องกันระบบจาก advanced memory attacks
สุดท้าย Microsoft แนะนำ (แต่ไม่บังคับ) ให้ implement Trusted Platform Module เพื่อให้ hardware-based security
วิธีตรวจสอบว่า VBS เปิดใช้งานใน Windows 10 หรือ 11
ใน Windows 10 และ 11 VBS ปกติเปิดใช้งานโดยค่าเริ่มต้น แต่แอดมินยืนยันได้โดย:
- ค้นหาแอป System Information ใน Windows search
- เปิดแอป
- เลื่อนลงไปที่แถว "Virtualization-based security"
- ถ้าระบุ "running" แสดงว่า VBS เปิดใช้งาน
วิธีปิดใช้งาน VBS/HVCI ใน Windows 10 หรือ 11
แม้มีประโยชน์ด้านความปลอดภัย แต่การเปิด VBS ใน Windows 10 และ 11 อาจทำให้ประสิทธิภาพระบบช้าลง การปิดฟีเจอร์นี้อาจปรับปรุงประสิทธิภาพได้ แม้จะต้องแลกกับการเปิดโอกาสให้โซลูชันความปลอดภัยถูกคุกคามจากช่องโหว่และการขจัดประโยชน์
ขั้นตอนปิดใช้งาน VBS/HVCI
- ค้นหา "Core Isolation" ใน Windows search หรือเปิดจาก System Settings
- ปิด Memory Integrity (ถ้าเปิดอยู่)
- Restart ระบบ
- เปิดแอป System Information
- เลื่อนลงไปที่แถว "Virtualization-based security"
- ถ้าระบุ "not enabled" แสดงว่า VBS ปิดใช้งานแล้ว
ถ้า VBS ยังเปิดอยู่ ต้องปิดจาก system registry (ต้องการ admin access และประสบการณ์):
- เปิดและรัน regedit เพื่อเปิด registry editor
- ไปที่โฟลเดอร์ Computer\HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\DeviceGuard
- เปิดไฟล์ชื่อ EnableVirtualizationBasedSecurity ตั้งค่าเป็น 0
- ปิด regedit
- Restart PC
- ยืนยันใน System Information app ว่า VBS ปิดใช้งานแล้ว
เรียนรู้เพิ่มเติมเกี่ยวกับฟีเจอร์ Windows virtualization-based security และสิ่งที่ควรคำนึงถึงเมื่อรักษาความปลอดภัยสภาพแวดล้อมเสมือน สำรวจวิธีเปิดใช้งาน Windows Defender Device Guard และเปรียบเทียบ endpoint detection and response tools สำหรับ Windows Server