クラウドネイティブアプリケーションセキュリティを一貫して実現
2022年6月8日
0 分で読めますクラウドによって、組織はこれまで以上に迅速にアプリケーションを開発・デプロイできるようになりましたが、セキュリティはより複雑になっています。クラウドへの移行により、アプリケーションだけでなく、それらを実行するインフラストラクチャも含め、あらゆるものがコードで構成される世界が生まれました。そのため、アプリケーションやクラウド環境のセキュリティ上の問題は、システム全体を危険にさらす可能性があります。そして、クラウドネイティブアプリケーションスタック全体のセキュリティを維持する責任は、ますます開発チームに委ねられています。
つまり開発者は、自社で開発したコード、使用するオープンソースの依存関係、アプリケーションのデプロイに使うコンテナやInfrastructure as Code(IaC)、さらにはアプリケーションと実行時の構成を継続的に保護することにも取り組む必要があります。
この記事では、より安全なクラウドネイティブアプリケーションを実現するために、アプリケーションセキュリティとクラウドセキュリティを統合する必要性について解説します。
開発段階におけるクラウドネイティブセキュリティ
効果的なクラウドネイティブアプリケーションセキュリティは、開発中に脆弱性をスキャンすることから始まります。コードの記述と同時に脆弱性を検出して修正すれば、アプリケーション自体のセキュリティが向上します。この方法はクラウドにも活用できます。
現在のクラウド環境は、コンテナ用のDockerfileやコードに似たIaC構成で成り立っているため、実質的にアプリケーションといえます。つまり、開発中にこれらのファイルをスキャンし、潜在的な脆弱性を検出して修正できます。設定ミスはクラウドの脆弱性で最もよく見られるものの一つであるため、クラウドネイティブアプリケーションにとって大きなリスクとなります。こうした設定ミスは、クラウド関連ファイルの中から早期に発見する必要があります。
強固なクラウドネイティブアプリケーションセキュリティは、自社開発コードやオープンソースの依存関係から、コンテナやIaC構成まで、ソフトウェアのあらゆるコンポーネントを自動スキャンし、セキュリティを開発の早い段階に組み込むことから始まります。また、セキュリティの責任を担う開発者が使いたいと思えるツールで実現することも重要です。
クラウド全体を網羅するセキュリティ
クラウドは動的で一時的な性質を持ち、多くのクラウドインフラストラクチャが絶えず変化しています。アプリケーションのデプロイ先となるクラウド環境を保護する対策を講じるとともに、元のソースファイルだけでなく、実行時のセキュリティも考慮することが重要です。
IaCの構成変更は数分で自動実行できるため、構成ドリフトが現実的なリスクになります。これは、クラウドインフラストラクチャの現在の状態がIaCの定義と一致しなくなることです。IaCで管理されるクラウドインフラストラクチャを継続的に監視して差異を検出することは、データ侵害、アプリケーションの停止、デプロイの失敗のリスクを抑えるうえで不可欠です。
効果的なクラウドセキュリティは開発段階にとどまらず、本番環境で新たな脆弱性を監視し、アプリケーションのクラウド稼働後に潜在的なサイバー攻撃を軽減します。
クラウドセキュリティをコードにつなげる
クラウドネイティブアプリケーションの本番稼働中にセキュリティ脅威を監視すると、有益な知見が得られます。しかし、その情報をソースコードや構成ファイルと結び付ける必要があります。コンテナやIaC定義から作られた稼働中の環境ではなく、コード自体に恒久的なセキュリティ修正を実装する必要があるためです。
しかし、多くのセキュリティツールは、問題を実際に修正するエンジニアに実行時の知見を届けられません。そのため、本番環境で検出された脆弱性の根本原因を特定することが難しくなり、クラウドネイティブアプリケーション全体がリスクにさらされます。
したがって、クラウドネイティブアプリケーションセキュリティを包括的に実現するには、脆弱性スキャンと実行可能な知見を、コードからクラウドへ、そして再びコードへとつなげる必要があります。
Snykでセキュリティのサイロ化を解消
現在のクラウドネイティブアプリケーションでは、ライフサイクル全体を通じて、あらゆるコンポーネントを包括的に保護する必要があります。そこでSnykは、アプリケーションセキュリティ、構成セキュリティ、クラウドセキュリティを統合プラットフォームに集約し、エンジニアがクラウドネイティブアプリケーションのセキュリティ態勢を強化できるようにします。
SnykによるFugueの買収により、クラウドセキュリティポスチャ管理がDevSecOpsワークフローに組み込まれ、クラウドの実行時コンテキストと開発チームがつながります。これにより、IaCリソースの構成ドリフトを防ぎ、クラウドで検出された問題を修正するための実践的なフィードバックを提供できます。
SnykとSysdigのインテグレーションも、特にKubernetesのデプロイにおいて、実行時のコンテキストをエンジニアに届けます。SysdigはKubernetesでデプロイされたコンテナを監視し、各コンテナ内で実行されているすべてのものをリアルタイムでプロファイリングします。これをSnykの脆弱性リストと連携させることで、開発者は潜在的なリスクに基づいて修正の優先順位を決められます。
Snykはクラウドセキュリティと構成セキュリティを統合するだけでなく、クラウドネイティブアプリケーションスタックのすべてのコンポーネント、つまりアプリケーションコード、オープンソースの依存関係、コンテナイメージ、クラウド構成もスキャンします。開発から本番環境まであらゆるコンポーネントをスキャンし、実行時の知見をエンジニアに還元することで、クラウドネイティブアプリケーションセキュリティを一貫して実現できます。
開発者を第一に考えたクラウドセキュリティについて詳しく知りたい方は、最新のホワイトペーパーをダウンロードしてください。コードからクラウド、そして再びコードへ:クラウドアプリケーションを保護する
開発者のために設計されたIaCセキュリティ
Snykは、統合されたポリシー・アズ・コードエンジンにより、SDLCからクラウドでの実行時までInfrastructure as Codeを保護します。すべてのチームが安全に開発、デプロイ、運用できるよう支援します。



