基本介紹
- 中文名:WMF檔案格式漏洞
- 源於:微軟Windows作業系統
- 公開時間:2005年12月27日
- 針對:Windows 2000和Windows XP版本
簡介,弱點,傳播和感染,補丁,影響的系統,
簡介
微軟於1月6日發布了針對Windows 2000和Windows XP版本中不當處理WMF函式SETABORTPROC的補丁,並且在1月16日發布了針對Windows Vista的補丁,但是其他的作業系統仍舊會受到該漏洞的威脅。
該漏洞源於Windows的核心模組gdi32.dll處理WMF格式的方式,允許在計算機上不經過用戶許可即執行代碼。因此該漏洞成為惡意代碼的載體,通常被用來暗中下載其他惡意軟體。1月9日,Bugtraq報告另外兩個WMF函式ExtCreateRegion和ExtEscape也有同樣的漏洞,但是微軟聲稱這兩個漏洞只會造成性能問題。
弱點
微軟的安全公告聲稱,這個漏洞存在於圖形呈現引擎處理特製的WMF圖像的方式中,可能允許執行任意代碼,控制受影響的系統。
傳播和感染
計算機大多被附帶特殊處理(感染)過的WMF檔案的電子郵件所感染,但也可能以下列方式被感染:
* 瀏覽一個被感染的站點或者預覽被感染的電子郵件。如果瀏覽器自動下載並顯示WMF檔案(有可能並非以.WMF為擴展名)的話,感染過的WMF檔案中的代碼可能被執行。在一些瀏覽器提示下載和打開感染過的WMF檔案時,如果用戶選擇確認,那么惡意代碼也可能被執行。一些允許在帖子內容中插入圖像的論壇因此停止了允許插入圖像的功能。
* 在Windows資源管理器中預覽感染過的WMF檔案。
* 在一些軟體,比如即時通訊軟體中點擊收到的訊息中的連結。
其他方法也可能被用於傳播感染過的WMF檔案。
2005年12月31日,反病毒軟體商McAfee表示,這種惡意程式感染了他們的超過6%的用戶。根據Secunia的報告,“該漏洞來源於對包含特殊處理過的SETABORTPROC轉義記錄WMF檔案的錯誤處理。這樣的記錄允許用戶定義的代碼在呈現WMF檔案失敗時被執行。”
補丁
因為這個WMF檔案格式漏洞的影響範圍仍舊在增加,而且這個漏洞並無特定的代碼特徵,所以需要一個可以治本的補丁來阻止惡意代碼的傳播。
微軟公司已經於1月6日發布了針對Windows 2000以上版本SETABORTPROC函式不當處理漏洞的補丁。該補丁原計畫於1月10日發布,但是測試工作提前完成了。
Ilfak Guilfanov也在他的網站上發布了一個第三方的針對SETABORTPROC函式的補丁,聲稱對於WinXP (SP1,SP2)和Win2000系統,可以移除這個gdi32中的缺陷,但是這是通過注入代碼到系統模組實現的,可能在產生諸如列印包含WMF圖像的文檔失敗的問題。在被廣泛報導之後,這個網站因為過載而在2006年1月3日暫時關閉,而在2006年1月4日成為了一個簡潔的網頁。這個補丁在一個鏡像站點也可以下載。
針對這個漏洞,用戶可以考慮採取以下步驟:
* 安裝微軟發布的官方補丁。
* 如果使用的是硬體(例如AMD的64位CPU)實現的數據執行保護,打開所有程式的數據執行保護。
* 設定WMF檔案的默認關聯程式為一個不可能執行WMF指令的程式,例如記事本。
* 通過設定Internet選項中的默認安全設定為高來關閉下載。
* 保持所有防火牆軟體為最新版本,並且考慮頻繁地手動檢查更新。
* 在網路內通過過濾檔案頭來禁止傳送WMF檔案。
* 儘可能減少用戶的許可權。
* 禁用Google Desktop的索引功能,直到該問題被解決。
* 使用非Windows的作業系統,例如Linux、FreeBSD或者Unix。
* 在可能自動顯示WMF檔案的程式,例如Internet Explorer和Outlook中關閉圖像的顯示。使用非Internet Explorer的瀏覽器會減輕一點風險,但是不能識別改名為其他擴展名的惡意WMF檔案。
* 使用非Windows的作業系統進行高危操作,例如進行聊天或者瀏覽可以在帖子中插入圖像的論壇。
* 在Windows中禁用索引服務
影響的系統
微軟的安全建議說一些被硬體實現的數據執行保護功能保護的計算機對已知的攻擊免疫。
因為該漏洞是WMF檔案的特性之一,該漏洞的已知影響範圍從Windows 98到Windows Vista,但是甚至連Windows 3.0和非Windows的作業系統都可能受影響。但是,因為只有Windows XP和啟用了圖像預覽功能的Windows ME默認會打開WMF檔案,所以這個系統比其他系統更加容易受到攻擊。更舊的Windows版本和非Windows作業系統並不默認支持打開WMF檔案,但是ACDSee這樣的第三方程式可能使系統受到影響。
非Windows的作業系統不直接受到影響,但是一些模擬Windows行為的模擬器在打開WMF檔案的時候可能會受到攻擊。有報告說Linux和BSD作業系統中可以在WINE上運行的Cedega程式有這個漏洞。Wine的代碼已經更新以修正這個問題。