DevSecOps とは?

オフィスでコンピューターを使用するプロフェッショナル

DevSecOps とは?

DevSecOpsは、Development(開発)Security(セキュリティー)Operations(運用)の略で、初期設計から統合、テスト、提供、デプロイメントに至るまで、ソフトウェア開発ライフサイクルのあらゆる段階でセキュリティーとセキュリティープラクティスの統合を自動化するアプリケーション開発プラクティスです。

DevSecOpsは、組織のセキュリティー開発アプローチにおける自然かつ必要な進化を表しています。これまで、セキュリティーは開発サイクルの最後に、ほとんど後付けでソフトウェアに「追加」されるもので、別のセキュリティチームがこれらのセキュリティー対策を適用し、別の品質保証(QA)チームがこれらの対策をテストを行っていました。

ソフトウェア更新が年に1回または2回リリースされるだけであれば、従来のセキュリティー問題への対処能力でも管理可能でした。しかし、ソフトウェア開発者がアジャイルおよびDevOpsプラクティスを採用し、ソフトウェア開発サイクルを数週間、さらには数日に短縮することを目指したため、従来のセキュリティーでの「後付け」のアプローチでは許容できないボトルネックが発生しました。

DevSecOpsは、アプリケーションとインフラストラクチャーのセキュリティーをアジャイルおよびDevOpsのプロセスとツールにシームレスに統合するため、セキュリティーに関する問題が発生した場合、より簡単、より迅速、かつ低コストで修正を行い、実稼働環境に導入する前に対処します。

さらに、DevSecOpsにより、アプリケーションとインフラストラクチャーのセキュリティーはセキュリティーのサイロの単独責任ではなく、開発チーム、セキュリティーチーム、IT運用チームの共有責任となります。ソフトウェア開発サイクルを遅らせることなく安全なソフトウェアの提供を自動化することで、DevSecOpsのモットーである「ソフトウェアをより安全に、より早く」を実現します。

ビジネス街をバックにスマホを持つ手

The DX Leaders

「The DX Leaders」は日本語でお届けするニュースレターです。AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。

DevSecOpsのメリット

DevSecOpsの主な2つのメリットは、速度とセキュリティーです。 そのため、開発チームは、より優れた、より安全なコードを、より早く、より安価に提供できます。

「DevSecOpsの目的と意図は、必要な安全性を損なうことなく最高レベルのコンテキストを保持する人々に対してセキュリティーに関する決定を迅速かつ大規模に、かつ安全に配布することであり、全員がセキュリティーに対する責任を負うという考え方を構築することです」と「DevSecOps Manifesto」の共著者であるShannon Lietz氏は説明します。

迅速かつ費用対効果の高いソフトウェア配信

ソフトウェアが非DevSecOps環境で開発される場合、セキュリティー上の問題が大幅な時間遅延につながる可能性があります。コードとセキュリティーに関する問題の修正には大幅な時間と費用がかかる可能性があります。DevSecOpsを迅速かつ安全に実施することで事後にセキュリティー問題に対処するためのプロセスを繰り返す必要性が最小限に抑えられるため、時間とコストを削減できます。

統合セキュリティーによって重複レビューや不必要な再構築が排除され、コードの安全性が高まるため、このプロセスはより効率的で費用対効果が高まります。

改善された事前予防型セキュリティー

DevSecOpsでは、開発サイクルの開始時からサイバーセキュリティープロセスが導入されます。開発サイクル全体を通して、コードはセキュリティー上の問題についてレビュー、監査、スキャン、テストされ、問題を特定すると、すぐに対処します。セキュリティー上の問題は追加の依存関係が導入される前に修正されます。サイクルの早い段階で保護テクノロジーを用いてセキュリティーの問題を特定および実装することで、修正にかかるコストは低くなります。

さらに、開発、セキュリティー、運用チーム間の連携が強化されると、インシデントや問題が発生した際の組織の対応が向上します。セキュリティーチームは、DevSecOpsプラクティスにより、脆弱性にパッチを適用する時間が短縮され、より価値の高い作業に集中できるようになります。これらのプラクティスによりコンプライアンスも確保および簡素化され、セキュリティーのためにアプリケーション開発プロジェクトを新たに変更する必要がなくなります。

セキュリティーの脆弱性におけるパッチ適用の迅速化

DevSecOpsの主なメリットは、新たに特定されたセキュリティーの脆弱性を迅速に管理できることです。DevSecOpsでは脆弱性のスキャンとパッチ適用がリリースサイクルに統合されるため、一般的な脆弱性と露出(CVE)を特定してパッチ適用する機能は低下します。この機能により、攻撃者が公開運用システムの脆弱性を悪用できる範囲が制限されます。

最新の開発に適合するオートメーション

組織が継続的インテグレーション/継続的デリバリー・パイプラインを使用してソフトウェアを出荷する場合、サイバーセキュリティー・テストを運用チーム向けの自動テスト・スイートに統合できます。

セキュリティーチェックの自動化は、プロジェクトと組織の目標に大きく依存します。自動テストにより、組み込まれたソフトウェアの依存関係が適切なパッチレベルであることを確認でき、さらに、ソフトウェアのセキュリティー・ユニットテスト合格を裏付けます。さらに、最終更新が運用環境にプロモートされる前に、静的および動的分析を使用してコードをテストし、保護することができます。

反復可能で適応性の高いプロセス

組織の成熟に伴い、セキュリティー体制の成熟も高まります。DevSecOpsは、反復可能で適応性のあるプロセスに適しています。DevSecOpsは、環境が変化して新しい要件に適応する際、セキュリティーが環境全体に一貫して適用されるようにします。成熟度が高いDevSecOpsの実装には、堅牢な自動化、構成管理、オーケストレーション、コンテナ、不変のインフラストラクチャー、さらにはサーバーレス・コンピューティング環境が含まれます。

IBM DevOps

DevOpsとは

Andrea Crawfordが、DevOpsとは何か、DevOpsの価値、そしてDevOpsのプラクティスとツールがアイデア考案から本番環境までのソフトウェア・デリバリー・パイプライン全体でアプリケーションを動かすのにどのように役立つかについて説明します。IBMのエキスパートが指導するこのカリキュラムは、ビジネス・リーダーが成長を促進するAI投資の優先順位付けに必要な知識を得られるように設計されています。

DevSecOpsのベスト・プラクティス

DevSecOpsは、開発、提供、運用プロセスにセキュリティー管理を自然に組み込む必要があります。

シフトレフト

「シフトレフト」はDevSecOpsの合言葉です。これは、ソフトウェアエンジニアに、DevOps(提供)プロセスの中の右側(完了時)より左側(開始時)の上流工程でセキュリティー対策をするよう奨励するものです。DevSecOps環境では、セキュリティーは初期から開発プロセスの不可欠な部分です。

DevSecOpsを採用している組織では、サイバーセキュリティーのアーキテクトやエンジニアが開発チームの一員として参加しています。 彼らの仕事は、スタック内のすべてのコンポーネント、すべてのコンフィギュレーション項目にパッチが適用され、安全にコンフィギュレーションされ、文書化されているか確認することです。

シフトレフトにより、DevSecOpsチームはセキュリティーリスクと漏洩を早期に特定し、これらのセキュリティー脅威に即座に対処することができます。開発チームは製品を効率的に構築することを考慮しているだけでなく、製品を構築する際にセキュリティーの実装も行っています。

セキュリティー教育

セキュリティーはエンジニアリングとコンプライアンスの組み合わせです。組織は、開発エンジニア、運用チーム、コンプライアンスチーム間で連携を形成し、組織内の全員が会社のセキュリティ体制を理解し、同じ基準に従うようにする必要があります。

提供プロセスに関わる人は全員、アプリケーションのセキュリティーの基本原則に精通している必要があります。Open Web Application Security Project(OWASP)のトップ10、アプリケーション・セキュリティーテスト、およびその他のセキュリティーエンジニアリング・プラクティスに関する理解が必要です。開発者は、脅威モデル、コンプライアンスのチェック理解し、リスク、危険性を測定、セキュリティー制御を実装する方法に関して実用的な知識を持っている必要があります。

文化:コミュニケーション、人材、プロセス、テクノロジー

優れたリーダーシップは、組織内の変化を促進する良い文化を育みます。DevSecOpsでは、プロセスのセキュリティーと製品の所有権の責任を伝達することが重要かつ不可欠です。そうして初めて、開発者とエンジニアはプロセス所有者となり、自分の作業に責任を負うことができます。

DevSecOps運用チームは、チームと現在のプロジェクトに適したテクノロジーとプロトコルを使用して、自分たちに適したシステムを作成する必要があります。チームがニーズに合ったワークフロー環境を作成できるようにすることで、チームはプロジェクトの結果に投資する利害関係者になります。

トレーサビリティ、監査可能性、可視性

DevSecOpsプロセスにトレーサビリティ、監査可能性、可視性を実装することで、より深い洞察とより安全な環境につながります。

  • トレーサビリティにより、開発サイクル全体にわたって、要件がコードに実装されるまでの構成項目を追跡することができます。トレーサビリティは、組織の統制フレームワークにおいて重要な役割を果たします。このプロセスは、コンプライアンスを達成し、バグを減らし、アプリケーション開発で安全なコードを確保し、コードの保守性を高めるのに役立ちます。

  • 監査可能性は、セキュリティー管理のコンプライアンスを確保するために重要なものです。技術的、手続き的、管理的なセキュリティー管理は、監査可能で、十分に文書化され、チームメンバー全員が遵守する必要があります。

  • 可視化は一般に見て優れた管理手法ですが、DevSecOps環境にとっては非常に重要です。組織は、操作の鼓動を測定し、アラートを送信するために、強固な監視システムを導入する必要があります。 システムは、変更やサイバー攻撃が発生したときに、その認識を高める必要があります。また、プロジェクトのライフサイクル全体にわたって説明責任を提供する必要があります。
関連ソリューション
IBM DevOps アクセラレート

オンプレミス、クラウド、またはメインフレームのあらゆるアプリケーションのソフトウェア配信を自動化します。

DevOps Accelerateの詳細はこちら
DevOpsソリューション

DevOpsソフトウェアとツールを使用して、複数のデバイスや環境でクラウドネイティブ・アプリケーションを構築、デプロイ、管理します。

DevOpsソリューションの詳細はこちら
クラウド・コンサルティング・サービス 

IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。

クラウド・サービス
次のステップ

継続的な統合とデリバリーにより、DevOpsの可能性を解き放ち、安全なクラウドネイティブ・アプリケーションを構築、テスト、デプロイします。

DevOps ソリューションの詳細はこちら DevOpsの実際の動作を確認する