GitHubが提供するブラウザからアクセス可能な無料のクラウド開発環境「Codespaces」を使い、マルウェアをホスト・配信することができることを、セキュリティ企業のトレンドマイクロが指摘しています。

Abusing a GitHub Codespaces Feature For Malware Delivery

https://www.trendmicro.com/en_us/research/23/a/abusing-github-codespaces-for-malware-delivery.html

How attackers might use GitHub Codespaces to hide malware delivery | CSO Online

https://www.csoonline.com/article/3685419/how-attackers-might-use-github-codespaces-to-hide-malware-delivery.html

Hackers can use GitHub Codespaces to host and deliver malware

https://www.bleepingcomputer.com/news/security/hackers-can-use-github-codespaces-to-host-and-deliver-malware/

CodespacesはGitHubサーバー上で実行されている開発コンテナ内でアプリケーションを作成したりテストしたりすることが可能になるというツールです。2022年11月に一般向けに公開されてから、Codespacesは開発に必要なツールとの依存関係を備えた構成済みのコンテナベース環境を好む開発者の間で人気を博してきました。

Codespacesでは、開発中のコードを外部ユーザーにテストしてもらったり披露したりすることが可能です。そのためには、Codespacesでポートフォワーディング(ポート転送)を行い開発中のコードにアクセスするためのURLを生成する必要があります。このポート転送設定はプライベートまたはパブリックとして構成することが可能で、プライベートに設定した場合はURLにアクセスするためのトークンあるいはCookie形式での認証が必要となるのですが、パブリックに設定した場合は認証を必要としないため、URLを知っている人なら誰でもコードにアクセス可能となります。

Codespacesでのポート転送設定は以下の通りで、「Private(プライベート)」と「Public(パブリック)」に設定可能。



この機能を利用することで、開発者はコードのデモを柔軟に行うことが可能となっているのですが、トレンドマイクロはこれを悪用することでCodespacesをマルウェアをホストするためのサーバーに変えることが可能だと指摘しています。

ユーザーはGitHub CLIを使って開発コンテナ内でコマンドを実行することができます。そこで、トレンドマイクロは開発コンテナでPythonランタイムを使用して単純なHTTPサーバーを開く構成を作成し、ポート8000をパブリックに転送。さらに、GitHub CLIを使用して開発コンテナを認証し、マルウェアを含むアーカイブを外部URLからダウンロードし、Pythonベースのサーバーが提供するディレクトリでローカルに展開する2つの簡単なコマンドを実行しています。これだけで、Codespacesで生成したURL経由でアクセス可能なマルウェアを含むオープンディレクトリの作成が完了するとのこと。

Codespacesを使ってマルウェアをホストする方法を図示した画像が以下。



この方法を用いれば攻撃の被害者は信頼できるサービスであるGitHubが所有するドメインからマルウェアをダウンロードすることになるため、セキュリティゲートウェイにマルウェアが検出される可能性は低くなるとのこと。そのため、この手法がフィッシング攻撃や他のマルウェアを使ってダウンロードした悪意のある実行ファイルをホストするためなどに利用される可能性をトレンドマイクロは警告しています。

クラウドサービスプロバイダーを悪用してマルウェアをホストするという手法は新しいものではないとトレンドマイクロは指摘。ただし、Amazon Web Services、Microsoft Azure、Google Cloud Platformといった他のクラウドサービスプロバイダーと比較すると、GitHubのCodespacesを悪用する際のコスト障壁は「低い」としています。

テクノロジー系メディアのBleepingComputerは、「初めてCodespacesを触りましたが、『悪意のあるウェブサーバー』を10分未満で作成することができました」と報じています。



GitHubのポリシーでは非アクティブなCodespacesが30日後に自動削除されるようになっているため、攻撃者は1カ月にわたり同じURLを使用することが可能となります。記事作成時点ではCodespacesの悪用ケースは確認されていませんが、トレンドマイクロはこの手法を用いた悪意のある攻撃が起きる可能性を強調しています。