サイバーセキュリティ企業のIntezerが先ごろ発表したレポートによれば、プログラミング言語「Go」でコーディングされたマルウェアファミリーの数が急増しており、2017年以降の数年間で約2000%も増加しているという。
Goで書かれた最初のマルウェアが発見されたのは2012年のことだが、マルウェアの世界にGoが広がるにはそれから数年かかった。
しかしGoはその状況を突破し、今では広く採用されるようになった。Goは、国家のハッキンググループ(APTとも呼ばれる)やサイバー犯罪グループに使われているほか、セキュリティチームが侵入テスト用のツールキットを作成するためにも使用されている。
Goの人気が急上昇した理由は3つある。第1の理由は、クロスプラットフォームで容易にコンパイルできることだ。そのため、マルウェア開発者が一度コードを書けば、同じコードベースで複数のプラットフォームのバイナリーをコンパイルすることができる。同じコードベースでWindows、macOS、Linuxを標的にできる汎用性は、他のプログラミング言語にはない特徴だ。
第2の理由は、現時点ではまだセキュリティ研究者がGoベースのバイナリーの分析やリバースエンジニアリングを行うのが難しいことだ。今のところ、Goベースのマルウェアの検出率は非常に低い。
そして3つ目の理由は、ネットワークのパケットやリクエストの処理を扱うのが容易なことだ。マルウェアは通常、ネットワークパケットの改ざん、組み立て、送受信などの処理を頻繁に行うが、Goはマルウェア開発者が必要とするツールをあらゆるツールを提供している。多くのマルウェア開発者がCやC++からGoに移行するのも理解できる。これらの3つの理由から、Goで書かれたマルウェアの数は、2020年に大幅に増加した。
Intezerは「これらのマルウェア(ファミリー)の多くは、LinuxやIoTデバイスを標的として、暗号通貨マイナーをインストールするか感染したマシンをDDoSのためのボットネットに組み込もうとするボットネットだ。また、ランサムウェアもGoで書かれるようになっており、その数は増えているように見える」と述べている。
以下では、2020年に登場した影響が大きかったGoベースのマルウェアの例をカテゴリー別に挙げる。
国家が運営するAPTのマルウェア
サイバー犯罪グループのマルウェア
Goで書かれた新しいランサムウェアファミリー
この記事は海外Red Ventures発の記事を朝日インタラクティブが日本向けに編集したものです。