定義
ActiveX 控制項 是微軟基於 COM (Component Object Model) 技術推出的可重用軟體元件,專為 Internet Explorer (IE) 瀏覽器設計。本質上是一個 .ocx 動態連結庫檔案,經註冊後可在網頁中透過 <object> 標籤實例化,獲得豐富的客戶端能力(檔案系統存取、硬體控制、原生 UI 繪製等)。
典型應用案例
- Adobe Flash Player (IE 版) —— 最廣為人知的 ActiveX 控制項。
- 銀行網銀安全控件(鍵盤加密、簽名驗簽、UKey 讀取)。
- 企業內部 ERP/CRM 系統的瀏覽器端功能擴充。
- 早期網頁遊戲、視訊會議、線上掃描/列印元件。
核心安全風險
- 高權限執行:ActiveX 在用戶桌面權限下運行,可讀寫檔案、註冊表、啟動程序、存取網路,權限等同桌面應用程式。
- 簽名機制不足:早期僅 Authenticode 簽名驗證發布者身分,無法限制程式碼行為;惡意簽名/竊取簽名憑證層出不窮。
- 自動/靜默安裝:網頁可透過腳本觸發安裝提示,用戶習慣性點擊「是」導致惡意控制項落地。
- 跨站腳本 (XSS) 結合:惡意頁面引用合法網站已安裝的 ActiveX,繞過同源策略竊取資料。
現代瀏覽器的應對
- IE:引入 ActiveX 篩選器、每站點啟用/停用、增強保護模式 (EPM) 低權限沙箱。
- Edge (舊版 EdgeHTML):完全移除 ActiveX 支援,僅透過 IE 相容模式載入舊站。
- Chrome/Firefox/Edge (Chromium):從未支援 ActiveX,採用 NPAPI (早期) → PPAPI (Pepper Flash) → WebAssembly/Web APIs 標準化替代方案。
用戶端防護建議
- IE → 網際網路選項 → 安全性 → 自訂等級 → 「下載已簽署的 ActiveX 控制項」/「執行 ActiveX 控制項和外掛程式」設為「提示」或「停用」。
- 定期檢視「管理增益集」→ 移除不明/不用的控制項。
- 企業環境透過群組原則「ActiveX 安裝服務」白名單管控,僅允許核准控制項安裝。
- 優先使用現代瀏覽器(Edge/Chrome/Firefox)訪問現代網站,僅在必須使用舊版網銀/內部系統時啟用 IE 相容模式。