fbpx

脅威:コンテナイメージを使用したサプライチェーン攻撃 #aqua #コンテナ #セキュリティ #サプライチェーン攻撃

この記事は1年以上前に投稿されました。情報が古い可能性がありますので、ご注意ください。

本ブログは「Aqua Security」社の技術ブログで2021年8月11日に公開された「 Threat Alert: Supply Chain Attacks Using Container Images 」の日本語翻訳です。

脅威:コンテナイメージを使用したサプライチェーン攻撃


Aqua Security のセキュリティ研究チームである Team Nautilus は、悪意のあるコンテナイメージを使用したサプライチェーン攻撃をいくつか発見しました。チームは、Docker Hub 上の悪意のある活動の兆候を日々スキャンしており、これら 5 つのコンテナイメージはそこで発見されました。これらのイメージは、クリプトマイニングをするために組織のリソースを乗っ取り、クラウドネイティブ環境を標的としたサプライチェーン攻撃の一部として使用される可能性があります。

以下は、Aqua が検出した 5 つの悪意のあるコンテナイメージです。

Container image in Docker Hub

Detected

Contains

Contains

Number of pulls

thanhtudo/thanhtudo:latest 

01/07/2021 

cryptominer 

dao.py script 

100K+

thieunutre/thieunutre:latest 

15/07/2021 

cryptominer 

dao.py script 

11

chanquaa/chanquaa:latest 

30/12/2020 

cryptominer 

dao.py script 

18

c43602f9cc95/openjdk:0da242bd93b7f 

04/07/2021 

  

Execute xmrig 

10K+

700888880a0/golang:e2e26c727b88 

04/07/2021 

  

Execute xmrig 

10K+

コンテナイメージの分析

最初の 3 つのコンテナイメージ(thanhtudo、thieunutre、chanquaa)は、いずれも dao.py というスクリプトを実行しています。この Python スクリプトは、タイポスクワッティングを利用して Docker Hub に悪意のあるコンテナイメージを隠す、過去のいくつかのキャンペーンの一部で使われたものです。以下に見られるように、このスクリプトは、コンテナイメージのレイヤーの 1 つに隠れている Monero クリプトマイナーである xmrig(MD5: 4873e560df68ad96c3de08164b139b09)というバイナリを実行します。

openjdk と golang の2つのコンテナイメージは、それぞれ OpenJDK と Golang の公式コンテナイメージであるかのような誤解を招くタイトルが使用されていました。これらは、Docker Hub のアカウントが公式アカウントではないにもかかわらず、注意を欠いたユーザや急いでいるユーザが公式コンテナイメージと勘違いしてしまうように設計されています。一見は何の変哲もないコンテナのように見えますが、コンテナを実行するとクリプトマイニングのためにリソースを乗っ取るバイナリ xmrig(MD5:16572572588c2e241225ea2bf6807eff)が実行されます。

これらのコンテナイメージの内のいくつかは、サプライチェーン攻撃の一環として使用される可能性が高いですが、残りのコンテナイメージは、人気のあるコンテナイメージや正当なコンテナイメージとは見なされにくいものです。しかし、結果的にこれらの悪意のあるコンテナイメージは、合わせて 120,000 以上のプルを獲得しました。

cloud native threats

サプライチェーン攻撃から防ぐには

企業のソフトウェアサプライチェーンを標的とする攻撃者が増加しており、場合によっては攻撃を巧妙に隠していることもあります。そのため、企業はこの種の攻撃の被害に遭うリスクを減らすために、防御策を見直す必要があります。ここでは、セキュリティ状態の改善に役立つ推奨事項をご紹介します。

パブリックレジストリへのアクセス制御

公開されているレジストリからコンテナを実行する場合は、レジストリをサプライチェーン攻撃のリスクが高いソースとして扱います。攻撃者は、開発者を騙して、人気のあるコンテナイメージにカモフラージュすることで、悪意のあるコンテナイメージを不用意にプルさせることを狙っています。リスクを低減するためには、ベースとなるコンテナイメージを精査した内部レジストリを作成し、公開されているレジストリにアクセスできる人を制限します。また、コンテナイメージが内部レジストリへ登録される前に、必ずスキャンされるような仕組みを作ります。

コンテナイメージを静的・動的にスキャンしてマルウェアを検出

組織がシグネチャやパターンベースの静的なスキャンを使用していても、巧妙な攻撃はこれを回避することが良くあります。例えば、脅威となる攻撃者は、実行時にのみマルウェアをダウンロードするコードをコンテナイメージに埋め込むことで、検知を回避します。

そのため、外部の認証されていないコンテナイメージの脆弱性をスキャンするだけでなく、Aqua Dynamic Threat Analysis(DTA)などのツールを使用して、サンドボックス環境にてコンテナの動作を動的に分析し、静的なコードスキャンでは検出されない攻撃ベクターを特定する必要があります。

コンテナイメージにデジタル署名を施すなど、イメージの完全性を維持するための方法

使用しているコンテナイメージが、審査・承認されたものと同じものであることを確認することが重要です。Aqua プラットフォームを使用することで、スキャンされたすべてのコンテナイメージは自動的に署名され、追跡可能となるため、環境内で非準拠または未知のコンテナイメージが使用されることを検出し、防止できます。

まとめ


クラウドネイティブ環境にとって、サプライチェーン攻撃は大きな脅威です。Team Nautilus は、Docker Hub でホストされている 5 つの悪意のあるコンテナイメージを確認しましたが、いずれもクリプトマイニングのためにリソースを乗っ取ることを目的としています。企業は、アプリケーションのライフサイクルの各段階(構築から本番まで)において、サプライチェーン攻撃を検知・防止できるセキュリティ戦略を策定する必要があります。

クラウドネイティブ環境への攻撃についての詳細は、最新の「Cloud Native Threat Report: Attacks in the Wild on Container Infrastructure」をご覧ください。

New call-to-action

新規CTA