ใน Windows 10 Enterprise (เฉพาะ edition นี้เท่านั้น) มีคอมโพเนนต์ Hyper-V ใหม่ปรากฏขึ้น – Virtual Secure Mode (VSM) VSM เป็น protected container (virtual machine) ที่รันบน hypervisor และแยกจาก Windows 10 host และ kernel ของมัน คอมโพเนนต์ระบบที่สำคัญจากมุมมองด้านความปลอดภัยจะทำงานภายใน protected virtual container นี้ ไม่มี third-party code ใดๆ ที่สามารถ execute ใน VSM ได้ และ code integrity จะถูกตรวจสอบอย่างต่อเนื่องสำหรับการแก้ไข สถาปัตยกรรมนี้ช่วยให้ปกป้องข้อมูลใน VSM แม้ kernel ของ host Windows 10 จะถูก compromised เพราะแม้ kernel ก็ไม่สามารถเข้าถึง VSM โดยตรงได้
VSM container ไม่สามารถเชื่อมต่อกับเครือข่ายได้ และไม่มีใครสามารถได้รับ administrative privileges ในมัน Encryption keys, ข้อมูลการยืนยันตัวตนของผู้ใช้ และข้อมูลสำคัญอื่นๆ จากมุมมองการ compromised สามารถเก็บไว้ใน Virtual Secure Mode container ได้ ดังนั้นแฮกเกอร์จะไม่สามารถเจาะโครงสร้างองค์กรได้โดยใช้ข้อมูลที่แคชไว้ในท้องถิ่นของบัญชีผู้ใช้โดเมน
คอมโพเนนต์ระบบต่อไปนี้สามารถทำงานภายใน VSM:
- LSASS (Local Security Subsystem Service) เป็นคอมโพเนนต์ที่รับผิดชอบการยืนยันตัวตนและการแยกผู้ใช้ท้องถิ่น (ดังนั้น ระบบจะได้รับการปกป้องจากการโจมตีประเภท "pass the hash" และเครื่องมืออย่าง mimikatz) หมายความว่ารหัสผ่าน (และ/หรือ hashes) ของผู้ใช้ที่ลงทะเบียนในระบบจะไม่สามารถเข้าถึงได้แม้สำหรับผู้ใช้ที่มี local administrator privileges
- Virtual TPM (vTPM) เป็น synthetic TPM device สำหรับ guest machines ที่จำเป็นสำหรับการเข้ารหัสเนื้อหาดิสก์
- ระบบ monitoring ความสมบูรณ์ของ OS code ปกป้องโค้ดจากการแก้ไข
หมายเหตุ. เทคโนโลยีความปลอดภัยอย่าง Shielded Virtual Machines และ Device Guard ก็ทำงานใน VSM เช่นกัน Host และ guest OSs สามารถโต้ตอบกับ Virtual Secure Mode container ได้โดยใช้ API interfaces
ในการใช้ VSM สภาพแวดล้อมต้องผ่านข้อกำหนดฮาร์ดแวร์ต่อไปนี้:
- UEFI, Secure Boot และ Trusted Platform Module (TPM) รองรับการเก็บกุญแจอย่างปลอดภัย
- รองรับ hardware virtualization (VT-x, AMD-V หรือใหม่กว่า)
วิธีเปิดใช้งาน Virtual Secure Mode (VSM) ใน Windows 10
มาดูวิธีเปิดใช้งาน Virtual Secure Mode Windows 10
- UEFI Secure Boot ต้องเปิดใช้งาน
- Windows 10 ต้องเข้าร่วมโดเมน (VSM ปกป้องเฉพาะ domain user accounts ไม่ใช่ local accounts)
- บทบาท Hyper-V ต้องติดตั้งใน Windows 10 (ในกรณีของเรา เราต้องติดตั้ง Hyper-V Platform ก่อน แล้วจึงติดตั้ง Hyper-V Management Tools)
- Virtual Secure Mode (VSM) ต้องเปิดใช้งานในนโยบายพิเศษใน Group Policy Editor (gpedit.msc): Computer Configuration -> Administrative templates -> System -> Device Guard -> Turn on Virtualization Based Security Enable นโยบายนี้ และเลือกตัวเลือก Secure Boot ใน Select Platform security level ติ๊ก Enable Credential Guard (LSA isolation) ด้วย
- และสิ่งสุดท้ายคือกำหนดค่า BCD ให้เริ่ม Windows 10 ใน VSM:
bcdedit /set vsmlaunchtype auto
- รีสตาร์ทคอมพิวเตอร์ของคุณ
วิธีตรวจสอบว่า VSM เปิดใช้งานอยู่
คุณสามารถตรวจสอบว่า VSM active อยู่ได้ถ้ามี process Secure System ใน Task Manager
หรือถ้ามี event "Credential Guard (Lsalso.exe) was started and will protect LSA credential" ใน system log
วิธีทดสอบความปลอดภัยของ VSM
ล็อกอินด้วย domain account บนเครื่องที่เปิดใช้งาน VSM และรันคำสั่ง mimikatz ต่อไปนี้ด้วยสิทธิ์ local administrator:
mimikatz.exe privilege::debug sekurlsa::logonpasswords exit |
เราสามารถเห็นได้ว่า LSA กำลังทำงานใน isolated environment และ user password hashes ไม่สามารถได้มาได้
ถ้าคุณทำอย่างเดียวกันบนเครื่องที่ปิดใช้งาน VSM เราสามารถได้ NTLM hash ของรหัสผ่านผู้ใช้ ซึ่งสามารถใช้ใน pass-the-hash attacks
Ref: Enabling Virtual Secure Mode (VSM) in Windows 10 Enterprise Build 10130