史上第一個能感染一切的漏洞現身,新型態「Trojan Source」供應鏈攻擊來襲!

作者 | 發布日期 2021 年 11 月 09 日 8:30 | 分類 網路 , 資訊安全 , 軟體、系統 Telegram share ! follow us in feedly


劍橋大學研究人員發現一個能感染大部分電腦程式碼編譯器及許多軟體開發環境的程式漏洞,並將運用這漏洞的攻擊稱為「木馬化原始碼」(Trojan Source)攻擊。電腦安全學者甚至稱為第一個能感染一切的安全漏洞,透過這個漏洞,駭客可對整個電腦軟體業發動供應鏈攻擊(Supply Chain Attack)。

Trojan Source 攻擊可說是「同形字攻擊」(Homoglyph Attack)進一步發展下的新型態攻擊手法,能透過 Unicode 萬用碼控制字元濫用,讓人們從螢幕看到的原始碼與編譯器(Compiler)產生的二進制碼截然不同。攻擊者透過這手法讓明明有安全疑慮的原始碼,在程式碼審查人員眼中覺得安全無害。一旦這些動過手腳的原始碼整併到其他重要程式碼或程式庫,整個軟體供應鏈就被植入木馬一般,接下來就等著被攻擊。

對駭客而言,編譯器與萬國碼扮演「協助」Trojan Source 漏洞橫空出世的重要角色。首先,目前所有編譯器都有弱點,導致駭客能將針對性漏洞引進任何軟體而不被偵測。

萬國碼最大特點就是允許電腦在無關使用語言下交換資訊,但 Trojan Source 漏洞主要涉及萬國碼雙向(Bi-directinal,Bidi)演算法。

由於透過 Bidi override 控制字元便能改變文字書寫的順序與方向,加上大部分程式語言允許將這些 Bidi override 控制字元置入註解與字串,偏偏大部分程式語言允許編譯器與直譯器(Interpreter)忽略註解所有純文字(包括控制字元),還允許字串字面值(string literal)包含控制字元等任意字元,給駭客大加利用原始碼的機會。騙過程式碼審查人員後,駭客彷彿獲得打造「完全隱性」針對性原始碼漏洞的特異武功,堂而皇之將原始碼與漏洞佈建到軟體供應鏈每個環節,為進一步軟體供應鏈攻擊做好準備。

(首圖來源:Google Cloud