惡意軟件訴諸不尋常的編程語言來逃避檢測
Blackberry Research and Intelligence 的研究人員發布了一份新報告,重點介紹了惡意軟件的一個有趣趨勢。研究論文表明,越來越多的惡意軟件編碼人員開始轉向不尋常和奇特的編程語言,以不斷努力生產能夠在雷達下被忽視的惡意軟件。
該報告側重於四種獨立的編程語言,特別是從這些語言中挑選它們,因為雖然它們位於主流之外,但它們仍然相對發達,並且擁有強大的社區支持和可用資源。
開發惡意軟件的威脅參與者已經開始重寫流行的惡意軟件工具,使用非常相似的功能從頭開始對它們進行編碼,但使用一種新的語言作為基礎。這導致越來越多的新惡意軟件家族被研究人員識別和編目,即使新惡意軟件在功能上與現有惡意軟件相似,只是因為使用的代碼庫和語言不同。
該報告還強調了威脅參與者的趨勢,即使用不常見的編程語言將注意力集中在開發加載器和文件釋放器上。
在研究論文中考察的語言中,Go 是一大亮點。它是一種在結構和功能上與 C++ 相似的語言,在切換到 Go 之前,Go 的編譯器最初也是用 C++ 編寫的。
有兩個特定的、重要的威脅參與者將大量開發工作集中在使用 Go 上。這些是 APT28 和 APT29——據信這兩個威脅組織都在俄羅斯領土之外開展活動。
其他在惡意軟件作者中越來越受歡迎的著名語言包括 Rust、Nim 和 Dlang,或者只是 D 編程語言。
除了混淆一些檢測機制和系統之外,用外來語言編寫和編譯的惡意軟件還會大大減慢研究人員反編譯和逆向工程新惡意軟件的速度,這僅僅是因為專注於更常見語言的工具的流行。
Blackberry Research 強調,如果惡意軟件研究人員想要有效,就需要跟上這些不斷發展的趨勢。