TXT文字檔就一定安全嗎? 結果出乎所料
█當大家工作時接收外部郵件時,裡面通常會彈出提示資訊,指出有哪些檔存在潛在威脅。 比如說,EXE 檔往往被識別為有風險,而 DOCX 檔和 XLSX 檔也是可能包含惡意物件。 另一方面,文字檔通常被認為十分安全,因為文字檔除了純文本以外不包含任何內容。 然而也存在特例。

研究人員發現了一個可以利用該格式進行攻擊的漏洞(現已修復),此外還有更多類似情形存在。 事實上,檔案格式並不是關鍵,關鍵在於程式如何處理 TXT 檔。
macOS 的 CVE-2019-8761 漏洞
研究人員保羅·伊貝洛(Paulos Yibelo)特別指出了一種通過文本檔對macOS計算機實施攻擊的奇怪方式。 macOS 的內建安全系統 Gatekeeper 和許多同類安全解決方案一樣,認為文本檔完全安全可信。 用戶可透過內建編輯器 TextEdit(文字編輯)下載和打開文本檔,無需經過額外檢查。

然而,TextEdit 比微軟 Windows 系統的記事本要複雜一些。 它能讓用戶實施更多操作,比如字體加粗,改變字體顏色等等。 由於 TXT 格式生來就無法儲存樣式資訊,因此 TextEdit 會附加額外的技術資訊以實現需求。 例如,如果某檔開頭首行是” <! DOCTYPE HTML><html><head></head><body>”,即便這是一個.txt副檔名的文件,TextEdit 也會開始對 HTML 標籤進行處理。
基本上,將 HTML 代碼寫入以此行開頭的文本檔,就能迫使 TextEdit 開始處理代碼,或至少處理其中的部分內容。
通過文本文件實施攻擊
經過謹慎研究,摸清了潛在攻擊者採取此方式可實施的所有方案之後,研究人員發現該漏洞能夠實施:
- DoS 攻擊。 閘道安全人員不會組織從使用 TXT 擴展名的對象打開本地檔案的行為。 因此,打開某些惡意文本檔可能使電腦過載。 例如,惡意文字檔使用 HTML 代碼訪問 /dev/zero 檔,開始提供無窮盡的空字元源碼。
- 識別用戶的真實 IP 位址。 文本檔中的代碼能夠調用 AutoFS,這是一個用於掛載檔案系統的標準程式,能提供對外部驅動器的訪問。 儘管該操作本身無害,但由於自動掛載過程中會迫使系統內核發送 TCP 請求,即便使用者使用了代理伺服器,創建惡意文本檔的人也能找出它被打開的確切時間,並註冊真實的 IP 位址。
- 盜竊檔。 攻擊者可以將一份包含 <iframedoc> 的文檔插入到文本檔中。 這樣一來,惡意文本檔就能訪問受害者計算機上的任何文件,然後使用 Dangling markup 技術傳輸檔的內容。 用戶僅僅打開檔就能觸發攻擊。

該漏洞於2019年12月被報告給了蘋果,並被標記為代號 CVE-2019-8761。 保羅·伊貝洛的帖子提供了更多有關如何利用該漏洞的資訊。
如何保證安全
在2020年的更新中,CVE-2019-8761 漏洞已被修復,但並不能保證軟體中已經排除了與TXT相關的bug。 或許依然存在其他仍未被發現的攻擊方式。 所以,「文本檔是安全的嗎? “這一問題的回答,大致是:”目前是。 但依然需要警惕。 ”
因此,我們建議公司對所有職員進行培訓,要將所有文件視為潛在威脅,即便是看似無害的文本檔。
無論如何,把公司所有對外資訊流的控制權內部處理或是交給外部 SOC,比如卡巴斯基託管檢測與回應解決方案,都是可行的措施。