Shift-leftとShield-rightの実践によるサイバーセキュリティの強化

By 清水 孝郎 - NOVEMBER 14, 2022

SHARE:

本文の内容は、2022年11月11日にERIC CARTERが投稿したブログ(https://sysdig.com/blog/strengthen-cybersecurity-with-shift-left-and-shield-right-practices/)を元に日本語に翻訳・再構成した内容となっております。

サイバー攻撃は、相互に接続された世界における不幸な現実です。悪意のある行為者に追いつくのは難しいことですが、クラウドネイティブテクノロジーへの移行により、さらにその傾向が強まっています。その結果、セキュリティは進化を続けています。開発者、DevOps、クラウドの各チームは、リスクを軽減するために、シフトレフトとシールドライトのセキュリティアプローチのバランスをとる新しいベストプラクティスを学ばなければならなくなりました。今こそ、サイバーセキュリティ戦略を見直すべき時なのです。

このブログと、当社のパートナーでありデベロッパーセキュリティのリーダーである Snyk と共同で開発したホワイトペーパーでは、コンテナ、Kubernetes、クラウドの世界における最新のサイバーセキュリティプログラムの基礎について説明しています。

このブログと付属のホワイトペーパーでは、コンテナ、Kubernetes、クラウドの世界における最新のサイバーセキュリティプログラムの基盤について説明しています。

シフトレフト:デベロッパー主導のセキュリティ

コードやコンテナに悪用可能な脆弱性があると、クラウド・インフラ全体が危険にさらされる可能性があります。このリスクに先手を打つため、「シフトレフト」セキュリティの実践が登場しました。これは、実行時のエクスプロイトを防ぐという特定の目的のもと、開発パイプラインの段階で既知のセキュリティ問題に対処することに焦点を当てたものです。

ほとんどの組織では、開発者はセキュリティの専門家ではありません。開発者は、セキュリティに関心がありますが、必ずしもセキュリティに時間を費やしたいわけではありません。セキュリティテストの自動化は困難です。シフトレフトを成功させるためには、タスクを単純化するための新しいプロセスとツールが必要です。また、クラウド・ネイティブ・セキュリティの専門知識を身に付けるためのトレーニングや教育も同様に重要です。

開発中のアプリケーション・セキュリティの実現には、多くの技術が関わってきます。これには以下が含まれます。

  • ソフトウェア構成分析(SCA):オープンソースソフトウェア(OSS)の脆弱性や悪用される可能性を発見し、分析します。
  • 静的アプリケーションセキュリティテスト(SAST):ソースコード、バイトコード、またはアセンブリコードを分析し、セキュリティ脆弱性を検出します。
  • Infrastructure-as-code (IaC)監査:IaCのテンプレートに設定ミスやセキュリティ上の欠陥がないかをチェックします。

これらの各ツールを使用することで、アプリケーションの提供を開始する前に、脆弱性や設定ミスなどのセキュリティ問題を事前に特定し、対処することができるため、運用開始後のファイヤードリルを回避することができます。

Shift left security

シールドライト:ランタイムセキュリティ

完璧な「シフトレフト」セキュリティの実践をもってしても、脅威は実運用環境で発生する可能性があります。多くの異なる攻撃ベクトルが存在し、ランサムウェア、クリプトマイニング、その他の侵害などの問題は、コードやイメージをスキャンしても防げません。さらに、コンテナの脆弱性は日々発見されているため、今日は安全と思われるコンテナも、明日には新たに公開されたエクスプロイトの犠牲者となる可能性があります。

「シールドライト」セキュリティでは、実行中のサービスを保護・監視する仕組みが重視されます。ファイアウォールや侵入防御システム(IPS)などのツールによる従来のセキュリティ対策では十分ではありません。コンテナ化されたワークロードと、それを取り巻くクラウドネイティブのコンテキストを理解することができないからです。

コンテナを導入する組織は、コンテナの抽象化とエフェメラル・コンピューティングを考慮し、セキュリティ制御の失敗につながる盲点を回避する必要があります。脅威は、信頼できるソース・オブ・トゥルースを監視することで検知することができます。コンテナとクラウドの場合、これには以下が含まれます。

  • Linuxシステムコール
  • Kubernetesの監査ログ
  • クラウドのアクティビティログ
Shift left security

このようなデータを手作業で掘り起こすのは、もちろん無理があります。ポリシー・エンジンを組み込むことで、クラスター、ホスト、オーケストレーション・エンジン、およびクラウド全体で、実行時のセキュリティ検出と対応を自動化するために、どのような動作にフラグを立てるかを定義できます。

シフトレフトセキュリティとシールドライトセキュリティの両方が必要な理由

すべてのサイバーセキュリティプログラムの目標は、ソフトウェアのサプライチェーンから生産に至るまで、完全なライフサイクル・セキュリティであるべきです。DevSecOpsの実践は、この必要性から生まれました。また、SysdigとSnykのパートナーシップにより、ソースから実行までの完全なコンテナセキュリティが可能になったのも、この理由からです。開発段階のセキュリティと実行時のセキュリティのバランスをとることは非常に重要です。開発者は、問題の修正方法に関する洞察と実行可能な修正アドバイスを提供する SAST および SCA ツールを必要とします。セキュリティ運用チームは、防御を回避したり、まだ対処されていない脆弱性を悪用したりする問題を捕捉するためのランタイムセキュリティネットを必要とします。

さらに、ランタイムの可視化は、シフトレフトの実践を改善するのに役立ちます。コンテナが本番稼動すると、ランタイムに発見された問題を根本的なコードに関連付けるフィードバック・ループにより、開発者はどこに焦点を当てるべきかを知ることができます。
静的セキュリティテストは、ランタイムインテリジェンスによって、アプリケーションを実行するコンテナ内でどのパッケージが実際に実行されているかをピンポイントに知ることもできます。これによって、開発者は、使われていないパッケージの脆弱性の優先順位を下げ、代わりに、悪用可能で、実行中の脆弱性の修正に集中することができます。

まとめ

アプリケーションの迅速なデプロイメントサイクルと動的なコンテナ環境によって、セキュリティ要件が変化しています。アプリケーション開発、インフラ運用、セキュリティの各チームがより密接に協力し、連携して、シフトレフトとシールドライトの手法をセキュリティツールチェーンに取り入れる必要が出てきました。この2つのアプローチにより、組織は、最新のアプリケーションアーキテクチャーにおけるセキュリティ脆弱性とインシデントをより効果的に検出し、対応することができるようになります。

コンテナ、Kubernetes、クラウドのセキュリティに関する課題と実践についてさらに詳しく知りたい方は、ホワイトペーパー「Cybersecurity Strategy Must Include Both Shift-Left and Shield-Right Approaches」をダウンロードしてご覧ください。

ホワイトペーパーはこちら