《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 漏洞之王:Unicode編譯器漏洞威脅全球軟件代碼

漏洞之王:Unicode編譯器漏洞威脅全球軟件代碼

2021-11-02
來源:互聯網安全內參
關鍵詞: 編譯器

  近日,劍橋大學研究人員發現了一個可影響當今大多數計算機軟件代碼編譯器和軟件開發環境的漏洞。這個漏洞來自數字文本編碼標準Unicode的一個組件,Unicode目前在154中不同的編程語言腳本中定義了超過14.3萬個字符(除了一些非腳本字符集,例如表情符號)。

  簡而言之,幾乎所有的編譯器(將人類可讀的源代碼轉換為計算機可執行的機器代碼的程序)都容易受到惡意攻擊。在這種攻擊中,攻擊者可以在不被發現的情況下將有針對性的漏洞引入任何軟件。該漏洞的披露由多個組織協調完成,其中一些組織現在正在發布漏洞緩解更新。

  該漏洞被命名為“原木馬”(Trojan Source)。具體而言,該弱點涉及Unicode的雙向或“Bidi”算法,該算法處理包含具有不同顯示順序的混合腳本的顯示文本,例如阿拉伯語(從右到左閱讀)和英語(從左到右)。

  但是計算機系統需要有一種確定性的方法來解決文本中的方向沖突。輸入“Bidi override”,可用于使從左到右的文本從右到左閱讀,反之亦然。

  “在某些情況下,Bidi算法設置的默認排序可能不夠,”劍橋研究人員寫道。“對于這些情況,Bidi override強制控制字符可以切換字符組的顯示順序。”

  Bidi override甚至可以不同于其邏輯編碼的順序顯示單個腳本字符。正如研究人員指出的那樣,這一功能以前曾被用來偽裝通過電子郵件傳播的惡意軟件的文件擴展名。

  問題在于:大多數編程語言都允許開發者將這些Bidi override控制字符放在注釋和字符串中。這很糟糕,因為大多數編程語言都允許注釋,而且注釋中的所有文本(包括控制字符)都被會編譯器和解釋器忽略。同樣糟糕的是,大多數編程語言都允許使用包含任意字符(包括控制字符)的字符串。

  這是第一個危及幾乎所有軟件的,“簡潔優雅的”超級漏洞。

  劍橋大學計算機安全教授、該研究的合著者羅斯·安德森說:“因此,您可以在對人類審閱者看來無害的源代碼中使用它們,(暗地里)卻做一些令人討厭的事情。” “對于像Linux和Webkit這樣的項目來說,這絕對是個壞消息,這些項目接受任何人的代碼貢獻,人工審核后將它們合并到關鍵代碼中。據我所知,這個漏洞是第一個影響幾乎所有(軟件)的漏洞。”

  該研究論文將該漏洞稱為“Trojan Source”,指出雖然注釋和字符串都有特定語法指示其開始和結束位置,但Bidi overrides不遵守這些界限。論文指出:

  “因此,如果將Bidi控制字符有意放置在注釋和字符串中,我們能以大多數編譯器可接受的方式將它們偷偷混入源代碼中。我們的主要見解是,我們可以重新排列源代碼字符,讓它們看上去是合乎句法的源代碼。”

  “將所有這些結合在一起,我們能夠對源代碼實施新型供應鏈攻擊。通過將Unicode Bidi控制字符注入注釋和字符串中,攻擊者可以在大多數現代計算機語言中生成句法有效的源代碼,其中字符的顯示順序呈現與實際邏輯不同的邏輯。實際上,我們已經偷梁換柱將程序A轉換為程序B。”

  安德森表示,這樣的攻擊對于人類代碼審查人員來說可能很難檢測到,因為渲染的源代碼看起來完全可以接受。

  “如果邏輯上的變化足夠微妙,以至于在后續測試中未被發現,那么攻擊者可能會在不被發現的情況下引入有針對性的漏洞。”他說。

  同樣令人擔憂的是,Bidi控制字符通過大多數現代瀏覽器、編輯器和操作系統上的復制和粘貼功能駐留。

  “任何將代碼從不受信任的來源復制到受保護的代碼庫中的開發人員都可能無意中引入了一個不可見的漏洞。”安德森指出:“這種代碼復制是現實世界安全漏洞的重要來源。”

  約翰霍普金斯信息安全研究所副教授馬修格林表示,劍橋的研究清楚地表明,大多數編譯器都可以被Unicode欺騙,以不同于讀者預期的方式處理代碼。

  “在閱讀這篇論文之前,Unicode可以以某種方式被利用的想法不會讓我感到驚訝,”格林指出:“令我驚訝的是,有多少編譯器會在沒有任何防御的情況下愉快地解析Unicode,以及他們的從右到左編碼技術在將代碼潛入代碼庫方面的效果如何。這是一個非常聰明的技巧,人們以前壓根沒有想到這種可能性。”

  格林說,好消息是研究人員進行了廣泛的漏洞掃描,但無法找到任何人正在利用此漏洞的證據。但是:

  “壞消息是它沒有防御措施,現在人們知道了,不法分子可能會開始利用它,”格林說:“希望編譯器和代碼編輯器開發人員能夠快速修補這個問題!但由于有些人不定期更新開發工具,至少在一段時間內會有一些風險。”

  安德森指出,到目前為止,大約一半負責維護受影響的計算機編程語言的組織已經承諾提供補丁,但其他人正在拖延。

  “我們將在接下來的幾天內監控他們的部署,”安德森說。“我們還期待Github、Gitlab和Atlassian采取行動,因此他們的工具應該能夠檢測對仍然缺乏雙向字符過濾的語言的代碼的攻擊。”

  至于需要對Trojan Source采取什么措施,研究人員敦促依賴關鍵軟件的政府和公司確定其供應商的安全態勢,向他們施加壓力以部署足夠的防御,并確保工具鏈中任何一個環節都被覆蓋。

  論文指出:

  “Trojan Source漏洞幾乎影響所有計算機語言,這使其成為在整個技術生態中跨平臺跨供應商比較響應能力的難得機會。”該論文總結道。“由于使用這些技術可以輕松發起強大的供應鏈攻擊,因此,所有參與軟件供應鏈的組織實施防御至關重要。”

  加州大學伯克利分校計算機科學系講師尼古拉斯韋弗則也指出:

  “對該漏洞的協調披露過程將會是觀察我們如何解決此類問題的絕佳范本,”他說。“這個漏洞是真實存在的,但也凸顯了現代計算機代碼依賴性中的更大漏洞。”

  截至發稿,Rust已針對此安全漏洞發布了安全公告,漏洞編號為CVE-2021-42574和CVE-2021-42694。




電子技術圖片.png

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:[email protected]
主站蜘蛛池模板: 免费视频久久 | 波多野吉衣 免费一区 | 一区二区免费看 | 中文精品久久久久国产网址 | 欧美精品一区二区三区视频 | 国产亚洲精品久久久久久午夜 | 国产成人免费观看在线视频 | 亚洲美女在线观看播放 | 亚洲欧洲国产成人综合一本 | 免费看成人www的网站软件 | 免费观看日本特色做爰视频在线 | 中文字幕在亚洲第一在线 | 国产肥老妇视频一 | 成年网站视频在线观看 | 美女黄视频网站 | 国产成人精品本亚洲 | 日本亚州在线播放精品 | 337p粉嫩大胆噜噜噜鲁 | 91久久精品国产亚洲 | 国产一区精品 | 国产精品制服 | 亚洲天堂手机在线 | 色涩亚洲 | 日韩三级精品 | 一级做a爱视频 | 欧美激情第一欧美在线 | 一级特黄性色生活片一区二区 | 222aaa免费国产在线观看 | 男女配种猛烈免费视频 | 一级免费a | 久久久亚洲天堂 | 亚洲系列中文字幕一区二区 | 亚洲精品一区 | 国内精品视频九九九九 | 久久国产精品久久 | 久久在线综合 | 久久久免费视频观看 | 免费人成黄页网站在线观看 | 亚洲乱码一区二区三区国产精品 | 国产成人精品视频一区二区不卡 | 天堂va欧美ⅴa亚洲va一国产 |