安全研究人員發出警告:謹防易被人工審核忽略的木馬漏洞源碼
Light Blue Touchpaper 今日分享了一份標題為《木馬源碼:隱形漏洞》的文章,其中提到了一些”酷炫”的新技巧,以充分利用難以被人類代碼審核人員當場抓獲的目標漏洞。 據悉,想要將漏洞引入某款軟體,製作者可嘗試在一段晦澀的代碼片段中插入一個不顯眼的”錯誤”。 那樣即使操作系統等關鍵開源專案制定了嚴格的人工審核流程,但邪惡的代碼還是很容易被漏過。
(來自:Light Blue Touchpaper | PDF)
Ross Anderson寫道:「我們發現了操縱原始程式碼檔編碼的新方法,特點是讓人類審核員和編譯器看到不同的執行邏輯」。
據悉,這種特別的有害方法利用了 Unicode 的方向覆蓋字元,以將真實代碼隱匿於字元迷藏之下。
研究人員已證實,這種攻擊已波及 C、C++、C#、JavaScript、Java、Rust、Go、以及 Python 等變成語言,並且有望擴大覆蓋其它現代語言。
除了編號為CVE-2021-42574的通用漏洞披露報告,MITRE 還指出了可利用”同形文字”(視覺上相似的字元)的CVE-2021-42694攻擊方法。
為了給漏洞修復騰出時間,安全研究人員特地拖了 99 天才正式披露。 目前許多編譯器、解釋器、代碼編輯器、以及存儲庫,都已經落實了專門的防禦手段。
Ross Anderson 補充道,這項攻擊的靈感,源於其近期在”不可查覺的擾動”等方面的最新工作。
其使用方向性覆蓋、同形文字、以及其它 Unicode 功能,實現了用於有毒內容過濾、機器翻譯和其它自然語言處理(NLP)等任務,且基於文字的機器學習系統。
感興趣的朋友,可移步至 trojansource.codes 專案門戶,查看有關”木馬源碼”(Trojan Source)攻擊的更多細節、或在GitHub上查看概念驗證。