Virtualization-based Security (以後稱為 VBS) 是利用硬體虛擬化和 Windows Hypervisor 建立隔離的虛擬環境。VBS 透過隔離環境,提供許多我們常聽到的安全保護,例如:LSASS Protection , HVCI … 這類的,這些我之後會再深入多寫。
底下附上最常拿來被講解 VBS 的架構圖,會需要知道的元件其實分為三個。
Hypervisor:也就是虛擬化最重要的軟體,在這架構中其實就是我們知道的 Windows Hyper-V 。
Virtual Server Mode(VSM):你可以把它看待成另外一套系統,微軟在這上面設計了許多需要保護的系統資源,像是 Islated LSA。
Host OS: 也就是普通使用者執行應用程式的環境
這樣的架構設計有什麼好處?等於使用者仍然可以正常執行他的程式,但是當電腦被駭客入侵時,駭客仍在右邊 HostOS 的地方,他無法輕易的去獲得 VSM 裡面的內容,例如駭客最喜歡用的 lsass memory dump 竊取暫存的 Hash ,就無法做到了。
註:我這邊寫”輕易“ 因為如果真的要偷取到或是做到相同的目標還是有機會和方法的。
另外補充:VBS 的設計是用虛擬化獨立資源來達到保護的,但他的本身安全會不會被植入後門是建立於 Secure Boot 上,Secure Boot 這之後會再寫一篇。簡單來說 Secure Boot 會檢查 VBS 引導程式的完整性,因為它負責載入策略、Hyper-V、VTL1 等。
網路上很多遊戲區討論說怎麼關閉 VBS,這是我在搜集資料發現很有趣的現象,可能因為對這類使用者,任何一點效能影響都會讓他們覺得不舒服。
要先討論該不該關閉,就要討論的是 VBS 是怎麼影響“遊戲”這件事,以中國遊戲“永劫無間”來說,就有一個討論 2024 年會要求玩家關閉核心隔離這個功能,核心隔離也是 VBS 的延伸功能之一,遊戲要求關閉功能的討論串在這。
如果從目的性來說,我不會說要偷你資料,而是很多反外掛的機制的確可能會從系統 Kernel 層來去做,畢竟這招的確可以有效防止外掛,我們常見在這塊攻防我個人認為分為三種,當然如果有寫過外掛的朋友應該比我更加熟悉這塊:
1. Kernel Hooking:反外掛系統可能會在核心層監控系統呼叫,攔截可疑的行為,因為有些外掛也會做 Hooking 修改傳送進去的數據,而反外掛就要來偵測你的 Hooking 的 Hooking!
2. Kernel Memory:許多外掛是透過直接讀寫遊戲記憶體來達成作弊效果。像我自己有時玩單機遊戲,會用 Cheat Engine 降低一點難度,原理其實是一樣的。而在一些常見的外掛技術,例如 Aimbot 或 ESP(透視外掛),就會對系統核心記憶體修改去做防偵測。
3. 反偵測技術:就像前面說的一些外掛會使用反偵測技術來隱藏其行為,而反外掛系統通常會對系統資源的監控,VBS 就會影響到反外掛系統。
VBS 後面延伸的各種功能後面我都會更仔細介紹,時今 2024 年 VBS 也邁入很多個年頭,我相信市場的軟體支援度只會越來越高,畢竟以前三不五時就對 Kernel 要做動作是很常見,但現在大概只有防盜版、防外掛系統在用了吧。
而遊戲要求你關閉 VBS 的部分,外掛和反外掛系統在技術上有著相同的根源,這也就是為什麼有些反外掛系統會要求關閉 VBS 功能。
如果你真的想玩遊戲並關掉這些防護功能,當然可以,但要了解其中的風險。像是,遊戲用的電腦最好和進行網路銀行操作或其他重要帳號密碼的電腦分開使用,並且不要隨意執行來源不明的應用程式,