脅威:開発環境を狙ったクリプトマイニング #aqua #コンテナ #セキュリティ #DTA #動的解析 #クリプトマイニング #クラウド
この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。
本ブログは「Aqua Security」社の技術ブログで2021年3月4日に公開された「 Threat Alert: Monero Miners Target Cloud Native Dev Environments 」の日本語翻訳です。
脅威:開発環境を狙ったクリプトマイニング
2020 年 9 月、Aqua の セキュリティ研究チーム Team Nautilus は、GitHub と Docker Hub の自動ビルドプロセスを標的にしたキャンペーンを検知しました。その時は、影響を受けるサービスへ Aqua が通知を行ったことで攻撃を防ぐことができました。そして今このキャンペーンが帰ってきました。わずか 4 日間で、攻撃者は悪意のある Docker Hub のレジストリ 92 件と Bitbucket のリポジトリ 92 件をセットアップし、これらのリソースを悪用してクリプトマイニングを行いました。
セキュリティ脅威調査活動では Aqua Dynamic Threat Analysis(DTA)を使用して Docker Hub 上のイメージを定期的にスキャンしていますが、この攻撃をリアルタイムで検知・調査することができました。攻撃者は、1 時間ごとに複数の自動ビルドプロセスを開始する連続的な統合プロセスを作成し、ビルドごとに Monero のクリプトマイナーが実行されます。このブログでは、サイバー攻撃キルチェーンを検証し、裏で何が起こっているのかを分析していきます。
サイバー攻撃キルチェーン分析
Step 1:Eメールアカウントの作成
攻撃者はロシアの無料メールサービスプロバイダー(例えば vuk[.]popovicm[@]inbox[...]ru)を使用して、いくつかの偽のメールアカウントを作成しました。
Step 2:Bitbucketアカウントの作成
その後、彼らはいくつかのリポジトリを持つ Bitbucket のアカウントを設定しました。検知を逃れるために、それぞれが公式のプロジェクトドキュメントを使って、悪意のないプロジェクトを装っていました。
Step 3:Docker Hubアカウントの作成
また、攻撃者は複数のレジストリを持つ Docker Hub アカウントを作成しました。それぞれのレジストリは、そのドキュメントを使って悪意のないレジストリを装い、検出を回避していました。
これらのサービスプロバイダーの環境上にイメージを構築し、そのリソースをハイジャックしてクリプトマイニングを実行します。この仕組みは以下のように Dockerfile に反映されています。
- Ubuntu のベースイメージが設定されています。
- /workdir は作業ディレクトリとして定義されています。
- 現在の UNIX タイムスタンプが ffmpeg.log ファイルに書き込まれます。
- ffmpeg.64 というファイルは、デコード(base64)されて ffmpeg というファイルになります。これは実際には、クリプトマイナーの命令を持つ JSON ファイルです。
- gcc.64 というファイルをデコード(base64)して gcc というファイルにしています。このファイルは、実はクリプトマイナーです。
- Docker.sh というファイルが実行されます。
- TOR をインストールして起動します。
- バイナリ gcc(クリプトマイナー)は、設定ファイルとともに実行されます。
- Bitbucket のリポジトリをクローンします。
- 2 つのファイルがランダムに選択され、その内容が置き換えられます。
- ランダムなコミットメッセージが送信されます。
- リポジトリが Bitbucket にプッシュされます。
- git push をトリガーに自動ビルドが実行され、 Docker Hub にプッシュされます。
- PUA(Potentially Unwanted Application=潜在的に迷惑なアプリケーション) ファイルが削除されます。
- ffmpeg ファイルは CMD に設定されています。
イメージをプルして実行すると、CMD が bash コマンドで JSON ファイルを実行するように指示しているので失敗します。
まとめ
このキャンペーンは、クラウドネイティブスタックを標的とした攻撃がますます高度化していることを示しています。悪質な攻撃者は、クラウドのコンピューティングリソースを乗っ取り、クリプトマイニングのために悪用するための技術を常に進化させています。また、クラウド上の開発環境は、一般的に本番環境と同じレベルのセキュリティの精査を受けていないため、攻撃者にとって有利なターゲットとなっていることを忘れてはいけません。
このような環境では、常に厳格なアクセス制御・認証・最小特権の実施だけでなく、データ盗難やリソースの乱用を防ぐために、アウトバウンドネットワーク接続の継続的な監視と制限の実施をお勧めします。