近年攻擊者在探查組織的基礎設施時,很少會遇到沒有EDR的工作站,所以有心人會專注入侵伺服器或連接網絡而兼具廣泛存取權限,但缺乏EDR保護甚至記錄功能的裝置,這次的受害者是Canon的打印機。
木馬型字體
研究人員在Canon打印機上發現安全漏洞CVE-2024-12649,攻擊者可以有相關裝置上執行惡意程式碼。首先,攻擊者發送XPS檔案進行列印,這格式由Microsoft創立,含有成功列印文件的需要條件,也可以作為PDF檔案的替代方案,XPS實際上是一個ZIP壓縮檔,當中包含文件的描述、所有圖像和使用的字體,字體通常以常見的TTF (TrueType Font)格式儲存,而這種通常不被認為是危險的字體,今次卻含有惡意程式碼。
TTF格式讓字母在任何媒介上看起來都一樣,並且可以正確縮放到任何尺寸,為達到這個目的,每個字母都可以字型微調指令,描述了顯示小字的細微差別,微調指令是針對緊湊型虛擬機器的指令,儘管簡單,但支援所有程式設計的基本建設模組(記憶體管理、跳躍和分支)。研究人員發現在Canon打印機上,部份TTF微調指令被不安全地執行,例如管理堆疊的虛擬機器不檢查泛濫(overflow)。
結果他們成功建立惡意字體,當文件包含它然後在某些Canon打印機上列印,能導致堆疊緩衝區泛濫,把資料寫入在虛擬機器的緩衝區外,最終實現在打印機的虛理器執行程式碼。整個攻擊都透過TTF檔進行,其餘XPS檔內容無害,實際上偵測TTF檔案內的惡意程式碼十分困難,由於長度不長,第一部份含有TTF虛擬機器指令,第二部份在特定、專有的Canon操作系統(DryOS)上執行。
要注意近年Canon集中在打印機的靭體安全,例如它使用ARM處理器支援的DACR註冊器和NX(禁止執行)標誌,藉此限制修改系統程式碼或僅用於資料儲存的記憶體中執行程式碼,可惜DryOS的架構仍無法有效實現記憶體保護機制,也是研究人員偶爾發現繞過現有保護的原因。
現實利用的劇本
在公開的漏洞描述中,Canon聲稱如果打印機可存取互聯網就有可能被利用,所以建議設置防火牆,使打印機只能在內部辦公室網絡中使用,雖然是個好建議,而且打印機本應從公共存取中移除,但這並非唯一的攻擊劇本。在報告中,研究人員指出更真實的混合劇本,攻擊者向員工發送電郵或通訊程式附件,以各種藉口誘騙他們列印檔案,如果受害者在公司內部網絡內把文件列印,即使沒有連接互聯網,惡意程式碼也會在打印機上執行。當然,惡意程式在打印機上運行,功能會比感染電腦的惡意程式有所限制,但仍然能夠建立與攻擊者伺服器連線的渠道,讓攻擊者能夠針對組織內其他電腦,其他潛在結果是把所有組織內打印的資料直接轉發到攻擊者的伺服器。
防範打印機上的威脅
依照Canon的指示安裝打印機的韌體更新,就能夠堵塞CVE-2024-12649和幾個相關的缺陷,可惜很多組織都缺乏系統化的打印機韌體更新流程,該程序必需在所有連接電腦網絡的設施上執行。研究人員強調,針對特定設備的攻擊途徑各式各樣,所以難保攻擊者不利用打印機製造商或其客戶未知的類似漏洞,為降低風險,應該:
- 分隔網絡,限制打印機建立對外連線和接受未經授權的裝置及使用者的連線
- 關閉所有打印機未被使用的服務
- 在每台打印機或裝置設定唯一和複雜的管理員密碼
- 在組織架部署進階的保安方案,包括在所有電腦和伺服器上安裝EDR。
資料來源:Kaspersky Blog

