DevSecOpsは、セキュリティを開発プロセスに効果的に統合し、セキュリティと開発の間の摩擦を排除または軽減し、実際に機能する安全なソフトウェア開発ライフサイクル (SDLC) を実現する手段を提供します。
AIの進化がサイバーセキュリティの環境を大きく変える中、企業や組織は新たなチャンスとリスクの両面に直面しています。AIはセキュリティ対策を強化する一方で、未知のリスクをもたらす可能性もあります。
ガートナーのeBookをダウンロードし、次の重要なポイントをご確認ください。
フォームにご記入いただくと、無料でダウンロードできます。
DevSecOpsとは、DevOps(「DevOpsとは?」参照)にセキュリティとコンプライアンスを組み込むアプローチです。リスクが高まる現在のビジネス環境では、できるだけ早い段階でセキュリティ侵害や脆弱性を除去することが重要となります。
従来はソフトウェア開発サイクルの後半で行われがちだったアプリケーション・セキュリティ・テスト (AST) を、開発中に組み込むことでリスクを早期に把握し、修正コストやビジネス上の影響を軽減できます。さらに、ランタイム保護やAPIセキュリティ(例: Webアプリケーションファイアウォールや認証プロトコルの実装)など、運用フェーズにおけるリアルタイムの脅威検知と遮断も欠かせません。
DevSecOpsでは、アプリケーション・セキュリティを、開発とオペレーションにまたがる継続的な改善プロセスの一部とみなしています。しかし、その目的は、開発中にすべての脆弱性を排除することではなく、むしろ、セキュリティとコンプライアンスを損なうことなく開発をスピードアップすることにあります。
DevOpsは、アジャイル手法やコラボレーション、自動化を活用してソフトウェア開発の断絶や機能不全を解消し、顧客にとっての価値を迅速に提供するビジネス主導のアプローチです。
従来、ソフトウェア開発チームとITオペレーションチームは別々の指標やリーダーの下で作業していましたが、DevOpsによって壁を取り払い、コミュニケーションや連携を促進します。その結果、高品質を維持しながらソフトウェアを継続的かつ迅速にリリースできるようになります。主な評価指標は顧客満足度と提供する価値です。
DevOpsがセキュリティの必要性を暗に含んでいるのに対し、DevSecOpsはソフトウェア開発ライフサイクル(SDLC)の各段階でセキュリティを中心的に取り入れる点が最大の特徴です。
DevSecOpsの場合、具体的には、脅威モデリングやセキュリティ・テストを設計時から導入し、開発者とセキュリティチームが早期かつ継続的にコラボレーションすることで、フローの最適化とリスク低減の両立を目指します。
最終的には顧客にとっての価値、コスト、リスクを最適化することが重要であり、DevOpsとDevSecOpsのどちらの用語を使用するにせよ、組織内で合意しやすい用語やアプローチを起点に導入を進めるとよいでしょう。
DevOpsおよびDevSecOpsの両者とも、開発とオペレーション(運用)にアジャイルや自動化を取り入れ、協調的に進めるアプローチです。理想的には、すべてのソフトウェアはセキュリティを考慮して開発されるため、DevOpsでもDevSecOpsでも開発者がセキュリティを常に念頭に置くことが求められます。
DevOpsではそれが暗黙的に行われますが、DevSecOpsでは明示的に組み込まれる点が異なります。いずれのアプローチでも、分断や思い込みではなく、整合性とコミュニケーション、継続的な問題解決を重視する姿勢に変わりはありません。
ガートナーでは、現時点でDevSecOpsの要件をすべて満たす単一ツールは存在しないと分析し、統合的なDevSecOpsプラットフォームを基盤に必要な機能を補う形を推奨しています。
DevSecOps ツールチェーン (またはパイプライン) は、次の 2 つの主要コンポーネントを中心に構成されています。
ただし、独自の DevSecOps ソリューションを構築すべきというわけではありません。ほとんどの組織では、アジャイルおよび DevOps プラクティスを使用して製品の継続的な提供を可能にする完全に統合された機能を提供する DevSecOps プラットフォームをソリューションの基盤とすることで、よりよい結果が得られます。
ニーズのほとんど (すべてではないにしても) をサポートするプラットフォームを選択し、必要に応じて追加のツールでプラットフォームを拡張します。非常に強力なビジネスニーズと組織のサポートがない限り、さまざまなアプリケーションを統合して独自の DevSecOps ソリューションを実装することはお勧めしません。
手動のセキュリティ作業や時間のかかるレビュー・プロセスなど、従来のアプリケーション・セキュリティの取り組みでは開発スピードを維持しづらくなっています。DevOpsを導入して開発を加速する組織は、安全でコンプライアンスを満たすコードを提供する責任も同時に負う必要があります。
さらに、情報セキュリティやIT運用の知識が十分でないメンバーがセキュリティ関連のプロセスを担うケースも増えており、組織全体での取り組み方が一層重要です。多くの開発者がアプリケーション・セキュリティに関する専門用語やプロセスを十分に理解していない場合、新しい機能や性能を優先してセキュリティの優先順位を下げてしまうリスクが高まります。
完璧なアプリケーション・セキュリティは不可能であり、脆弱性ゼロのアプリケーションを誤って追求すると、大規模なセキュリティ・テストがデジタル・ビジネスのスピードを阻害する場合もあります。
SAST(静的アプリケーション・セキュリティ・テスト)やDAST(動的アプリケーション・セキュリティ・テスト)、SCA(ソフトウェア・コンポジション分析)などを活用し、統合開発環境(IDE)およびCI/CDパイプライン内で継続的に脆弱性を検知できる状態を目指す
セキュリティとコンプライアンスのスキャンをAPI経由で自動的かつプログラム的に実行できるよう設計する
DevSecOpsはソフトウェア開発と運用の高速化を目指すDevOpsの取り組みにセキュリティを明確に統合し、ビジネス価値とリスク管理を両立させるアプローチとして注目を集めています。
CIOやセキュリティ/リスク・マネジメント (SRM) のリーダー、ソフトウェア・エンジニアリング・リーダーは、ガートナーがご提供する以下のようなリサーチノートを通じて、DevOpsおよびDevSecOpsに関するより深い知見を得ることができます。そして、ステークホルダーの懸念とビジネス目標のバランスを取りながら、長期的な競争優位を築くことが期待できます。
※ご契約者様向けのリソースです。ご契約のお客様は、以下のリサーチノートからさらなる詳細をご確認いただけます。
Quick Answer: Are DevOps and DevSecOps Different?
2024年4月8日発行、ID G00767617
著者: Daniel Betts, George Spafford, Mark Horvath, Dale Gardner, Chris Saunderson, Hassan Ennaciri
DevOpsとDevSecOpsはいずれもアジャイルな原則、コラボレーション、自動化を基盤としており、顧客価値を効率よく提供することを主眼としています。DevOpsとDevSecOpsの定義、主要な違い、および共通点を解説します。
DevSecOps Maturity Model for Secure Software Development
2024年8月29日発行、ID G00816070
著者: Aaron Lord, Manjunath Bhat, Aaron Harrison
開発のフローやイノベーションを妨げることなくアプリケーションのセキュリティを向上させるための、5つのディメンションによる成熟度モデルを紹介します。ソフトウェア・セキュリティが大きな課題となっている現状を踏まえ、本成熟度モデルは組織が現在のDevSecOps成熟度を評価し、目標とする状態を特定し、「セキュア・バイ・デザイン(Secure by Design)」へと向かうロードマップを描くためのフレームワークをご提供します。
Reference Architecture Brief: DevSecOps Platform
2024年8月6日発行、ID G00818799
著者: Bill Holz, Sushant Singhal, Chris Saunderson
安全かつ頻度高く価値あるビジネス・ソリューションを提供できるようにするための、効果的なDevSecOpsプラットフォームを構築する際のリファレンス・アーキテクチャを説明します。
Streamline Your DevSecOps Profile
2024年9月17日発行、ID G00817685
著者: Giles Williams, Mark Horvath, Dale Gardner, Aaron Lord
ソフトウェア開発ライフサイクル(SDLC)全体にセキュリティをシームレスに統合するために重要な推奨事項を提示し、コラボレーションの促進、責任分散、開発者への知識とツールの提供、重要な脆弱性の優先対応などを紹介します。
ガートナーの各種コンファレンスでは、CIOをはじめ、IT投資、導入、運用管理にかかわるすべての意思決定者に最新・最適な情報とアドバイス、コミュニティを提供します。