更多

    人類審查員無法分辨!源碼木馬惡意利用 Unicode 製造漏洞!

    Mickey Chan
    愛騎單車的宅,眼鏡娘控。 1.膽固醇跟美味是成正比的; 2.所有人都可以騙,但絕對不能騙自己; 3.賣掉的貨才是錢,不賣的收藏品不值一文; 4.踩單車,是為了吃更多美食! 5.正義的話語,不一定出自正義之人的口;

    現在有很多程式標榜開源,讓所有人可以隨時下載源程式碼來審核,以防止有邪惡程式員在程式裡刻意製造漏洞甚至藏入惡意功能。不過你有沒有想過看似完全無害的字母,人眼和程式編譯器看起來可以完全不一樣,從而將正常的程式變成魔鬼?劍橋大學電腦研究所剛剛就發表論文,披露一種嶄新的源程式碼瞞騙手法,人類審查員單憑肉眼難以分辨出源程式碼「有餡」!

    據劍橋大學電腦研究院的 Ross Anderson 表示他們發現一種名為「 Trojan Source (源碼木馬)」的手法,透過玩弄源程式碼的編碼,令到人類審查員所看到的程式邏輯,與編譯器看到的截然不同。其中一種惡意編寫手法是使用 Unicode 閱讀方向覆蓋字符來隱藏程式的真正邏輯。

    他們證實這種惡意編程手法適用在 C 、 C++ 、 C# 、 Javascript 、 Java 、 Rust 、 Go 和 Python 這些時下通用的程式語言,更推測這手法對其他現代程式語言一樣有效。研究人員同時亦發現另一個利用看起來與英語相似的同音字符來瞞騙程式審查員的攻擊手法。

    Ross Anderson 表示這項研究靈感來自他們利用上述手法和 Unicode 其他特性,來攻破用來過濾有害內容、機器翻譯和很多其他自然語言處理程序所用的文本型機器學習系統。

    為免有惡意分子利用這個手法在正常程式內插入漏洞,研究人員已經封鎖了消息 99 日,讓編譯器、解譯器、程式碼編輯器和程式庫開發者採取預防措施。

    您會感興趣的內容

    相關文章