ブログ

コンテナをセキュアにし、かつ、準拠させるためにCISOが実行できる5つのこと

コンテナをセキュアにし、かつ、準拠させるためにCISOが実行できる5つのこと

本文の内容は、2020年4月29日にSysdigの Suresh Vasudevanが投稿したブログ(https://sysdig.com/blog/five-things-cisos-containers-secure-compliant/)を元に日本語に翻訳・再構成した内容となっております。

おそらく、アプリケーションをコンテナやKubernetesにまだ移行していない場合は検討することになります。ただし、セキュリティとコンプライアンスへの影響は、十分に検討していない可能性もあります。

開発ライフサイクルの後半でコンテナのセキュリティリスクに対処すると、クラウドの採用ペースに悪影響を与えると同時に、セキュリティとコンプライアンスのリスクが高まります。

コンテナとKubernetesを使用すると、セキュリティに関する方法が変わってきます。レガシーツールとプロセスは、動的なコンテナ環境の可視性を提供しないため、適切ではありません。コンテナの54%は5分以下しか存続しないため、異常な振る舞いや違反の調査は非常に困難になります。

コンテナ環境をよりセキュアにする事は可能ですが、セキュリティが明示的に設計されている場合に限ります。ベストプラクティスがない場合、ミスは攻撃者に穴を開けます。ウェイトウォッチャーは、 Kubernetesインスタンスに違反し、管理者のルート認証情報と会社のドメインに関する100を超えるアクセスキー、および会社のデータを保持する数十のS3バケットにアクセスする方法に関する情報を漏らしました。Teslaは、Kubernetesコンソールを適切に保護できなかったため、クリプトジャッキングの被害を受けました --ハッカーが暗号通貨をマイニングするために計算サイクルを盗みました。

コンテナとKubernetesコードのソフトウェアの脆弱性は、一定の割合で発見されています。

初期に発見された脆弱性の1つは、Kubernetes APIを介してバックエンドサーバーにアクセスする特別なネットワークリクエストを使用して、攻撃者が特権を昇格できる重大なKubernetesセキュリティホールでした。このメカニズムにより、攻撃者はKubernetesクラスターをコントロールできます。

それ以来、昨年の夏にNetflixのエンジニアによって発見された2つの重大度の高いKubernetes脆弱性を含む他の攻撃もあり、どちらも攻撃者がサービス拒否攻撃を仕掛けることができます。数か月後、2つの重大度の高いバグが発見され、悪用された場合、攻撃者はコンテナの認証コントロールを回避できるようになりました。これらおよびその他のコンテナとKubernetesの脆弱性に対処している間に、新しい脆弱性が出現します。組織が重要なアプリケーションのためにコンテナとKubernetesの使用を増加させている事を攻撃者に把握されると、これらのテクノロジーを悪用する取り組みがエスカレートします。

リスクに対抗するには、セキュリティツールセットが特定のセキュリティおよびコンプライアンス保護機能をDevOpsプロセスに統合していることを確認する必要があります。脆弱性のスキャンに加えて、ランタイムセキュリティとインシデントレスポンスにも対応することが重要です。組織で取り組むことができる5つの主要な優先事項を次に示します。


5 Keys to a Secure DevOps Workflow

1.ビルドプロセスの脆弱性をスキャンします。

「シフトレフト」には、セキュリティチェックを開発に組み込むことが含まれるため、コンテナが本番環境にデプロイされる前に脆弱性に対処できます。自動化できるこれらのチェックは、脆弱性をより早い段階で特定し、ビルド設定とイメージ属性を検証できるようにします。アプリケーションが本番環境にデプロイされる前に、サードパーティのコンテナライブラリをスキャンすることもできます。この重要なステップの重要性を考慮に入れるために、私の会社は最近、プロダクションに入る前に、お客様のためにスキャンされた200万を超えるコンテナのサンプルをレビューしました。イメージの半分以上に重大度が高またはそれ以上の既知の脆弱性があることがわかりました。通常、企業は本番リリースの前にこれらの問題を修正します。

2.ランタイムの脅威と攻撃から保護します。

シフトレフトすると、コンテナに脆弱性がデプロイされないようにすることができますが、実行時においても環境を危険にさらす可能性がある新たな脅威から保護する必要もあります。これには、許可されていないユーザーアクティビティ、コンテナへの過剰な特権、許可されていないネットワーク接続など、幅広いポリシーにわたる違反のランタイム検出が必要です。ランタイムの脅威を包括的に検出するための手動のポリシーを作成することは難しいため、コミュニティが提供するポリシーと機械学習のポリシーを活用することが重要になります。もう1つの重要な要素は、ポッドセキュリティポリシーなど、Kubernetes内の機能を活用する自動ランタイム防止機能です。ポッドセキュリティポリシーには、過剰な権限がある場合に新しいコンテナが起動しないようにする機能があります。

3.コンプライアンスを継続的に検証します。

CISベンチマークは、コンテナに最小限の強化ガイドラインを提供します。さらに、GDPR、PCI-DSS、HIPAAへの対応など、規制要件は厳しくなっています。規制当局もますます厳しくなり、規制当局はコンプライアンスの不履行に対する煩雑な金銭的ペナルティをますます強化しています。コンテナは絶えず変化する、急速に変化するコンテナ環境では、要件が複雑になる可能性があります。上記のお客様の調査によると、コンテナの6%のみが1週間より長く使用されています。コンプライアンスを検証するには、ソフトウェア開発ライフサイクルのビルドフェーズ中に各規制とそれに関連するコントロールを特定のポリシーとチェックにマッピングし、継続的なコンプライアンスを確保するためのランタイムチェックが必要です。

4.運用とセキュリティにまたがる単一の真実のソースを使用して、運用監視とともにセキュリティを組み込みます。

コンテナ環境において、可視性は大きな課題です。見えないものは確保できません。したがって、セキュリティチームと監視チームの両方をサポートするための詳細な可視性を提供するデータリポジトリを構築することは、基盤として必須です。さらに進んで、セキュリティ、コンプライアンス、監視、トラブルシューティングのための統合ワークフローを構築することで、運用チームとセキュリティチーム全体でのコラボレーションと意思決定の迅速化が促進されます。たとえば、メモリ使用率の変化やCPU使用率の急上昇は通常、モニタリングメトリクスですが、EC2インスタンスに対するサービス拒否攻撃を示している可能性があります。データの単一のソースとそのデータを処理するための単一のワークフローを使用することで、相関を迅速化し、決定に迅速に到達することができます。

5.アクティビティを監査し、セキュリティイベントを調査する方法があることを確認します。

このような短い有効期間では、コンテナが消えた後も保持される詳細なコンテナアクティビティを記録する方法を確立することが不可欠です。異常な動作が発生した場合にどのプロセスが生成されたかを知りたい場合は、どのような接続が行われましたか?どのファイルが変更されましたか?どのHTTPリクエストが処理されましたか?そして、このシステムアクティビティをユーザーアクティビティと関連付けることができる必要があります。どのユーザーがコンテナにアクセスしましたか?彼らは何をしましたか?このタイプの深いコンテナアクティビティへのアクセスにより、何が起こったかを効果的に切り分け、迅速に対応できます。そうしないと、何が起こっているのかが分からなくなります。

これらの5つのことを念頭に置いてセキュリティプロセスを再考するCISOは、特にKubernetesおよびコンテナへの攻撃がより高度になるにつれて、コンテナのセキュリティの脅威に直面する準備が整うでしょう。

セキュリティについてもっと読む

コンテナのセキュリティとコンプライアンスに関心がありますか?あなたはこれらのリソースが役に立つかもしれません:

ご質問・お問い合わせはこちら

top