特派記者:DevSecOps Taiwan 安全程式碼組長 Kika
台灣 DEVCORE 的首席資安研究員 Orange & 資安研究員 Splitline 發現 「Windows ANSI 轉換機制」存在安全漏洞,並在 Black Hat Europe 2024 發表 WorstFit 攻擊,這項研究更榮獲 2024 年度「十大網站攻擊技法」第 4 名。
❓什麼是 WorstFit?
Windows 有個 BestFit 機制,當遇到「無法識別的字元」時,會自動轉換成「相似的 ASCII 字元」。這看似無害,但研究發現這種行為可以被攻擊者利用,繞過安全機制,導致資安風險。
🧐 舉例來說,部分字元會被錯誤轉換:
🔹 ∞ → 變成 8
🔹 π → 變成 p
🔹 ¥ → 變成 \ 反斜線(可影響路徑解析)
這些轉換可能讓某些安全機制失效或導致系統誤判,進一步造成攻擊風險。
⚠️ 這項漏洞可以怎麼被利用?
研究團隊發現了 3 種攻擊手法:
1. Filename Smuggling(檔名偽裝)
繞過存取控制,導致路徑遍歷(Path Traversal)、非預期的檔案存取。
2. Argument Splitting(參數分割)
繞過命令列解析的安全機制,實現參數注入,導致命令執行被劫持或修改。
3. Environment Variable Confusion(環境變數混淆)
影響環境變數解析,導致安全漏洞。
這類攻擊範圍極廣,研究團隊已開始回報受影響的開源專案與廠商,期望漏洞獲得重視與修補。
✔ 如何防範 WorstFit 攻擊?
1. 改用 Wide Character API
盡量避免使用 ANSI,改用 Wide Character API。不僅限於 Windows API,C Runtime Library 也提供對應的寬字元版本,例如 _wgetcwd 和 _wgetenv。
2. 啟用 UTF-8
在「Windows 地區設定」啟用「Beta: 使用 Unicode UTF-8 提供全球語言支援」,減少錯誤轉換風險。
【🚩看更多】
✔ 研究原文(攻擊+防禦建議):https://blog.splitline.tw/worstfit-unveiling-hidden-transformers-in-windows-ansi/
✔ WorstFit 影響清單:https://worst.fit/
✔ 相關報導:https://www.ithome.com.tw/news/167515
Source: ithome


