基于 Go 编写的恶意软件数量激增 2000%

白开水不加糖
 白开水不加糖
发布于 2021年02月28日
收藏 9

网络安全公司 Intezer 发布了一份报告,概述了威胁行为者在 2020 年期间使用 Go 恶意软件的情况。其中包括对已经活跃多年的恶意软件和从未被公开报道的恶意软件的代码连接和 IoC 的分析。

该报告指出,自 2017 年以来,用 Go 编程语言编码的恶意软件菌株数量在过去几年中急剧增加了约 2000%。这一发现凸显并证实了恶意软件生态系统的一个普遍趋势,即恶意软件作者已经慢慢从 C 和 C++ 转向 Go。

第一个基于 Go 的恶意软件在 2012 年被发现,在此几年后,Go 才在恶意软件领域流行起来。报告指出,在 2019 年之前,发现用 Go 编写的恶意软件更多的是一种罕见的现象,而在 2019 年期间,它变成了一种日常现象。现如今,Go 语言已经被恶意软件广泛采用。 国家级黑客组织( APT)、网络犯罪操作员甚至连安全团队都在使用该语言,并经常使用它来创建渗透测试工具包。

而 Golang 之所以出现这种“人气”骤增的现象,主要原因有三。首先是 Go 支持跨平台编译的简易流程;这使得恶意软件开发者只需编写一次代码,就可以从同一个代码库中编译出多个平台的二进制文件,让他们可以从同一个代码库中针对 Windows、Mac 和 Linux,这种多功能性是其他许多编程语言通常不具备的。

第二个原因是基于 Go 的二进制文件仍然很难被安全研究人员分析和逆向工程,这使得基于 Go 的恶意软件的检出率一直很低。第三个原因与 Go 对网络数据包和请求工作的支持有关。Intezer 解释称:

"Go 具有编写良好的网络堆栈,很容易操作。Go 已经成为云计算的编程语言之一,很多云原生应用都是用它编写的。例如,Docker、Kubernetes、InfluxDB、Traefik、Terraform、CockroachDB、Prometheus 和 Consul 都是用 Go 编写的。虑到创建 Go 的原因之一就是发明一种更好的语言来代替 Google 使用的内部 C++ 网络服务,因此这是有道理的。"

由于恶意软件菌株通常会一直篡改、组装或发送/接收网络数据包,Go 为恶意软件开发人员提供了他们在一个地方所需的所有工具,这也就很容易理解为什么许多恶意软件编码人员都会放弃 C 和 C++ 而使用它。

Intezer 指出,许多恶意软件(家族)都是针对 Linux 和物联网设备的僵尸网络,它们可以安装加密矿机或将受感染的机器加入 DDoS 僵尸网络。此外,使用 Go 编写的勒索软件似乎也在变得越来越普遍。

在 2020 年看到的一些最大和最流行的基于 Go 的威胁的例子包括(每个类别):

Nation-state APT malware

  • Zebrocy- 俄罗斯政府资助的组织 APT28 去年为其 Zebrocy 恶意软件创建了一个基于 Go 的版本。
  • WellMess- 俄罗斯政府资助的组织 APT29 去年部署了其基于 Go 的 WellMess 恶意软件的新升级版本。

E-crime malware:

  • GOSH - Carbanak 组织在去年 8 月部署了一个用 Go 编写的名为 GOSH 的新 RAT。
  • Glupteba - 2020 年出现了新版本的 Glupteba loader,比以往任何时候都先进。
  • Bitdefender 看到了一个针对运行 Oracle WebLogic 的 Linux 服务器的新 RAT
  • CryptoStealer.Go - 2020 年出现了新的改进版 CryptoStealer.Go 恶意软件,此恶意软件的目标是加密货币钱包和浏览器密码。
  • 此外,在 2020 年还发现了一个用 Go 语言编写的 clipboard stealer。

基于 Go 编写的新勒索软件菌株:

鉴于其最近的发现,Intezer 与其他公司一起,预计 Golang 的使用率在未来几年将继续上升,并与 C、C++ 和 Python一起,成为未来恶意软件编码的首选编程语言。

本站文章除注明转载外,均为本站原创或编译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动共创开源社区。
转载请注明:文章转载自 开源中国社区 [http://www.oschina.net]
本文标题:基于 Go 编写的恶意软件数量激增 2000%
加载中

精彩评论

烽火云烟
烽火云烟
我直接懵了,这事也要 golang 组织管?
陈钇蒙
陈钇蒙
做菜刀的人如何制止使用菜刀的罪犯?
乌合之众
乌合之众
Go 编写恶意软件用其他语言也一样编写,这个只能说明 Go 是一门实用易学的优秀编程语言。
不过 Go 导入包的模式和包的 init 函数,导致必须要检查所有直接或间接引用的包,以防被投毒。(类似于阿里开源彩蛋)
小紫羽
小紫羽
讨论责任就讨论责任,实事求是,你打比方,偷换概念是不对的
F
Francesca
技术是把双刃剑,你可以用来做好事,也可以用来干坏事。就像很多黑客用技术谋取黑色利益一样。

最新评论(37

3789
3789
看起来流程并不简单,为什么说简单呢?🤔
小猪猪hans
小猪猪hans
俄罗斯是病毒生产研究大国
kiduc
kiduc
Golang应该是餐具制造商吧,食物是数据.餐厅拿工具去打劫用户才是恶意软件。吃坏肚子只是个烂软件功能
f
fch1993
主要是二进制包很难被反编译用于检测,也就是本身就有很强的免杀能力。
开源狂人
开源狂人
go降低了开发难度,提升了可用性,一些非专业人士放弃易语言转投Go,这事简单,以后使用Go语言就实名制,工安局先备案,银行出示信用等级,抿政局出示单身证明,街道社区大妈担保后,公证处公证公示7天后,可以下载Go。
默默看着你
默默看着你
若操作系统能管控好一切计算机资源,恶意软件、病毒是没有生存空间。就拿文件被加密勒索病毒说,在android和ios等系统的app隔离机制上根本就不起作用。要背也应该是操作系统的锅。
lovexiaov
lovexiaov
回复 @StevenDisonTangor : 文章中没写到具体数字,只提了一句在2019年之前,用GO写恶意软件非常罕见,那么如果开始的基数特别小,2000%这个比例就没有想象中的那么恐怖。放到一个餐厅几十上百个人的比例,也许就是个个例。文章中还提到了“甚至连安全团队都在使用该语言”,这其实说明了GO语言并不只是利好写恶意软件,它是一把锋利的双刃剑,无法决定使用它的是好人还是坏人。当然,铸剑师也不会因为有坏人拿它作恶就钝其锋芒。大家都希望这个语言发展的更好,但这并非一个组织或团队就可以把控的,对吧?
TavenLi
TavenLi
确实,目前 Go 导入包的模式和包的 init 函数 是很大的安全隐患
少年你还不懂事
少年你还不懂事
回复 @StevenDisonTangor : 我觉得你先搞清楚什么叫类比,类比要注意什么,再来讨论会更好,不然责任都没划分清楚,后面实在没法讨论
少年你还不懂事
少年你还不懂事
回复 @lovexiaov : 你这第二条类比不太对,应该是那人打包带走在饭菜里加了泻药给受害者吃
返回顶部
顶部