仮想化技術「コンテナ」は、ホストOS上に他のプロセスとは隔離されたアプリケーション実行環境をコンテナ内に構築する技術です。この技術は、開発部門と運用部門が連携してシステムを開発するDevOpsを実施する企業内での「開発者体験(Developer Experience、DX)」を最適化します。アプリケーションをコンテナ内にビルドすることで、コンピュータ内のハードウェアやインフラストラクチャ、クラウド環境のいずれにおいても開発者は円滑にアプリを実行できるようになります。仮想マシン(VM)を用いて構築された仮想的な実行環境では、オペレーティングシステム(OS)、または、システム基盤となる設備や施設であるインフラストラクチャ環境の違いによって互換性に課題が生じていました。一方、コンテナはホストOS上で構築可能なプロセスであり、各コンテナ毎にOSをエミュレートする「コンテナランタイム」によってこれらの課題は仮想化されます。ただし、他のテクノロジー同様、コンテナを使用する上でもトレードオフの法則が成り立ちます。これらのコンテナ環境のインフラストラクチャの複雑さについて適切に考慮されていない場合、深刻なセキュリティリスクをもたらす可能性があります。コンテナ環境に被害を与える可能性のある脅威は、開発パイプラインの各段階に存在します。
コンテナ内でのビルド作業時に生じるリスクを最小限に抑えるために開発者が順守すべき6つのステップを以下に示します。
1. コンテナホストの保護
- コンテナは、コンテナ環境に特化したOS内にホストする必要があります。コンテナ化ワークロードへのホストが不要なサービスを削除することで、全体的な攻撃対象領域を減少させることができます
- ホストのハードウェアコンポーネントの状態(健全性)を可視化するには、監視ツールを追加する必要があります
- ホストOS上の実行環境であるコンテナを保護するには、Trend Micro™Deep Security™ソリューションで利用できるような、強力かつ多様な機能を持つセキュリティ制御を使用する必要があります
- すべてのコンテナ化ワークロードを実行するこれらのシステムの整合性が適切に保護されていれば安全性は確保されます
2. ネットワーク環境の保護
- 攻撃の侵入を阻止し不正なコンテンツをフィルタリングするには侵入防止システム(IPS)やWebフィルタリングなどのセキュリティ制御を使用して、内部ネットワークから外部ネットワーク、さらにインターネット上を行き来するトラフィックの活動を監視する必要があります
- コンテナ間のトラフィックを監視するには、IPSも合わせてデプロイする必要があります。すでにネットワーク内に足場を得た攻撃者の場合、水平移動などの内部活動により到達範囲をすぐに拡大できるため、これらを阻止する内部のトラフィック監視は防御対策として極めて重要となります
3. コンテナマネジメントスタックの保護
- コンテナレジストリは適切に保護して監視する必要があります
- Kubernetesからのインポートは使用状況に応じてロックダウンを要する場合があります。また、複数のコンテナの集合体である「ポッド」やネットワークポリシー機能を活用して組織のセキュリティ管理基準および開発標準を策定する必要があります
- Trend Micro Deep Security Smart Check™などのセキュリティツールを使用してコンテナレジストリに追加された各コンテナの構成をスキャンして検証する必要があります。これにより、チーム開発やセキュリティ標準に準拠するコンテナのみが確実にデプロイされます
4. 安全な基盤上でのアプリケーションの構築
- アプリケーション内で使用が許可された別のアプリケーションとの依存関係に関するプロジェクトチームのやり取りを再調査し管理します。ソフトウェアの一部にパッチが適用された場合、これらのパッチの適応によって生じた変更をアプリケーション内に統合しリスクを軽減する必要があります
- コンテナイメージスキャン製品「Deep Security Smart Check™」は、システム開発時にコンテナイメージ内にマルウェアや既知の脆弱性が含まれていないか、また、機密情報などが公開されていないかなどのリスクを可視化します。これらの可視化したリスクをもとに、侵入の痕跡(Indicator of Compromise、IoC)への対策を講じることも可能になります。コンテナイメージスキャン製品を用いることで、システム開発または運用へのデプロイ前にリスクをさらに軽減できます
5. ビルドパイプラインの保全性の確保
- 開発者のワークステーションは、エンドポイントセキュリティとともにインストールする必要があります。これは、総合セキュリティ対策製品「Trend Micro Apex One™」が備える対策機能の一つです。エンドポイントに対策を講じることで、マルウェア、不正なWebサイトへのアクセス、およびその他のセキュリティ課題やコンテナ環境を狙う脅威の侵入を防ぐことができます
- 徹底的かつ一貫性のあるアクセス制御機能を実装する必要があります。パイプラインの整合性を保護するための重要なステップは、アクセス権限の与えられたユーザのみがコードリポジトリにアクセスし、ブランチの統合、および本番環境にプッシュされるビルドをトリガーできるようにすることです
- 上述のツールを実行しているサーバも保護する必要があります。「Trend Micro Deep Security™」は、各環境で個別にソリューションを展開する必要がないため、仮想化基盤へのリソース負荷(オーバーヘッド)を最小限に軽減して一連の強力な制御を提供可能です。これらはチームのセキュリティ目標や標準を満たすのに役立ちます
6. アプリケーションの保護
- クラウド環境全体のコード化を実施する際は、その品質を向上させるためにベストプラクティスに従う必要があります。帰するところ、単純なコーディングのミスや不十分な設計は、多くのセキュリティ上の弱点を生む可能性があります。コードの品質確保に時間と労力を費やすことは、セキュリティ上の利益を常時もたらす結果となります
- アプリケーションにセキュリティのモジュールを組み込むことで、ユーザがサーバの構築や保守を行う必要がないサーバレス環境で動作するアプリケーションを保護する(RASP:Runtime Application Self Protection)方式のセキュリティサービスは、セキュリティ上の弱点と特定のコード行が持つ問題点を結び付けるために使用する必要があります。これを実施することで、根本原因の分析時のギャップがなくなり、より良いセキュリティ結果を達成できます
コンテナ環境のセキュリティ課題と対策の概要についてより詳しく知りたい方は以下のホワイトペーパーもご参照ください:
米国国立標準技術研究所(NIST)が発行するコンテナセキュリティのガイドラインSP 800-190(Application Container Security Guide)の要件に沿ったセキュリティを実現するトレンドマイクロのソリューションについて詳しく知りたい方は、以下のホワイトペーパーもご参照ください:
■トレンドマイクロの対策
コンテナ技術を使用することで全体的な一貫性を維持しながら開発プロセスの速度や効率性を向上させることができます。しかし、コンテナに侵入する脅威は近年その数を増やしつつあります。組織は潜在的なリスクを阻止するためにコンテナへの適切な保護対策が必要です。開発者が考慮すべき開発プロセスやサポートインフラストラクチャには多くのセキュリティ上の懸念点が存在しますが、幸いなことに、上述する6つのステップはコンテナ環境を効果的に保護するために役立ちます。
トレンドマイクロは、アプリケーションを安全にビルドし、さまざまな環境に迅速にデプロイして実行するDevOpsチームを支援します。「Hybrid Cloud Security」は、DevOps 体制を支えるセキュリティチームに対して、「XGen」アプローチにより、物理・仮想・クラウドの混在環境における最適なセキュリティを提供します。
トレンドマイクロのセキュリティプラットフォーム「Trend Micro Cloud One™」には、以下の製品・サービスが含まれています。
- Network Security
- Workload Security
- Container Security
- Application Security
- File Storage Security
- Conformity
Trend Micro Cloud One™ Conformityは、システムに重大な影響を及ぼす可能性があるクラウドの設定ミスを見つけてより早く修復します。業界のコンプライアンス標準とクラウドセキュリティのベストプラクティスのルールに照らした何百もの自動化されたチェックによって、クラウドインフラストラクチャのためのセキュリティおよびコンプライアンスを継続的に支援します。
Hybrid Cloud Securityソリューションの主要製品であるTrend Micro Deep Security™は、インスタンスを自動で検出し、エージェントを展開することで、クラウド環境全体を可視化し、保護します。また、多くの要件に対応し、監査証拠を効率的に収集して、継続的なコンプライアンスの実践を支援します。
参考記事:
- 「Container Security in Six Steps」
by Trend Micro
翻訳: 益見 和宏(Core Technology Marketing, Trend Micro™ Research)