ホーム Topics DevSecOpsとは DevSecOps とは?
IBMのDevSecOpsソリューションはこちら AI関連の最新情報の購読
ギアとロボット・アーム、携帯電話のピクトグラムをコラージュしたイラスト
DevSecOps とは?

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

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

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

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

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

全社規模のインテリジェントな自動化のガイド

インテリジェントな自動化がビジネス・オペレーションに競争上の優位性をもたらす方法をご覧ください。

関連コンテンツ

よりスマートなAIOpsに関する電子ブックを読む

DevSecOpsのメリット

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

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

迅速で費用対効果の高いソフトウェア提供
 

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

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

事前予防型セキュリティーの向上
 

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

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

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

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

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

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

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

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

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

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

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

シフトレフト

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

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

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

セキュリティー教育プログラム
 

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

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

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

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

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

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

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

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

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

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

必要なROIを実現するように設計された、統合、AI、自動化機能の包括的な IBMポートフォリオをご覧ください。

IBM インテリジェント・オートメーション・ソリューションはこちら
IBM UrbanCode

IBM UrbanCodeがオンプレミス、クラウド、メインフレームアプリケーションのあらゆる組み合わせに対してソフトウェアの提供を高速化および最適化する方法についてはこちらです。

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

強力なDevOpsソフトウェアを活用して、複数のデバイス、環境、クラウドにわたってセキュリティーが強化されたクラウドネイティブアプリを構築、展開、管理します。

IBM DevOpsソリューションの詳細はこちら
参考情報 AIを活用したIT運用の未来

Gartnerの独占アナリストレポートにアクセスして、IT向けAI がどのようにビジネスの成果を向上させ、収益の増加につながり、組織のコストとリスクの両方を削減するかを学びましょう。

AIOpsとは?

IT運用のための人工知(AIOp)がデータと機械学習を使用してITサービス管理を改善および自動化する仕組み

AIを活用したITオートメーション

ITオペレーションにおけるAIを活用した自動化のメリットを示すIBM Cloudインフォグラフィックをダウンロードしてください。

次のステップ

IBM Turbonomicは、アプリケーションをシームレスかつ継続的に、コスト効率よく実行できるため、コストを削減しながら効率的なアプリケーションのパフォーマンスを実現できます。

Turbonomicの詳細はこちら 無料デモを予約する