惡意軟件開發(fā)語言正從C/C++轉(zhuǎn)向Go 近年來呈爆發(fā)式增長
根據(jù)網(wǎng)絡(luò)安全公司 Intezer 本周發(fā)布的一份報(bào)告,自 2017 年以來使用 Go 編程語言編寫的惡意軟件數(shù)量呈現(xiàn)爆發(fā)式增長,增幅超過 2000%。從報(bào)告中可以看到,惡意軟件作者已逐漸從 C/C++ 轉(zhuǎn)向 Go,這是一種由谷歌在 2007 年開發(fā)并推出的編程語言。
雖然首個(gè)基于 Go 語言開發(fā)的惡意軟件在 2012 才被檢測到,但在短短幾年時(shí)間里該語言已經(jīng)在惡意軟件領(lǐng)域快速流行起來。Intezer 在報(bào)告中說:“在 2019 年之前,發(fā)現(xiàn)用 Go 編寫的惡意軟件更多的是一種罕見的現(xiàn)象,而在 2019 年期間,它變成了一種日?,F(xiàn)象”。
如今,Golang(Go 的另一種稱呼)已經(jīng)取得了突破性進(jìn)展,并被廣泛采用。有國家背景的黑客組織(比較出名的有 APT)、網(wǎng)絡(luò)犯罪運(yùn)營商,甚至安全團(tuán)隊(duì)都在使用它,他們經(jīng)常用它來創(chuàng)建滲透測試工具包。
Golang 之所以會(huì)出現(xiàn)這種突然暴漲的現(xiàn)象,主要有三個(gè)原因。首先是 Go 支持跨平臺(tái)編譯的簡易流程。這使得惡意軟件開發(fā)者只需編寫一次代碼,就可以從同一個(gè)代碼庫中編譯出多個(gè)平臺(tái)的二進(jìn)制文件,使他們可以從同一個(gè)代碼庫中針對(duì) Windows、Mac和Linux,這種多功能性是其他許多編程語言通常不具備的。
第二個(gè)原因是,基于 Go 的安裝文件仍然很難被安全研究人員分析和逆向工程,這使得基于Go的惡意軟件的檢出率一直很低。第三個(gè)原因與 Go 對(duì)網(wǎng)絡(luò)數(shù)據(jù)包和請(qǐng)求工作的支持有關(guān)。
Intezer解釋說:“Go有一個(gè)非常好寫的網(wǎng)絡(luò)堆棧,很容易使用。Go已經(jīng)成為云的編程語言之一,很多云原生應(yīng)用都是用它編寫的。例如,Docker、Kubernetes、InfluxDB、Traefik、Terraform、CockroachDB、Prometheus和Consul都是用Go編寫的。這很有意義,因?yàn)閯?chuàng)建Go背后的原因之一是發(fā)明一種更好的語言,可以用來取代谷歌內(nèi)部使用的C++網(wǎng)絡(luò)服務(wù)”。