微軟在本月的例行性更新中釋出14項安全更新,包括修補一個Windows 95時代就已存在,長達19年都未被發現的安全漏洞。由於微軟不再為Windows XP提供安全更新,因此這個漏洞也將威脅Windows XP使用者。

CVE-2014-6332安全漏洞是由IBM X-Force安全研究人員所發現,並於今年5月通報微軟。IBM X-Force Research經理Robert Freeman指出,這個漏洞存在於IE所賴以運作的程式碼,但又不屬於IE,就像獨角獸一般稀有。駭客可透過這個漏洞進行掛馬攻擊進入使用者電腦,進而於遠端執行程式碼並取得系統的控制權。

安全人員指出,VBScript中的陣列元素通常為Component Object Model (COM) SafeArrays,每個元素皆為固定的16byte,而開頭的WORD表示為變數(Variant)型態。在正常情況下,使用者只能透過double values或currency values的變數型態控制該資料最多8byte。然而VBScript卻允許透過redim preserve指令就地更改陣列大小,這也正是漏洞所在。VBScript.dll包含runtime評估方法CScriptRuntime::Run(VAR *),它會把SafeArray維度大小變更的工作交給具有SafeArray Redim(…)功能的OleAut32.dll來執行。在一開始時,SafeArrayRedim()會以調整大小的呼叫來取代舊的陣列大小。然而如果出錯,並不會在傳回VBScript!CScriptRuntime::Run()呼叫之前重設大小。

對VBScript而言,可以在OleAut32函式庫回送錯誤指令時取消常見的"On Error Resume Next" VBScript程式碼來避免漏洞攻擊。但因為它未做此動作,因此使用者只能憑著這項宣告重新執行程式碼,持續使用損毁的物件。由於VBScript程式碼片段極為常見,因此它的存在也無以顯示漏洞已遭到攻擊。

雖然漏洞存在於OleAut32很古老的程式碼中,但研究人員卻可以從IE內的VBScript成功進行攻擊,IE 3.0以後所有版本都可能受此影響。

Freeman指出,這項漏洞自19年前的Windows 95剛推出時就已經存在,而在隔年釋出的IE 3.0因推出Visual Basic Script (VBScript)而使得遠端攻擊成為可能。其他應用也可能有這項漏洞,但以IE 3.0被利用的風險最高。他並表示,其複雜性使它甚至可繞過IE 11的進階防護模式(Enhanced Protected Mode, EPM)沙箱及微軟免費提供的Enhanced Mitigation Experience Toolkit (EMET)防護工具。即使其他同樣存在於Windows library (OleAut32)中的漏洞都早已經被發現並修補,但這項漏洞卻潛藏了近20年。

安全研究人員並表示,駭客可利用這項漏洞執行多種攻擊法來執行遠端程式碼,而這也顯示,還有其他尚未發現的漏洞也可能運用傳統緩衝溢位或「使用釋放後」(use-after-free)漏洞之外的攻擊手法來操控資料,進而進行資料值操控或執行遠端程式碼等。一般而言,攻擊者可能使用遠端程式碼安裝惡意程式,然後植入鍵盤惡意程式、螢幕畫面擷取及遠端存取系統等。

根據微軟的MS14-064安全公告,這項漏洞影響包括各個版本的Windows伺服器及用戶端作業系統,從Windows Server 2003到Windows 8.1,其風險視版號而定,從「重要」到「重大」不等。

所幸目前研究人員沒有發現有攻擊行動蔓延,而且攻擊的難度也較高。但由於微軟已停止支援Windows XP,因此這些電腦可能成為攻擊的對象。(編譯/林妍溱)

相關連結:微軟安全公告IBM X-Force Research部落格

熱門新聞

Advertisement