近些年來,Rust 編程語言因諸多優點而越來越受歡迎,包括高級控制、内存安全性和靈活性等優點。然而,雖然這些特性使 Rust 成爲開發人員手裏的一種強大工具,但也使其成爲網絡犯罪分子眼裏的一種誘人語言。這篇博文将探讨這種語言的陰暗面以及爲什麽網絡犯罪分子日益将其用于惡意目的。
Rust 這種系統編程語言旨在提供針對系統資源的低級控制,同時确保内存安全性。這使得它成爲一種功能強大的語言,适用于開發需要對系統資源(比如操作系統、網絡協議和設備驅動程序)進行嚴加控制的高性能應用程序。
Rust 編程語言的曆史
Rust 編程語言最初是在 2010 年由 Mozilla 引入的,當時隻是 Mozilla 員工 Graydon Hoare 的個人項目。這種語言的初衷是創建一種有望提供比 C 和 C++ 等現有語言更好的内存安全性和并發性的語言。其語法深受 C 和 C++ 的影響,但也結合了其他編程語言的功能,比如 Haskell 和 ML。Rust 的開發由貢獻者社區推動,并在 2012 年開放了源代碼。
Rust 迅速流行起來,它在 2016 年、2017 年和 2018 年的 Stack Overflow 開發者調查中均被列爲人們偏愛使用的編程語言。它已被用于從網頁開發到遊戲開發的衆多項目,并已被微軟、谷歌和 Dropbox 之類的大公司采用。Rust 的成功可以歸因于專注于性能、安全性、并發性以及活躍的支持性社區。
Rust 被用于惡意目的的例子
Rust 越來越多地被網絡犯罪分子用來開發衆多惡意應用程序。以下是基于 Rust 的攻擊的幾個例子:
1. 惡意軟件開發—— Rust 爲網絡犯罪分子提供了開發惡意軟件的一種強大工具。Rust 的低級控制和内存安全特性使其成爲開發隐秘且複雜的惡意軟件的理想語言,這些惡意軟件可以逃避傳統安全措施的檢測。
2. 僵屍網絡——網絡犯罪分子正在使用 Rust 開發僵屍網絡,僵屍網絡是由受攻擊計算機組成的網絡,可用于各種惡意目的,包括發送垃圾郵件、實施分布式拒絕服務(DDoS)攻擊和挖掘加密貨币。Rust 的高級控制和靈活性使其成爲開發僵屍網絡的理想語言,這些僵屍網絡可以逃避安全措施的檢測。
3. 網絡釣魚攻擊—— Rust 可以用來開發複雜的網絡釣魚攻擊,可以誘騙用戶洩露其個人信息。Rust 的易用性和靈活性使其成爲開發網絡釣魚工具的理想語言,這類工具可加以定制,以便攻擊特定的用戶和平台。
4. 加密貨币挖掘攻擊——網絡犯罪分子使用 Rust 開發惡意軟件,從而劫持受害者的計算機來挖掘加密貨币。Rust 的高級控制和内存安全特性使其成爲開發隐秘且複雜的加密貨币挖掘惡意軟件的理想語言。
5. 勒索軟件攻擊—— Rust 可用于開發複雜的勒索軟件攻擊,從而加密受害者的數據并要求支付贖金,以換取解鎖加密數據的密鑰。Rust 的低級控制和内存安全特性使得安全研究人員很難檢測和消除用 Rust 開發的勒索軟件攻擊。
哪些勒索軟件組織使用 Rust?
用 Rust 編寫的勒索軟件持續了整個 2022 年,2021 年底出現的 BlackCat 組織就采用了這種惡意軟件。美國聯邦調查局(FBI)分析 BlackCat 後認爲,該組織的高成功率歸因于他們使用用 Rust 編寫的勒索軟件種類。
BlackCat
它也被稱爲 ALPHV,自從出現以來,SOCRadar 已記錄的受害者有 200 多個。這是第一個用 Rust 開發的勒索軟件,也是攻擊次數最多的。BlackCat 使用 RaaS 模式。然而,爲了在網絡犯罪市場中脫穎而出,他們改變了商業模式,對使用其版本進行的攻擊提供最高 90% 的獎勵。
Hive
自 2021 年以來,基于 RaaS 的 Hive 勒索軟件一直在肆虐。在 2022 年,它們以第二種 Rust 惡意軟件的面目示人,在其洩露網站上披露了 200 多個受害者。
然而,Hive 勒索軟件組織已備受關注。外國執法官員曾在 2023 年 1 月成功地端掉了至少兩個洩露網站。
Luna
卡巴斯基的研究人員發現了 Luna 勒索軟件。勒索軟件組織面向在暗網上說俄語的加盟組織推廣 Luna。該惡意軟件于 2022 年 7 月被确認是用 Rust 編寫的惡意軟件之一,可以感染所有 Windows ESXi 和 Linux 計算機。Luna 結合采用了 x25519 加密和 AES 加密,進一步加大了逆向工程的難度。
RansomwareExx
RansomwareExx2 變種是 RansomwareExx 家族的成員,于 2022 年最後幾個月被發現。這個惡意軟件再次證明了用其他語言編寫的變種具有的危險性,因爲在最初檢測後的兩周,VirusTotal 的結果都沒有将其識别爲是有害的惡意軟件。
Agenda
研究人員發現,在 2022 年最後一個月轉而采用 Rust 的組織是 Agenda 或 Qilin 組織。它們之前是用 Go 編寫的變種,針對每個受害者量身定制。該組織采用了 RaaS 模式,對許多國家和行業發動了勒索軟件攻擊。由 Go 改爲 Rust 導緻了逆向工程更具挑戰性,而且檢測率比 Go 變種更低。
網絡犯罪分子鍾情 Rust 編程語言的原因
一種名爲 Rust 的比較新的編程語言由于其速度、可靠性和内存安全特性而在開發人員中越來越受歡迎。然而,網絡犯罪分子也注意到了 Rust 在創建惡意軟件及其他惡意工具方面具有的潛力。
Rust 的内存安全特性使得黑客很難利用内存漏洞,這是一種用于控制系統的常用策略。然而,同樣這項特性也使黑客更容易創建難以檢測和删除的惡意軟件。
Rust 的速度和性能使其成爲開發可以快速跨網絡傳播并感染多個系統的惡意軟件的一種誘人的選擇。它還便于黑客創建更複雜的攻擊,規避傳統的安全措施。
Rust 的開源特性及其不斷擴大的開發者社區也爲網絡犯罪分子提供了輕松訪問代碼庫和資源的機會,這些代碼庫和資源可用于開發新的、更危險的攻擊。
雖然 Rust 本身并不是惡意的,但它的特性和日益流行使其成爲網絡犯罪分子的重要工具。随着開發人員繼續探究 Rust 的潛力,安全社區需要保持警惕,并開發新的策略來檢測和緩解基于 Rust 的攻擊。
Rust 和網絡犯罪的未來
Rust 在開發人員當中越來越受歡迎,這意味着它也可能成爲越來越受網絡犯罪分子歡迎的語言。随着 Rust 越來越受歡迎,可以預料會出現更複雜更隐秘的基于 Rust 的攻擊。
然而,Rust 的日益普及也意味着它可能會成爲網絡安全專業人員的首選語言。随着更多的網絡安全專業人員熟悉 Rust 及其特性,我們預計會看到開發出新的工具和技術來檢測和緩解基于 Rust 的威脅。
值得注意的是,Rust 本身并不是天生就是惡意的。像任何編程語言一樣,它是一種工具,既可以用于正道,也可以用于歪道。Rust 開發人員有責任通過設計安全可靠的應用程序來防止被濫用。
結論
Rust 是一種功能強大的編程語言,越來越多地被網絡犯罪分子用于惡意目的。其高級控制、内存安全性和靈活性使其成爲開發隐秘且複雜的惡意軟件、僵屍網絡、網絡釣魚攻擊、加密貨币挖掘惡意軟件和勒索軟件攻擊的理想語言。
将 Rust 用于惡意目的給網絡安全專業人員帶來了幾個挑戰,包括 Rust 固有的安全特性、與安全工具的兼容性、檢測基于 Rust 的攻擊的難度,以及需要專門的技能和知識來防禦基于 Rust 的威脅。
然而,Rust 的日益普及也意味着它很可能成爲網絡安全專業人員的首選語言。随着更多的網絡安全專業人員熟悉 Rust 及其特性,我們預計會看到開發出新的工具和技術來檢測和緩解基于 Rust 的威脅。