Black Hat USA 2000 - Proactive Defense Against Malicious Code
三句話摘要
行動代碼安全威脅與行為監控防護技術演講 行動代碼安全需從被動的特徵比對升級至行為監控與策略管理並行的多層防禦,但政策部署與使用者教育才是最大瓶頸。 行動代碼的普遍與隱患:幾乎所有網站都包含某種形式的行動代碼,包括 JavaScript、VB 指令碼、Java 小程式、ActiveX 控制項、嵌入式外掛等,這些代碼通常自動執行,被犯罪者利用作為木馬程式的傳播工具,難以察覺。
重點整理
重點- 1
行動代碼的普遍與隱患:幾乎所有網站都包含某種形式的行動代碼,包括 JavaScript、VB 指令碼、Java 小程式、ActiveX 控制項、嵌入式外掛等,這些代碼通常自動執行,被犯罪者利用作為木馬程式的傳播工具,難以察覺。
- 2
傳統反應式防護的根本缺陷:基於特徵比對的反病毒軟體只能識別已知威脅,而大多數恶意代碼在到達使用者終端前未曾被發現,導致即使最快速的反應也無法完全阻止滲透與損害發生。
- 3
行為監控與Gatekeeper架構:需轉向主動防護,在指令碼引擎與系統之間建立看守程式,監控所有系統層級呼叫(如 Shell.Execute、檔案存取),對未授權的危險操作進行攔截,即使是未見過的新型惡意指令碼也能被阻止。
- 4
代碼簽章與策略管理的困境:數位簽章能識別信任來源,但簽章密鑰洩露即功虧一簣;在企業環境中制定與分發一致的執行政策極其困難,且大多數終端使用者無法理解複雜安全規則,社交工程學仍能輕易繞過既定政策。
實用技巧與重點
乾貨- 行動代碼類型:JavaScript、VB Script、Java Applet、ActiveX 控制項、嵌入式外掛、Excel 試算表
- 著名攻擊案例:Love Letter 病毒、Melissa 病毒、Back Orifice 遠端木馬
- 威脅展示數據:4 秒錄音檔案大小約 54 KB(說明間諜軟體可輕易竊取大量資料)
- Gatekeeper 工作流程:攔截指令碼 → 檢查簽章或密鑰 → 比對系統呼叫清單 → 允許/阻止執行
- 關鍵危險系統物件:COM 物件、Shell.Execute、檔案系統存取、行程建立、網路通訊
- 防護方法:代碼簽章(Code Signing)、政策管理(Policy Management)、行為動態檢測、系統呼叫監控
- 企業政策驗證結果:即使禁止開啟附件政策明確,透過冒充主管等社工手段,仍能欺騙大多數員工執行惡意代碼
結論
結論“行動代碼安全需從被動的特徵比對升級至行為監控與策略管理並行的多層防禦,但政策部署與使用者教育才是最大瓶頸。”
完整解析
詳細網路安全困局與行動代碼的隱形威脅
演講人以航空安全為喻開場:美國國防部曾指出,若維持 1937 年的航空安全水準但增至 1999 年的航班量,每天會有兩架 747 從天空墜落。這個比喻道出網際網路安全防護必須不斷演進的急迫性。在當今網路環境中,幾乎每個網站都使用某種形式的行動代碼,包括 JavaScript、VB 指令碼、Java 小程式、ActiveX 控制項,甚至 Excel 電子表格。問題在於這些代碼多數自動執行,使用者甚至不知道正在執行什麼。企業透過電子郵件、賀卡、遊戲等方式大量傳播這類代碼,而使用者通常毫不質疑地開啟它們。演講人強調,虛擬知識份子曾表示要「將西方社會癱瘓」,但真正令人擔憂的是那些悄悄進行相同活動卻不透露意圖的人。
傳統反應式防護的根本瓶頸
傳統反病毒軟體依賴模式比對和特徵庫,這套方法存在致命漏洞。業界分析指出,反應式檢測不夠靈活,即使最快的反應也往往為時已晚,允許滲透與破壞已經發生。Trend Micro、McAfee、Symantec 等領先廠商都坦承無法檢測所有變種,問題根本上在於大多數恶意代碼在到達終端前從未被安全軟體廠商發現過。演講人展示了一個實際演示:一個看似無害的「轉輪」遊戲實際上在後台搜索文件、打開麥克風進行錄音、甚至可以安裝遠端控制軟體 Back Orifice。使用者看著轉輪旋轉以為沒事,卻不知道已被完全入侵。這證明傳統特徵比對完全無法應對行為異常的代碼。
Gatekeeper:行為監控的新防線
面對脈絡特定的攻擊(特別是利用 COM 物件的 Love Letter 和 Melissa 病毒),演講人提出 Gatekeeper 防護架構。核心思想是在指令碼引擎與作業系統間建立守衛,監控每一個系統層級呼叫。當郵件客戶端接收到指令碼時,Gatekeeper 在執行前進行攔截,檢查是否持有有效簽章或密鑰,然後檢查指令碼是否試圖呼叫已知危險服務(如 Shell.Execute 用於建立行程)。簽章有效且請求授權則執行,否則攔截。這套方法的優勢在於,即使是全新的未知惡意指令碼,只要企圖調用危險系統物件就會被阻止,而不需要等待特徵庫更新。
代碼簽章與政策分配的深層困境
理論上,要求所有代碼須數位簽章,只執行可信來源的代碼,應可大幅提升安全。Java 2 曾提出精細化的函式層級簽章機制。然而實踐中,開發者極少在函式層級實施簽章,通常採用「全要或全否」模式,導致簽章密鑰一旦洩露功虧一簣。更大的挑戰在於企業環境中的政策部署:不同部門需要不同權限級別,終端使用者難以理解複雜規則,且新增例外非常困難。演講人舉例,即使企業明確禁止打開附件且有終止政策,透過冒充主管發送郵件仍能欺騙大多數員工執行代碼。他強調,即連康奈爾大學、劍橋大學等學術機構至今未能完全解決政策管理的分散式部署問題,說明這是系統性難題,技術方案難以單獨解決。
關鍵時刻
Pipeline v2帶時間戳的重點,會在逐字稿層級分析上線後產生。目前請先透過原始影片觀看。
事實查核
Pipeline v2說法查證是下一次管線升級的一部分。KeyFrame 只會顯示它真正能驗證的內容。

