﻿# Windows 作業系統有一個被困擾 17 年的安全性弱點

微軟在 2009/6/22 確認了一個從 17 年前 Windows 作業系統以來直到目前都還存在的一個安全性弱點，他能讓不受信任或無權限的使用者輕易的進入系統核心(system kernel)並取得該系統最大權限，目前尚無任何補丁(Patch)可以修正這個問題，但還是有方法可以強化你系統的安全性。

這個弱點是利用一個在 Windows 中稱為 Virtual DOS Machine (VDM) 的功能，這功能是為了向前相容  16-bit 應用程式的執行而設計的，這個功能在所有 32-bit 版的 Windows 都有支援 ( 64-bit 作業系統無此問題 )，由於此功能從 1993 年開始就有了，所以從 Windows NT 3.1, XP, 2000, Server 2003, Vista, Server 2008, 甚至是 Windows 7 都一樣有這個弱點，駭客只要能利用 VDM 功能寫一點點程式就可以輕鬆入侵你的電腦，且 PoC 的原始碼也已經放出來了。

要解決這個問題也很容易，只要關閉 MSDOS 與 WOWEXEC 子系統即可有效避免弱點被有心人士利用，我想到現在還有人在用 16-bit 應用程式的人應該不多了吧？但也許有些老公司還在用祖母級的 ERP 或進銷存程式也不一定。

解決此問題最簡單的方式就是透過 Active Directory (AD) 設定群組原則，限制網域內所有電腦執行 16-bit 應用程式，至於操作此設定的方法請見以下影片教學：

### Windows Server 2003 Policy Demonstration

[![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/8c4b6c4ccf79eeba3d50-video0de62b1fd637.jpg)](http://www.youtube.com/watch?v=XRVI4iQ2Nug)

### Windows Server 2008 Policy Demonstration

[![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/c01757b941cd1d27c348-videof1537e7ba54a.jpg)](http://www.youtube.com/watch?v=u8pfXW7crEQ)

### Windows XP Policy Demonstration ( 本機原則設定範例 )

[![](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/42163c291050410265fb-videoa3de077a3b40.jpg)](http://www.youtube.com/watch?v=u7Y6d-BVwxk)

若想看 Windows Server 2008 的中文設定畫面範例請參考下圖：

![\[群組原則管理編輯器\] → \[電腦設定\] / \[原則\] / \[系統管理範本\] / \[Windows 元件\] / \[「應用程式相容性\] / \[防止存取 16 位元的應用程式\] / \[啟用\]](https://stwillblogassets.blob.core.windows.net/files/images/external/stwillblogassets.blob.core.windows.net/3d2a14660339e68893a9-image.png "[群組原則管理編輯器] → [電腦設定] / [原則] / [系統管理範本] / [Windows 元件] / [「應用程式相容性] / [防止存取 16 位元的應用程式] / [啟用]")

**相關連結**

-   [Windows plagued by 17-year-old privilege escalation bug](http://www.theregister.co.uk/2010/01/19/microsoft_escalation_bug/)
-   [Windows NT User Mode to Ring 0 Escalation Vulnerability](http://www.exploit-db.com/exploits/11199)  
    Microsoft Windows NT #GP Trap Handler Allows Users to Switch Kernel Stack
