共用方式為


應用程式隔離

包含應用程式安全特徵清單的示意圖。

Win32 應用程式隔離

Win32 應用程式隔離是一項安全功能,設計為 Windows 用戶端的預設隔離標準。 它建立在 AppContainer 之上,並提供多項額外的安全功能,幫助 Windows 平台防禦利用應用程式或第三方函式庫漏洞的攻擊。 為了隔離應用程式,開發者可以使用 Visual Studio 進行更新。

Win32 應用程式隔離遵循兩步驟流程:

  • 第一步,Win32 應用程式以低完整性程序啟動,使用 AppContainer,Windows 將其視為安全邊界。 該程序預設限制於特定 Windows API 集合,無法將程式碼注入任何在更高完整性層級運作的程序中。
  • 在第二步中,應用程式透過授權存取 Windows 可保護物件來強制執行最小權限。 此存取權由透過 MSIX 封裝加入應用程式清單的功能所決定。 此處的可保護物件指的是 Windows 資源,其存取權由能力所保障。 這些功能使得在 Windows 上植入一個自由裁量存取控制清單成為可能。

為確保孤立應用程式順利運作,開發者必須透過應用程式套件清單中的存取能力宣告來定義應用程式的存取需求。 AC) P (應用程式能力分析器簡化了整個流程,允許應用程式以低權限的學習模式執行。 ACP 不會在該能力不存在時拒絕存取,而是允許存取並記錄應用程式若需隔離執行所需的額外能力。

為了打造與非孤立、原生 Win32 應用程式相符的流暢使用者體驗,請考慮兩個關鍵因素:

  • 存取資料與隱私資訊的方法
  • 整合 Win32 應用程式以與其他 Windows 介面相容

第一個因素是實作管理隔離邊界 AppContainer 內外檔案與隱私資訊存取的方法。 第二個因素是將 Win32 應用程式與其他 Windows 介面整合,以協助無縫運作,同時避免產生令人困惑的使用者同意提示。

了解更多

應用程式容器

除了 Win32 應用程式的 Windows 沙箱外,通用 Windows 平台 (UWP) 應用程式也運行於稱為應用程式容器的 Windows 容器中。 應用程式容器作為程序與資源隔離的邊界,但與 Docker 容器不同,這些容器是專門設計用來執行 Windows 應用程式的。

在應用容器中運行的程序以低完整性層級運作,意味著它們對非擁有資源的存取權有限。 由於大多數資源的預設完整性等級為中等完整性等級,UWP 應用程式只能存取檔案系統、登錄檔及其他資源的部分。 應用程式容器同時也會對網路連線施加限制。 例如,不允許存取本地主機。 因此,惡意軟體或被感染的應用程式的逃逸範圍有限。

了解更多

Windows 沙箱

Windows 沙箱提供輕量級桌面環境,安全地獨立執行不受信任的 Win32 應用程式。 它採用與 Hyper-V 相同的硬體虛擬化技術。 你在 Windows 沙箱中安裝的任何不受信任的 Win32 應用程式,只會留在沙箱中,無法影響主機。

當你關閉 Windows 沙箱時,裝置上不會儲存任何東西。 關閉不受信任的 Win32 應用程式後,它會永久刪除所有軟體、檔案和狀態。

了解更多

適用於 Linux 的 Windows 子系統 (WSL)

Windows 子系統 Linux 版 (有了 WSL) ,你可以在 Windows 裝置上運行 Linux 環境,無需獨立虛擬機或雙重開機。 WSL 的設計目標是為希望同時使用 Windows 與 Linux 的開發者提供無縫且高效的體驗。

  • Hyper-V 防火牆 是一種網路防火牆解決方案,能夠過濾由 Windows 託管的 WSL 容器的進出流量。
  • DNS 隧道 是一種提升不同網路環境中相容性的網路設定。 它利用虛擬化功能來取得 DNS 資訊,而非網路封包。
  • 自動代理 是一種網路設定,強制 WSL 使用 Windows 的 HTTP 代理資訊。 在 Windows 使用代理時開啟此設定,因為它會自動套用該代理給 WSL 發行版。

透過使用裝置管理解決方案(如 Microsoft Intune[12])來設定這些功能。 適用於端點的 Microsoft Defender (MDE) 與 WSL 整合,使其能監控 WSL 發行版內的活動並回報給 MDE 儀表板。

了解更多

基於虛擬化的安全隔離區

基於虛擬化的安全隔壁是一種基於軟體的可信執行環境, (TEE) 位於主機應用程式內。 VBS 隔區讓開發者能利用 VBS 保護應用程式的機密,免受管理員層級攻擊。

了解更多