【避開檢測】惡意軟件開發轉用新型編程語言 阻研究人員分析編碼
根據 BlackBerry 研究與情報團隊發布的一份最新報告,最近 Go(Golang)、D(DLang)、Nim 和 Rust 的程式編碼,這些編碼的使用率突然上升,並是常用於「企圖逃避安全檢測,或解決開發過程中的特定痛點」。研究人員表示,惡意軟件開發者愈來愈多地使用不尋常或新型編程語言,來阻礙分析工作及逆向工程(reverse engineering)。
BlackBerry 團隊指出,惡意軟件開發人員正在試驗用這些語言所編寫的加載器和釋放器,以適合在攻擊鏈中的第一階段和下一階段進行惡意軟件部署。為了避免在目標端點上被檢測到,第一階段的釋放器和加載器正變得愈來愈常用,一旦惡意軟件繞過了安全檢測,它們就會被用來解碼、加載,並部署包括木馬程式在內的惡意軟件。報告中提到的惡意軟件,包括遙距訪問木馬程式 (RATs) Remcos 和 NanoCore。此外,Cobalt Strike 也被指有部署。不過一些擁有更多資源的開發者,正將他們的惡意軟件完全重寫為新的編程語言,例如 Buer 到 RustyBuer。
研究人員表示,網絡犯罪分子對 Go 特別感興趣。BlackBerry 稱,無論是獲國家支持的持續威脅組織 (APT) 和一般商品式惡意軟件的開發人員,都對編程語言產生了濃厚的興趣,藉以令他們的程式「升級」。 在 6 月時,CrowdStrike 曾表示,一種新的變種勒索軟件借鑒了 HelloKitty/DeathRansom 和 FiveHands 的功能,但使用 Go 打包程式作主要負載進行加密。
BlackBerry 團隊指,基於 Go 的新惡意軟件樣本現時頗定期出現,並包括在所有不同類型的惡意軟件,針對著所有主要操作系統。與此同時,DLang 在 2021 年的採用率也緩慢上升中。
研究人員表示,開發者使用新的或更不尋常的編程語言,或會妨礙逆向工程工作,及避免使用以簽名為本的檢測工具,以提高目標系統的交叉兼容性;而代碼庫本身也可能會添加一層作隱藏,而惡意軟件開發人員更無需再進一步的努力,因為它只是編寫語言的一部分。
BlackBerry 威脅研究副總裁 Eric Milam 指,惡意軟件的開發者適應新科技,並與時並進地修改他們的技能和行為,這從開發週期和保護解決方案固有的覆蓋範圍不足,為他們帶來了多重優勢,呼籲業界和客戶了解及密切關注這些趨勢,因為它們正持續增加。