Trending keywords: security, cloud, container,

コンテナの脅威検出

SHARE:

大多数の企業がワークロードのかなりの割合をコンテナでホストしていると伝えられているなか、コンテナの脅威検出はあらゆる種類の組織で大きな関心事となっています。

ただし、あいにくこれは対処が困難な優先事項でもあります。コンテナのセキュリティ脅威は、ランタイムセキュリティの脅威、ネットワークの脅威、コンテナイメージの脅威などさまざまな形をとります。これらの脅威を検出するにはコンテナ化されたソフトウェアスタックを複数の層に分けて評価する必要があります。

この記事では、コンテナに対するさまざまな種類のセキュリティ脅威をご紹介します。コンテナ化されたワークロードに影響するおそれのあるセキュリティリスクに先手を打つためには、こうした脅威に目を光らせておかなければなりません。

コンテナの脅威検出とは

コンテナの脅威検出とは、コンテナでホストしているワークロードに影響するおそれのある、あらゆる種類のセキュリティリスクを特定するプロセスのことです。特権エスカレーションの脅威、マルウェア、不適切なネットワーク構成など、コンテナの脅威検出はコンテナアプリケーション環境に潜むさまざまな種類のセキュリティ脅威に対する幅広い防衛手段となります。

コンテナの脅威検出へのアプローチ

コンテナのセキュリティ脅威はさまざまな形をとるため、これらを検出するには複数のカテゴリにわたる潜在的な脅威を自社環境の層ごとに評価する必要があります。配慮が必要なリスクが潜む主な領域を以下に説明します。

コンテナのランタイムセキュリティ

コンテナのランタイムセキュリティ脅威とは、コンテナの実行時に影響するあらゆる種類の脅威のことです。

ランタイム脅威が発生するおそれのある攻撃ベクトルには主に以下の 2 つがあります。

  • 侵害されたコンテナイメージ: コンテナイメージ内のマルウェアはコンテナがデプロイされると脅威を生成できるようになります。
  • 安全ではない実行環境: コンテナを特権モードで実行する、あるいはコンテナから機密データへのアクセスを許可するなどの安全ではない構成は侵害を引き起こすおそれがあります。

ランタイム脅威が発生する環境は、一般に少なくとも上記のいずれかの条件に当てはまります。とはいえ多くの場合、両方の条件を備えています。たとえば、コンテナイメージが感染すれば実行環境にマルウェアの侵入を許し、マルウェアによる悪影響が安全ではない構成によって波及します。こうした環境では侵害されたワークロードを隔離できません。

ランタイム脅威はほかの形でも現れます。コンテナランタイム(コンテナを実行するソフトウェア)のセキュリティ脆弱性や、コンテナをホストするサーバーの OS レベルの脆弱性などがその例です。ただし、コンテナ内部やコンテナの実行環境に起因するリスクに比べると、こうした脅威が生じることはあまりありません。

コンテナランタイム脅威の検出

コンテナランタイムのセキュリティ上の脅威の大半はイメージおよび環境の構成が安全ではないことに起因するため、ランタイム脅威を検出するにあたっての主な戦略はイメージおよび環境設定のスキャンです。

コンテナイメージのスキャンは主なコンテナスキャナで実行できるシンプルなプロセスです。ほとんどの場合、一般的なスキャナであらゆる種類のコンテナをスキャンできます。

環境構成のスキャンはより複雑になる場合があります。どこでコンテナを実行しているかによって要件が変わるためです。Kubernetes でオーケストレーションを行っている場合、Kubernetes を制御するさまざまな種類の構成を分析できるランタイム脅威検出ツールが必要になります。AWS ECS など他のオーケストレーションソリューションを使っている場合は、それぞれの環境を分析するために設計されたツールが求められます。

また、ログ、メトリクス、監査証跡を継続的にモニターして(監査証跡については実行環境またはオーケストレーターから取得できる場合)、活動中のランタイムセキュリティ脅威を検出する必要もあります。これには Falco などのモニタリングツールが役立ちます。
コンテナのネットワークセキュリティ

コンテナ自体はアプリケーションをホストしているにすぎません。ネットワークリソースはコンテナとは無関係であり、通常は、コンテナとは別のオーケストレーターまたはサービスメッシュによって管理されています。

それでもなお、ネットワークが適切に構成されていなければ、コンテナ内でホストされているワークロードに多大な影響を及ぼすおそれがあります。個々のコンテナが適切に分離されていないネットワーク構成では、あるコンテナでの侵害が他のコンテナに拡散したり、侵害されたコンテナから別のコンテナが保持する機密データに簡単にアクセスできるようになったりします。

このため、ネットワークはコンテナへの攻撃の開始と拡大の両方に影響する主な攻撃ベクトルと言えます。ネットワークに起因する脅威の検出はコンテナの脅威検出全体の中でも重要な要素です。

コンテナのネットワーク脅威の検出

ネットワークベースのコンテナ脅威の検出に万能策はありません。コンテナネットワークはさまざまな方法で構成されています。また、コンテナネットワークのアーキテクチャーは、どのオーケストレーターを使っているか、コンテナをクラウドとオンプレミスのどちらで実行しているか、サービスメッシュを使っているかどうかなどの要素によって大きく異なります。

つまり、ネットワーク脅威を効果的に検出するには、コンテナを実行しているプラットフォームに関係なく、ネットワーク構成の内容を解釈できるコンテナ脅威検出ツールが求められます。

同時に、ネットワークデータをリアルタイムで分析して脅威を検出できるツールを導入する必要もあります。あるコンテナから別のコンテナへの悪質なトラフィックや、ネットワークに不正なリクエストを大量に送信する試み(DDoS 攻撃の一部である場合があります)といったアクティビティは、ネットワークの動作の異常を特定することで検出できます。

ただし、これを効果的に行うには、ネットワーク構成が変化し続ける環境で、異常を間違いなく特定できるネットワーク脅威検出ツールが必要です。ほとんどの場合、需要の変動に応じてコンテナを作成および破棄するたびに、IP アドレスの割り当て、ロードバランサの構成、コンテナ環境内のエンドポイントの総数が更新されます。

そのため、“正常” なネットワークアクティビティの静的な基準値を設け、この値に照らして異常を判断するのは困難です。そこでツールに求められるのは、まず動的な構成をベースに基準値を定め、ネットワークトラフィックのパターンを他のデータソース(監査ログなど)と相関付けること。そして、コンテナのネットワーク脅威を実際に構成する要素や、正常なトラフィックの変動範囲について情報に基づいた意思決定を可能にすることです。

コンテナアプリケーションに対するセキュリティ脅威はさまざまな形で現れます。組織はこうした脅威をすべて検出できるよう備えておかなければなりません。多重防御のアプローチをとり、コンテナイメージ、ランタイム構成、ネットワーク構成など、発生した場所に関係なくすべての脅威を明らかにする必要があります。