サイバーセキュリティ・コミュニティは最近、AIおよびML(機械学習)におけるGPUアクセラレーション・アプリケーションに不可欠なコンポーネントであるNVIDIAContainer Toolkit内の重大な脆弱性について警告を受けた。CVE-2024-0132として特定されたこの欠陥は、クラウドとオンプレミスの両方でGPUリソースに依存する幅広いAIアプリケーションに大きな影響を与えます。2024年9月の発見後、NVIDIAはこの問題を認め、直後にパッチをリリースした。
脆弱性の詳細
NVIDIAContainer Toolkit、特に1.16.1までのバージョンにおける脆弱性は、TOCTOU(Time-of-check Time-of-Use)の欠陥に起因しています。この脆弱性は、特権の昇格、コンテナのエスケープ、GPUワークロードの操作に悪用される可能性があり、誤ったAI出力や完全なサービス停止につながる可能性があります。
このインシデントに関連する具体的な脆弱性は以下の通りである:
- CVE-2024-0132:この重大な欠陥(深刻度レーティングは 9.0)は、特別に細工されたコンテナイメージがホストのファイルシステムにアクセスすることを可能にする可能性があり、コードの実行、サービス拒否、および特権の昇格につながる可能性があります。
- CVE-2024-0133:評価が 4.1 であるこの中程度の深刻度の脆弱性は、特別に細工されたコンテナイメージがホストのファイルシステム上に空のファイルを作成することを許し、データの改ざんにつながる可能性があります。
NVIDIAは、セキュリティ情報を公開し、影響を受けるソフトウェアの更新版をリリースすることで、この脆弱性に迅速に対処した。
誰が影響を受けるのか?
Wizが発見した調査によると、NVIDIA GPUを利用しているクラウド環境の3分の1以上(35%)が危険にさらされている。
1.16.1までのNVIDIAContainer Toolkitおよび24.6.1までのNVIDIA GPU Operatorを使用している組織は、その環境を評価し、この脆弱性の連鎖的な影響を軽減するために必要な措置を講じる必要があります。
NVIDIAContainer Toolkitを理解する
NVIDIAContainer Toolkitは、GPUアクセラレーションDockerコンテナの作成と実行を容易にするように設計されています。デフォルトでは、コンテナはGPUにアクセスすることができません。このツールキットにより、ユーザはNVIDIA GPUをコンテナに公開することができます。このツールキットは、コンテナの設定を自動化するランタイム・ライブラリとユーティリティで構成されており、ユーザーはNVIDIA GPUを活用して高性能AIワークロードを処理することができます。つまり、NVIDIAContainer Toolkitは、コンテナがNVIDIA GPUにアクセスできるようにし、GPUアクセラレーションを必要とするアプリケーションをより高速かつ効率的に実行できるようにします。
Kubernetes環境でGPUリソースをオーケストレーションするNVIDIA GPU Operatorと並んで、このツールキットは最新のAIおよびMLアプリケーションで極めて重要な役割を果たしている。基本的には、AIトレーニングのようなデータ量の多いタスクにHPC(ハイパフォーマンス・コンピューティング)を必要とするアプリケーションのパフォーマンスと効率を向上させる。
しかし、脆弱性はさまざまな形でリスクをもたらす可能性がある:
- GPU への不正アクセス:攻撃者がGPUにアクセスし、データの盗難やリソースの乗っ取りを引き起こす可能性があります。
- 特権のエスカレーション:攻撃者はコンテナから抜け出してホストシステム上でコードを実行し、基盤となるインフラを侵害する可能性がある。
- Container コンテナ攻撃:侵害されたコンテナは、他のコンテナのGPUリソースへの不正なアクセスをオープンする可能性があります。その結果、同じシステム上で実行されている複数のアプリケーション間でデータ漏えいやサービス拒否が発生する可能性があります。
- 機密データの暴露:攻撃者は、機密データを直接マイニングするのではなく、環境をナビゲートして特権をエスカレートさせるために、さまざまなシステム・コンポーネントの脆弱性を探すことがある。Container 技術は、このような悪用に複雑さを加えます。
想定される攻撃シナリオ
NVIDIAContainer Toolkit を悪用した潜在的な攻撃フローは、3 つのステップで一般化できます:
- 悪意のあるイメージを作成する:攻撃者は、CVE-2024-0132を悪用することを目的とした悪意のあるコンテナイメージを設計することができます。
- ホストのファイルシステムにアクセスします:攻撃者は次に、共有GPUサービスを通じて直接的に、あるいはサプライチェーン攻撃スキームを通じて間接的に、あるいはソーシャルエンジニアリングを通じて、脆弱なプラットフォーム上で悪意のあるイメージを実行します。これにより、攻撃者はホストのファイルシステムをマウントし、基盤となるインフラストラクチャや潜在的に他のユーザーからの機密データに不正にアクセスできるようになります。
- 完全な制御:重要なUnixソケット(docker.sock/containerd.sock)にアクセスすることで、攻撃者はホストシステム上でroot権限で任意のコマンドを発行し、最終的にマシンを制御することができる。
Container 脆弱性から身を守るための提言
この事件は、信頼できるソースからの信頼できるコンテナ・イメージであっても、深刻な脆弱性が潜んでいる可能性があることをタイムリーに思い出させるものです。NVIDIAContainer Toolkit を利用している組織は、次のことを行う必要があります:
最新バージョンへのアップグレード
ユーザーは、特に信頼できないイメージを操作する可能性のあるコンテナホストについては、できるだけ早くNVIDIAContainer Toolkitバージョン1.16.2およびNVIDIA GPU Operator 24.6.2にアップデートすることが強く推奨されます。
定期的なセキュリティ・スキャンの実施
悪意のあるコンテナ・イメージや、クラウド環境でアプリケーションに使用されるその他のコンポーネントについて、定期的なスキャン手順を導入する。定期的なスキャンは、リスクを評価し、これらのイメージに関連するセキュリティの盲点を特定するのに役立ちます。自動スキャンツールは、既知の脆弱性や設定ミスを継続的に監視するのに役立ちます。
さらに、セキュリティスキャンを CI/CD パイプラインに統合することで、デプロイ前に脆弱性が確実に検出され、包括的なレポートによって、特定されたリスクと推奨される修復ステップに関する洞察が得られる。
MetaDefender Software Secure Container イメージのSupply Chain
NVIDIAContainer Toolkitで見つかったような脆弱性を緩和するために、 OPSWAT MetaDefender Software Supply Chainは、コンテナレジストリとソースコードリポジトリに対する堅牢な脅威スキャン機能を提供します。
Software 開発とDevSecOpsチームは、アプリケーションスタック内の潜在的に悪意のある、または脆弱なコンテナイメージを通知されます。脅威の検出と予防の複数のレイヤーを活用することで、MetaDefender Software Supply Chain 、影響を受けるコンテナイメージの安全なバージョンへのアップデートを含む、修復のための洞察と推奨も提供します。
MetaDefender Supply Chain、脆弱なソフトウェアコンポーネントを特定し、重大度レベルを評価し、影響を受けたバージョンと修正されたバージョンを追跡する。
コンテナイメージ内のパッケージの脅威ステータスを、一般レベルと詳細レベルの両方で評価できます。
Container セキュリティはAIセキュリティの一部である
Container 脆弱性は、AIやML技術への依存度が高まる組織にとって、用心深くプロアクティブなセキュリティの必要性を露呈している。コンテナ・セキュリティとソフトウェア・サプライチェーン・セキュリティの詳細については、当社のリソースをご覧ください: