DevSecOps とは
DevSecOps(開発(Development)、セキュリティ(Security)、運用(Operations)の略)は、ソフトウェア開発ライフサイクルのすべての段階にセキュリティ イニシアティブを統合し、堅牢で安全なアプリケーションをデリバリするための開発手法です。
DevSecOps は継続的インテグレーション/継続的デリバリ(CI/CD)パイプラインにセキュリティを組み込み、開発チームが今日の喫緊のセキュリティ課題に DevOps のスピードで対処できるようにします。
これまで、多くの場合、セキュリティの考慮事項やセキュリティ対策は、開発ライフサイクルの後半に取り入れられていました。しかし、巧妙化したサイバーセキュリティ攻撃が増加するとともに、より短いサイクルで、より多くの回数を反復するアプリケーション開発手法へシフトしていることから、この最新の開発エコシステムでアプリケーションの安全性を維持するため、現在では DevSecOps が主流となっています。

DevSecOps for Dummies

DevSecOps の運用最適化
DevSecOps のメリット
今日、セキュリティはあらゆる組織にとっての最重要課題です。幸い、あらゆる段階でセキュリティを組み込むことに重点を置いた DevSecOps は、より安全な開発アプローチであると同時に、今日の迅速なリリース サイクルのスピードにも対応できることが証明されています。
DevSecOps アプローチは、組織に次のようなメリットをもたらします。
- アプリケーション セキュリティの強化
プロアクティブなアプローチを取り入れている DevSecOps では、開発ライフサイクルの早い段階でサイバーセキュリティの脅威を軽減できます。開発チームは、自動化されたセキュリティ ツールを使用してコードをその場でテストし、開発サイクルを遅らせることなくセキュリティ監査を実施できます。
DevOps チームは、開発プロセスのさまざまな段階でコードのレビュー、監査、テスト、スキャン、デバッグを行い、アプリケーションが重要なセキュリティ チェックポイントを満たしていることを確認できます。セキュリティの脆弱性が見つかったときは、アプリケーション セキュリティ チームと開発チームが連携し、コード レベルで解決策を検討して問題に対処します。
- チーム間の連携
DevSecOps では、開発プロセスの早い段階で開発チームとアプリケーション セキュリティ チームが連携し、チームの枠を越えるコラボレーション アプローチを構築できます。サイロ化され、連携が取れていない状況では、イノベーションが妨げられ、ビジネス部門間の分断につながる可能性もあります。DevSecOps では、早い段階でチーム間の認識をすり合わせ、すべてのチームの合意を得ることで、より効率的なチーム コラボレーションを実現できます。
- 効率化されたアプリケーション デリバリ
開発ライフサイクルの早期からすべての段階にセキュリティを組み込み、できる限り多くのセキュリティ プロセスを自動化し、レポートを合理化することで、セキュリティを強化するとともに、チームはセキュリティ対策を適用しつつ迅速な開発サイクルを実現できます。
たとえば、開発チームが初期のアプリケーション開発段階をすべて完了し、そのアプリケーションをリリースする直前になってセキュリティの脆弱性が多数見つかったとします。この場合、デリバリが大幅に遅れてしまいます。
- セキュリティの脆弱性の抑制
共通脆弱性識別子(CVE)を特定、管理し、パッチを適用する作業を自動化できます。組み込みのスキャン ソリューションを早い段階から繰り返し使用し、ビルド パイプライン内のビルド済みコンテナ イメージをスキャンして CVE を探索します。リスクを軽減するだけでなく、脆弱性が見つかったときチームにインサイトを提供し、チームが迅速に修正できるよう支援するセキュリティ対策を取り入れます。
DevSecOps の最大のメリットの 1 つは、効率的なアジャイル開発プロセスを構築できることです。このアプローチを適切に実施すれば、セキュリティの脆弱性を大幅に抑制することができます。サイバーセキュリティのテスト プロセス、タスク、サービスの多くは、アプリケーション開発チームや運用チームが利用している自動化サービスと非常に容易に統合できます。
開発プロセスでセキュリティファースト アプローチを重視することで、組織は、製品のリリース スケジュールに間違いなく影響を与える未知の変数を排除することができます。
DevSecOps が重要な理由
今日のビジネス環境では、頻発するサイバー攻撃を軽減するうえで DevSecOps が重要な役割を果たしています。セキュリティ イニシアティブを早い段階で実装し、かつ頻繁に実行するアプローチは、さまざまな業界のアプリケーションに次のようなメリットをもたらします。
- 行政機関:機密性の高い行政機関の情報を管理するアプリケーションは、常に悪意のあるサイバー攻撃の標的となります。セキュリティファーストの開発アプローチを取り入れて、これらのアプリケーションをハードニング(セキュリティ強化)することで、悪意のある人物や組織が脆弱性を見つけて悪用する可能性を大幅に低減できます。
- 医療:DevSecOps は、医療分野におけるアプリケーション設計の確かな標準となりつつあります。HIPAA の順守が組織に求められるなか、セキュリティファーストのアプローチを採用することで、患者の個人情報(PII)が漏洩したり、悪用されたりする可能性が大幅に減少することが次第に明らかになってきています。
- 金融:DevSecOps は金融業界での開発においても役立っています。今日、金融機関はサイバー攻撃の主要な標的となっているため、開発会社は DevSecOps モデルを積極的に取り入れて、機密データがサイバー犯罪者に窃取される可能性を低減しています。
DevSecOps の仕組み
VMware の DevSecOps アプローチは、開発チームにフルスタックのセキュリティを提供することを目的としています。これを実現するため、組織のセキュリティ チーム、開発チーム、リリース管理(運用)チームの間に継続的なコラボレーションを確立し、このコラボレーションのもとで CI/CD パイプラインのすべてのステップを実行します。
CI/CD パイプラインは、コーディング、ビルド、ストア、準備、デプロイ、実行の 6 つのステージで構成されます。
ここでは、このワークフローの各ステージについて、プロセスの早期にセキュリティを組み込むことのメリットを説明します。
- コーディング
DevSecOps に基づく開発アプローチの最初のステップは、安全かつ信頼済みのセグメントでのコーディングです。VMware Tanzu® には、これらの本質的にセキュアな構成要素を定期的にアップデートするためのツールが用意されており、スタート時点からデータとアプリケーションを保護することができます。 - ビルド
コードを取得し、コア OS、アプリケーションの依存関係、その他のランタイム サービスを含む包括的なコンテナ イメージを提供するには、安全なプロセスが必要です。VMware Tanzu Build Service™ では、このプロセスを安全に管理するとともに、ランタイムでの依存関係スキャンを実行して、セキュリティを強化できます。そのため DevSecOps チームは、安全かつ俊敏に開発を行うことができます。 - ストア
進化し続ける今日のサイバーセキュリティ環境において、既製のテクノロジー スタックはリスクと考える必要があります。つまり、既製のアプリケーションやバックエンド サービスはすべて継続的にチェックしなければなりません。幸い VMware には、開発者が既定の依存関係を安全に取得できる VMware Tanzu と、コンテナ イメージの脆弱性をスキャンできる VMware Carbon Black Cloud Container™ が用意されています。 - 準備
アプリケーションをデプロイする前に、それがセキュリティ ポリシーに準拠していることを確認する必要があります。VMware Tanzu と Carbon Black Cloud Container では、開発サイクルの次のステージへ進む前に、組織のセキュリティ ポリシーに照らして構成を検証できます。これらの構成では、ワークロードをどのように実行するかが定義されています。これらを検証することで、潜在的な脆弱性に関する重要なインサイトが得られるだけでなく、CI/CD パイプラインの後続のステージを設定して、デプロイを適切に行えるように準備できます。 - デプロイ
これまでのステップで実施したスキャンにより、アプリケーションのセキュリティ強度を包括的に把握できます。開発プロセスの脆弱性や構成エラーを特定し、明らかにすることで、組織は問題を修正して、より強力なセキュリティ標準を定義し、セキュリティ ポスチャを強化できます。 - 実行
デプロイしたコードを実行する際、SecOps チームはデプロイのアクティブ分析、監視、自動化を利用して、コンプライアンスを継続的に確保するとともに、デプロイ後に表面化する脆弱性のリスクを軽減できます。
DevSecOps と DevOps
その名前から、DevSecOps は単に DevOps にセキュリティを追加したものだと思われがちですが、そうではありません。
開発(Development)と運用(Operations)の略である DevOps は、これら 2 つの重要なチームの開発プロセスでのコラボレーションにのみ焦点を当てています。DevOps では、開発チームと運用チームが互いに連携して、プロセス、KPI、目標とするマイルストーンを策定します。これにより運用チームは、開発チームから継続的に受け取るフィードバックやアップデートを評価しつつ、デリバリの各ステージをより詳細に分析できます。
DevSecOps は、DevOps モデルを基にして、継続的な開発と運用プロセスに追加レイヤーとしてセキュリティを組み込んだものです。その意味で DevSecOps は、DevOps の新バージョンと言えます。DevSecOps では、セキュリティを後付けするのではなく、アプリケーション セキュリティ チームと早い段階で連携し、セキュリティおよび脆弱性の低減の観点から開発プロセスを強化します。
関連するソリューションおよび製品
Tanzu Application Platform
あらゆる Kubernetes 環境とクラウド環境で実行できるアプリケーション認識型プラットフォーム
Tanzu for Kubernetes Operations
マルチクラウド コンテナ インフラストラクチャ
VMware Aria Automation for Secure Clouds
クラウド セキュリティに関するインサイトとコンプライアンス上のリスクをプロアクティブに管理