Office 365整合了AMSI(Antimalware Scan Interface)以防範VBA惡意巨集,這讓攻擊者轉向XLM巨集,用它來呼叫Win32 API執行shell指令,包括Trickbot、Zloader和Ursnif背後的網路罪犯,現在微軟宣布AMSI也能阻擋以XLM寫成的惡意巨集(如圖所示)。(圖片來源/微軟)

微軟本周宣布把Office 365的惡意軟體掃描技術擴充,以偵測XLM寫成的惡意巨集。

反惡意軟體掃描介面(Antimalware Scan Interface,AMSI)原本是Windows 中允許應用程式或服務和系統上的安全軟體進行通訊,要求偵測記憶體緩衝區是否有執行程式碼下載的Script行為,像是VBscript、JavaScript及PowerShell等。2018年9月微軟將AMSI整合到Office 365用戶端應用,以便掃描VBA巨集的runtime行為,防止惡意巨集。

XLM巨集是相當古老的巨集語言,最早微軟1992年Excel 4.0即使用XLM,直到1993年Excel才改用VBA。XLM雖然很簡單,但卻可相容於Windows,而且有許多企業的合法應用中仍然使用XLM。但二年半前Office 365整合了AMSI防範VBA惡意巨集,迫使攻擊者轉向XLM巨集,用它來呼叫Win32 API執行shell指令,包括Trickbot、Zloader和Ursnif背後的網路罪犯。

微軟指出,和VBA和其他描述語言一樣,XLM程式碼也很容易加以混淆(obfuscate)以掩飾巨集的真實意圖,像是只要簡單的變更字串即可隱藏URL或檔案名稱躲過靜態偵測產品。

此外,XLM的特性也有利於攻擊者。例如,XLM的巨集程式碼在Excel文件中未分開儲存,每個XLM巨集宣告都是在一個儲存格中的公式,想抓出整個XLM巨集相當困難,必須在文件內一格一格檢查。其次XLM巨集的執行並非如一般由上而下,可利用控制宣告橫向進行。這些特性配合混淆手法,讓攻擊者得以輕易躲過靜態分析。

從推出迄今,AMSI已經可用於偵測多種惡意巨集、script-based惡意程式,包括VBscript、JavaScript、PowerShell、Office VBA巨集、WMI、動態載入的.NET assembly、MSHTA/Jscript 9,以及今天的XLM。AMSI的資料可作為訓練惡意行為的機器學習模型,用來強化Microsoft Defender for Endpoint的防護。如果Microsoft Defender等防毒軟體偵測到惡意XLM巨集,巨集將無法執行,而且終止Excel,藉此防止攻擊。

XLM巨集掃描功能目前已部署到Excel中,可用於註冊為裝置上AMSI供應者的防毒軟體(如Microsoft Defender Antivirus)。已整合AMSI的Office也會加入這項功能。另外,二月份 Current Channel及Monthly Enterprise Channel兩個頻道的Microsoft/Office 365用戶端也預設開啟。

熱門新聞

Advertisement