GMTC全球大前端技术大会(北京站)门票9折特惠截至本周五,点击立减¥480 了解详情
写点什么

使用 Go 语言编写的恶意软件激增 2000%

2021 年 3 月 09 日

使用Go语言编写的恶意软件激增2000%

近日,网络安全公司 Intezer 发布了 2020 年基于 Go 语言恶意软件的报告。报告指出:恶意软件的开发者已经从 C 和 C++ 逐渐转向 Go 语言,自 2017 年以来,基于 Go 语言的恶意软件数量呈现爆发式增长,增幅超过了 2000%。


自从 2012 年发现了第一个使用 Go 语言编写的恶意软件之后,Go 语言就在恶意软件领域渐渐流行起来了。2019 年 7 月,Palo Alto Networks 发布了一份使用 Go 语言编写的恶意软件分析报告。报告发现,2019 年以前使用 Go 语言编写恶意软件是一件罕见的事情,但到了 2019 年,这种情况每天都会发生,2017 年到 2019 年,基于 Go 语言的恶意软件的样本数量增加 1944%。在这些恶意软件中,92% 是针对 Windows,4.5 是针对 Linux,3.5% 是针对 macOS。


那么,2020 年使用 Go 语言编写的恶意软件发生了什么变化?Go 语言恶意软件都有哪些类型?为什么 Go 语言恶意软件会激增 2000%?

Go 语言恶意软件的主要类型


Go 语言的使用率在未来几年会持续上升,Intezer 预计 Go 语言将和 C、C++ 及 Python 一起成为未来恶意软件编码的首选编程语言。目前,使用 Go 语言编写的恶意软件都有哪些呢?


  • RAT:Go 语言具有编写良好的网络堆栈,很容易操作。目前 Go 已经成为云计算的编程语言之一,很多云原生应用都是用它编写的,例如 Docker、Kubernetes、fluxDB、Traefk、Terraform、CockroachDB、Prometheus 和 Consco 都是用 Go 编写的。而且 Google 当初创建 Go 语言的原因之一就是用来取代内部 C++ 网络服务。因此,RAT 恶意软件使用 Go 语言来编写是意料之中的事情。

  • Stealer:目前安全研究员已经发现了使用 Go 语言编写的 stealer。2019 年,Malwarebytes 报告中发现了一个叫做 CryptoStealer.Go 的恶意软件。而在 2020 年出现了新的改进 CryptoStealer.Go 恶意软件,此恶意软件的目标是加密货币钱包和浏览器密码。

  • Ransomware:Go 语言标准库提供了一组非常健壮的加密库,允许开发人员在应用程序中进行加密,而无需使用任何第三方库。因此很多恶意软件开发者都开始使用 Go 语言来编写勒索软件,2020 年安全研究员发现很多新旧勒索软件都使用了 Go 语言,例如 RobbinHood。它的攻击方式是:用户一旦加载了驱动程序,它将终止端点和篡改保护的进程确保勒索软件可以在不被中断的情况下加密硬盘其余部分的软件。

  • Bot:由于 Go 语言标准库支持很多网络协议,而且可以编译用于不同操作系统的二进制文件。因此,越来越多的 Bot 使用 Go 语言来编写,另外二进制文件中包括了正确运行所需的一切,这为开发者提供了更多便利,例如软件可以在不同的 Linux 发行版上运行,而无需考虑该设备上是否安装了库。

为什么使用 Go 语言编写的恶意软件会激增 2000%?


自 2017 年以来,基于 Go 语言的恶意软件激增了 2000%,这个增长幅度还是很吓人的。为什么攻击者会越来越多的选择 Go 语言呢?Intezer 在报告中给出了三个原因:


  • 首先是因为 Go 语言本身的跨平台性能优秀,开发者只需要编写一次代码,该恶意软件就可以在 Windows、Linux 和 Mac 三个系统上编译。

  • 其次是 Go 语言编写的恶意软件很难被发现。由于安全研究员很难对基于 Go 语言的文件进行分析和逆向工程,所以杀毒软件很难发现 Go 语言的恶意软件,普通用户更是无从发现自己的电脑是否已经被攻击。

  • 最后是 Go 语言在编写网络堆栈方面具有明显优势,再加上现在很多云原生软件都是使用 Go 语言编写的,因此使用 Go 语言编写需要经常发送、接收网络数据包的恶意软件会更加容易。


与其他语言编写的恶意软件相比,用 Go 编写的恶意软件数量相对较少,但同比增长明显,而且这种增长速度很可能会持续下去。Intezer 对于 Go 语言恶意软件的未来发展做出了以下预测:


  • 在对不同系统的攻击中,针对 Linux 系统的 Go 语言恶意软件比例更大。因为基于 Go 语言的 Linux 恶意软件大部分是用于 DDoS 或安装 cryptominers 的 bot,同时安全研究员也发现了针对 Linux 系统的 Go 语言勒索软件,未来可能会更多的 Go 语言勒索软件,目的是窃取和加密有价值的数据。

  • Proofpoint 在对 2021 年的趋势预测中曾表示:勒索软件开发者将开始更加关注针对云的攻击。目前很多传统的防病毒和端点保护解决方案都是针对 Windows 环境设计的,Linux 环境的保护方案必须尽快跟上。

  • 根据 CrowdStrike 2020 年报告显示,40% 的恶意软件没有被杀毒软件检测到。而且,Go 语言编写的恶意软件本身就更难被杀毒软件检测到,“漏网之鱼”可能会更多。现在,安全研究员已经发现恶意软件开发者会使用相同的恶意软件代码库来攻击不同的操作系统,这样会导致恶意软件样本数量较少或者未被检测到,未来我们可能会看到更多针对多个操作系统的恶意软件。

2021 年 3 月 09 日 15:342212

评论

发布
暂无评论
发现更多内容

Linux-技术专题-buffer/cache理解

李浩宇/Alex

MySQL5.7应当注意的参数

Simon

MySQL 参数

三分钟看懂Python和Java的区别

程序员生活志

Java Python

区块链加未来3至5年可以预见 上链将成为常态

CECBC区块链专委会

区块链 金融 数字时代

200 行代码就能骗人的首个聊天机器人

程序员生活志

编程 机器人

机器学习算法之——逻辑回归(Logistic Regression)原理详解及Python实现

迈微AI研发社

学习 算法 逻辑回归 正则化 梯度下降

前端科普系列(1):前端简史

vivo互联网技术

前端 Web

vivo web service:亿万级规模web服务引擎架构

vivo互联网技术

架构 Web 浏览器

区块链最激动人心的未来是什么

CECBC区块链专委会

大数据 区块链技术

如何优雅的备份账号相关信息

Simon

MySQL

赋能云端管理 激发智能边缘 英特尔发布超能云终端解决方案

最新动态

大数据平台架构设计探究

vivo互联网技术

大数据 架构设计 数据平台

机器学习 | 卷积神经网络详解(二)——自己手写一个卷积神经网络

迈微AI研发社

Python 神经网络 学习 卷积神经网络 CNN

InnoDB 事务加锁分析

vivo互联网技术

MySQL 数据库 innodb

机器学习算法之——隐马尔可夫模型原理详解及Python实现

迈微AI研发社

Python 学习 算法 隐马尔可夫模型 HMM

牧羊少年奇幻之旅

W

读书笔记 感悟

获奖公布丨程序员的七夕骚话该怎么讲?留下你爱的表白~

InfoQ写作平台官方

写作平台 话题讨论 七夕 活动专区

从零开始的深度学习实用教程 | PyTorch官方推荐

迈微AI研发社

人工智能 学习 算法 教程 PyTorch

【杭州】阿里巴巴搜索推荐事业部开发岗位招聘

iSausage

Java 阿里巴巴 推荐 搜索

给路灯按上“电话卡”,从此不仅只照明还给管理员“打电话”

华为云开发者社区

人工智能 物联网 物联网化 华为云 路灯

浅谈备受开发者好评的.NET core敏捷开发工具,讲讲LEARUN工作流引擎

Philips

我一个普通程序员,光靠GitHub打赏就年入70万,要不你也试试

程序员生活志

必看的数据库使用规范

Simon

MySQL 技术规范

Git 常用命令总结

迷羊

git

时间戳,这样用就对了

Simon

MySQL timestamp

拼多多员工小便池拉屎,网易智能马桶屏蔽信号,360、搜狐厕所被监控,互联网公司厕所那些事!

程序员生活志

互联网 职场

Java基础知识篇(2020最新版)准备放进收藏夹吃灰的勿进

简爱W

Java

机器学习算法之——卷积神经网络(CNN)原理讲解

迈微AI研发社

神经网络 学习 算法 CNN

2020中国RPA指数测评报告|T研究

人称T客

Dynamodb 常见命令操作

麦迪文

数据库 AWS Data dynamodb

带你认识MySQL sys schema

Simon

MySQL

使用Go语言编写的恶意软件激增2000%-InfoQ