OpenTextのホームページ。
技術トピックス

DevSecOpsとは何か?

クエスチョンマークを中心としたIT項目の図解

概要

DevSecOpsについて質問がありますか?私たちは、DevSecOpsのように、シンプルで、迅速で、ポイントを押さえた答えを持っています。

DevSecOpsは、 開発セキュリティ 運用を 一体化した ソフトウェア・デリバリーの アプローチであり、開発およびデプロイメント・プロセスの各段階にセキュリティを組み込むことで、脆弱性の緩和と修正を容易かつ低コストで実現し、チームがリスクを増大させることなくソフトウェアを迅速にリリースできるようにします。

DevSecOpsでは、セキュリティは後付けではありません。適切なツールは、すべてのステップにプロテクションを織り込みます。また、自動化されたセキュリティ・ゲートを使用することで、セキュアな状態を維持し、DevOpsパイプラインをフルスピードで稼働させることができます。行動分析を使ってソースコードを監視し、疑わしい活動や悪意のある活動を早期に検出します。プラットフォームエンジニアリングは、ソフトウェア開発ライフサイクル(SDLC)環境で使用するツールの数を最小限に抑え、ワークフローを合理化しながら、開発者に安全でまとまりのあるエクスペリエンスを提供できます。

DevSecOpsに関するよくある質問

DevOpsとDevSecOpsの比較

DevOpsは開発と運用のコラボレーションを合理化し、ソフトウェアのデリバリーをスピードアップする。DevSecOps は、この基盤の上に、計画からデプロイまで、開発ライフサイクルにセキュリティの実践を直接組み込むことによって構築される。DevSecOpsは、セキュリティを最終段階として扱うのではなく、脆弱性を早期に特定して対処することで、イノベーションのペースを維持しながら、リスク、コスト、遅延を削減する。

DevOpsの意味は人や組織によって異なるが、文化的な変化と技術的な変化の両方を伴うものであり、セキュリティは成功のための暗黙の要件である。DevOpsとDevSecOpsは対立するものではなく、進化するものである。DevSecOpsは、セキュリティをプロセスの統合された重要な部分とすることで、DevOpsの考え方を拡張するものである。


なぜDevSecOpsが重要なのでしょうか?

DevSecOpsが重要なのは、組織がセキュリティ・リスクを増大させることなくソフトウェアを迅速に提供できるようにするためです。開発、セキュリティ、運用を統合することで、ソフトウェアデリバリライフサイクルの各段階にセキュリティが組み込まれ、チームは早期に脆弱性を特定して修正できるようになります。これにより、コストのかかる手戻りを減らし、継続的なコンプライアンスをサポートし、セキュリティが最新の高速開発に対応できるようにします。


DevSecOpsのメリットとは?

開発者は常にセキュリティを意識してコーディングしているわけではありません。

DevSecOpsは、セキュリティをソフトウェアデリバリライフサイクル(SDLC)に直接統合し、チームがリスクを増大させることなくソフトウェアを迅速にリリースできるようにします。自動化されたセキュリティチェックをCI/CDパイプラインに組み込むことで、企業は早期に脆弱性を減らし、侵害への露出を制限し、全体的なソフトウェア品質を向上させることができます。

より速く、より安全なソフトウェア配信
DevSecOpsでは、セキュリティテストはコードが書かれた段階で行われます。開発者は、コードのチェックイン、ビルド、リリースの際に自動スキャンを実行することで、セキュリティ問題を早期に特定して修正することができます。このシフト・レフト・アプローチは、手戻りを減らし、リリース・サイクルを短縮し、違反を減らし、脆弱なコードが本番環境に到達するのを防ぎます。セキュリティをDevOpsフレームワークに統合するDevSecOpsツールとプロセスを導入したチームは、安全なソフトウェアをより迅速にリリースできるようになります。

ヒューマンエラーや内部脅威によるリスクの低減
セキュリティ・インシデントの多くは、単純なミスやソーシャル・エンジニアリング攻撃によるものです。DevSecOpsは、自動化と行動分析を組み合わせることで、チームが異常な活動を検出し、インサイダーリスクに早期に対処し、開発を遅らせることなく、より効果的に対応できるようにします。

開発者の負担を軽減し、セキュリティを強化
開発者が既に使用している環境にセキュリティ・ツールを直接統合することで、DevSecOps はワークフローを中断することなく導入率を向上させます。開発者は、一夜にしてセキュリティ・エキスパートになることなく、セキュリティ・リスクの可視性を高め、より強固なセキュリティ意識を構築し、より耐障害性の高いアプリケーションを提供することができます。


DevSecOpsの課題とは?

DevSecOpsは、組織がソフトウェアをより迅速かつ安全に提供するのに役立ちますが、その導入に課題がないわけではありません。多くのチームは、スピード、セキュリティ、コンプライアンスのバランスを取るのに苦労しています。

配達を遅らせるセキュリティ
最も一般的な課題の1つは、セキュリティが摩擦を生むという認識です。手作業によるレビュー、後期のテスト、バラバラのツールは、リリースを遅らせ、開発チームをイライラさせます。セキュリティの導入がライフサイクルの後半にさしかかると、多くの場合、セキュリティは有効な手段ではなく、むしろボトルネックになります。

ツールの乱立と統合の欠如
DevSecOpsは、開発、セキュリティ、運用にまたがる複数のツールに依存しています。強力な統合がなければ、チームはツールの乱立、労力の重複、一貫性のない可視性に直面します。CI/CDパイプラインや開発者のワークフローに統合されないセキュリティツールは、採用されにくく、無視される可能性が高くなります。

ソフトウェアサプライチェーン全体の可視性の制限
最新のアプリケーションは、カスタムコード、オープンソースコンポーネント、API、クラウドインフラにまたがっています。多くの組織では、アプリケーションとAPIのインベントリを完全に把握できていないため、脆弱性の特定、依存関係の管理、ソフトウェアサプライチェーン全体のリスクの把握が困難になっています。

スキル格差と文化的抵抗
DevSecOpsでは、開発者、セキュリティチーム、運用担当者がセキュリティの責任を共有する必要があります。スキルの格差、所有権の不明確さ、変化への抵抗などが、採用を遅らせる原因となります。適切なトレーニングやセキュリティチャンピオンがいなければ、チームは日々の開発作業にセキュリティ対策を組み込むのに苦労するかもしれません。

スピードを犠牲にすることなくコンプライアンスを管理
規制産業はさらに複雑な問題に直面しています。GDPR、CCPA、PCI、または業界固有の基準などのフレームワークの要件を満たすには、多くの場合、手作業による証拠収集と監査が必要です。自動化なしでは、コンプライアンスへの取り組みが継続的デリバリーの目標と衝突する可能性があります。

チームや環境にまたがるセキュリティの拡張
組織が成長するにつれて、複数のチーム、パイプライン、環境に一貫したセキュリティ管理を適用することはますます難しくなっています。レガシー・アプリケーション、ハイブリッド・クラウド・アーキテクチャ、分散化された開発モデルは、DevSecOpsを効果的に拡張する上でさらに複雑さを増しています。


DevSecOpsの主要な構成要素は何ですか?

DevSecOpsのアプローチには、これらの重要なコンポーネントが含まれる可能性がある:

アプリケーション/APIインベントリ
セキュリティは、自分が何を持っているかを知ることから始まります。DevSecOps は、データセンター、仮想環境、プライベート・クラウド、パブリック・クラウド、コンテナ、サーバーレス・アーキテクチャなど、ポートフォリオ全体にわたるアプリケーションと API の自動検出、プロファイリング、継続的なモニタリングに依存しています。自動ディスカバリー・ツールはアプリケーションとAPIを特定し、セルフ・インベントリー・ツールは可視性とガバナンスのためにアプリケーションがメタデータを集中システムに報告することを可能にします。

カスタムコードのセキュリティ
カスタムアプリケーションのコードは、開発、テスト、運用を通じて、脆弱性を継続的に評価する必要があります。頻繁にコードを配信することで、チームは問題を早期に特定して修正し、更新のたびにリスクを低減できます。

  • スタティック・アプリケーション・セキュリティ・テスト(SAST)は、アプリケーションのソースファイルをスキャンし、根本的な原因を正確に特定し、根本的なセキュリティ欠陥の修復を支援します。
  • 動的アプリケーションセキュリティテスト(DAST)は、実行中のウェブアプリケーションやサービスに対する制御された攻撃をシミュレートし、実行中の環境における悪用可能な脆弱性を特定します。
  • インタラクティブ・アプリケーション・セキュリティ・テスト(Interactive Application Security Testing: IAST)は、アプリケーション、そのインフラストラクチャ、依存関係、データフロー、および、すべてのコードを継続的に分析するために、エージェントとセンサーを使用してアプリケーションをインスツルメンテーションすることによって、ディープスキャンを提供します。

オープンソースのセキュリティ
最新のアプリケーションはオープンソースソフトウェア(OSS)に大きく依存しており、セキュリティリスクやライセンスリスクをもたらす可能性があります。DevSecOpsには、OSSライブラリの追跡、脆弱性の特定、ソフトウェアサプライチェーン全体のライセンス違反の検出などが含まれます。

  • ソフトウェア構成分析(SCA)は、ソフトウェアサプライチェーン全体のリスク管理、セキュリティ、およびライセンスコンプライアンスを目的として、オープンソースソフトウェア(OSS)の可視化を自動化します。

ランタイム防止
セキュリティは配備にとどまりません。DevSecOpsは、新たな脆弱性が出現したり、レガシー・アプリケーションがまだ使用されている可能性がある本番環境のアプリケーションを保護します。ランタイムモニタリングとセキュリティログの管理により、攻撃ベクトルや標的となるシステムについての洞察が得られ、脅威インテリジェンスにより、より強力な脅威モデリングとセキュリティアーキテクチャの決定がサポートされます。

コンプライアンス・モニタリング
継続的なコンプライアンスは、DevSecOps の中核となる成果です。自動化されたモニタリングにより、企業は監査対応態勢を維持し、GDPRCCPAPCIなどの規制に対応したセキュリティ管理を実施することができます。

文化的・組織的慣行
DevSecOpsは技術的であると同時に文化的なものです。成功するプログラムでは、セキュリティチャンピオンを確立し、継続的な開発者トレーニングを実施し、開発、運用、セキュリティの各チーム全体でセキュリティに対する責任を共有することを奨励しています。

インサイダー脅威の軽減
ソースコードや機密データを保護するには、インサイダーの活動を可視化する必要があります。継続的なモニタリングは、意図しないミスや悪意のある行動を、被害が発生する前に早期に発見するのに役立ちます。

AIサイバーセキュリティ
AIは 、脅威の検知を自動化し、対応を迅速化することで、DevSecOpsを 強化 します。AIを活用した洞察により、チームはリスクを早期に特定し、修復の優先順位を付け、企業規模でよりスマートなセキュリティ上の意思決定を行うことができます。


DevSecOpsツールとは?

DevSecOpsツールは、ソフトウェアデリバリライフサイクル全体にわたって、開発、セキュリティ、運用のワークフローにセキュリティを組み込む技術です。CI/CDパイプライン内でセキュリティテスト、脆弱性検出、コンプライアンスチェックを自動化することで、チームは開発を遅らせることなく早期にリスクを特定し、対処することができます。

一般的なDevSecOpsツールには以下のようなものがあります:

  • SAST、DAST、IAST のようなアプリケーションセキュリティテストツールは、コードと実行中のアプリケーションの脆弱性を特定するために使用されます。
  • オープンソースのセキュリティとライセンスリスクを管理するためのソフトウェア構成分析(SCA)。
  • クレデンシャルと機密データを保護する秘密とアクセス管理。
  • ランタイムの保護と監視により、本番環境での脅威を検出します。
  • 継続的な監査準備をサポートするコンプライアンスおよびポリシー実施ツール。
  • セキュリティ分析とレポーティングにより、可視性とリスクの優先順位付けを改善します。

DevSecOpsはどのようにセキュリティをCI/CDパイプラインに統合するのか?

DevSecOpsの自動化は、様々なDevSecOpsツールによってCI/CDパイプラインにセキュリティを組み込むために自動化を使用します:

  • コード解析のための静的アプリケーション・セキュリティ・テスト(SAST)
  • 依存関係管理のためのソフトウェア構成分析(SCA)。
  • 実行時の脆弱性検出のための動的アプリケーション・セキュリティ・テスト(DAST)
  • Infrastructure as Code(IaC)スキャンによる安全なクラウド展開。
  • 展開前にイメージの完全性を保証するコンテナセキュリティツール

DevSecOpsはコンプライアンスとガバナンスをどのように改善するのか?

DevSecOpsは、セキュリティポリシー、監査証跡、コンプライアンスチェックを開発プロセスに直接統合し、GDPR、HIPAA、ISO 27001などの標準への継続的な準拠を保証します。


DevSecOpsにおいて自動化はどのような役割を果たすのか?

自動化はDevSecOpsの基本原則である。セキュリティテスト、脆弱性スキャン、コンプライアンスチェックは、CI/CDパイプライン内で自動化され、問題の迅速な検出と修復を保証する。


どのようにDevSecOpsを導入すればよいのか?

  • 開発ライフサイクルの早い段階で統合することで、セキュリティを左遷
  • CI/CD パイプライン内でセキュリティテストを自動化します。
  • セキュリティのベストプラクティスについてチームをトレーニング
  • security-as-code を使用して、ポリシーを自動的に適用します。
  • セキュリティ脅威を継続的に監視し、対応します。
  • DevSecOps プラットフォームは、DevOps、セキュリティ、および運用のすべてのデータを 1 つの情報ハブに集約し、可視性、洞察、およびコラボレーションを強化します。

DevSecOpsは大企業だけのものなのか?

いや、あらゆる規模の企業がDevSecOpsを採用できる。中小企業は、クラウドベースのセキュリティ・ツールや自動化によって、セキュリティをソフトウェア開発プロセスに組み込むことができる。

IT運用とDevSecOpsの統合

IT運用をDevSecOpsのフレームワークに統合することは、ソフトウェア開発とデプロイのプラクティスにおける大きな進化を意味します。シームレスで安全かつ効率的なソフトウェア開発ライフサイクルを確保するためには、開発、セキュリティ、運用の各チームがこのような相乗効果を発揮することが極めて重要です。IT運用をDevSecOpsモデルに組み込むことで、組織は、ソフトウェアのライフサイクル全体を通じて、より優れた俊敏性、セキュリティの強化、および全体的なパフォーマンスの向上を実現できます。

IT運用がDevSecOpsに与える影響は多面的であり、開発とデプロイプロセスのいくつかの重要な領域に触れます:

1.デプロイ:インフラの自動デリバリー

展開の領域では、アプリケーションの展開に必要なインフラの提供を自動化する上で、IT運用が極めて重要な役割を果たします。この自動化は単なるスピードではなく、すべてのデプロイメントが会社のポリシーとベストプラクティスを厳守することを保証するものです。インフラ配信を自動化することで、企業は一貫性のある反復可能な導入プロセスを実現し、人為的ミスのリスクを大幅に低減すると同時に、セキュリティを強化することができます。

この自動化された配備アプローチは、いくつかの利点をもたらす。第一に、新しいアプリケーションやアップデートの市場投入までの時間が劇的に短縮されるため、企業は市場の需要や顧客のニーズにより迅速に対応できるようになる。第二に、規模や複雑さに関係なく、すべての導入が組織の標準やコンプライアンス要件を遵守していることを保証する。この一貫性は、安全でコンプライアンスに準拠したIT環境を維持する上で極めて重要であり、特に規制当局の監視が厳しい業界では重要である。

さらに、自動化されたインフラ・デリバリーにより、チームは、インフラストラクチャのバージョン管理、テスト、およびアプリケーション・コードに適用されるのと同じ厳格なプロセスを使用してデプロイされる、インフラストラクチャ-アズ-コードのプラクティスを実装することができます。このアプローチは信頼性を向上させるだけでなく、DevSecOps哲学の重要な信条である開発チームと運用チームのコラボレーションを強化する。

2.操作する:自動メンテナンスとパッチ適用

DevSecOpsにおけるIT運用の「運用」フェーズは、自動化されたパッチ適用とアップデートによるインフラストラクチャの維持に重点を置いています。この側面は、新しい脆弱性が定期的に発見され、悪用される可能性がますます狭くなっている、急速に進化する今日の脅威の状況において非常に重要です。

自動化されたメンテナンスとパッチ適用プロセスにより、システムが迅速に更新され、セキュリティの脆弱性とパフォーマンスの問題の両方にプロアクティブに対処できる。この自動化が不可欠な理由はいくつかある。第一に、脆弱性の発見から修復までの時間を大幅に短縮し、エクスポージャーのウィンドウを最小化する。第二に、インフラ全体の一貫性を確保し、部分的な更新や一貫性のない更新に伴うリスクを排除する。

さらに、自動化されたオペレーションは手作業の必要性を減らし、時間を節約するだけでなく、セキュリティ侵害やシステム不安定の一般的な原因であるヒューマンエラーのリスクを最小限に抑える。日常的なメンテナンス作業を自動化することで、ITチームはより戦略的な取り組みに集中し、イノベーションを推進し、全体的なシステム・アーキテクチャを改善することができる。

オペレーションに対するこのアプローチは、DevSecOpsにおける継続的改善の原則もサポートする。自動化されたシステムが常にインフラを監視し、更新することで、チームは継続的な最適化の状態を維持することができ、システムが安全であるだけでなく、最高のパフォーマンスを発揮できるようになる。

3.モニター生産の観測可能性

本番環境におけるアプリケーションの効果的なモニタリングと観測可能性は、成功するDevSecOps戦略の重要な要素である。このフェーズでは、単純なアップタイム監視にとどまらず、アプリケーション・パフォーマンス、ユーザー・エクスペリエンス、潜在的なセキュリティ問題をリアルタイムで包括的に把握します。

堅牢なモニタリングと観測可能性の実践により、組織は高いレベルの信頼性とアップタイムを維持することができる。本番環境から継続的にデータを収集・分析することで、チームはユーザーに影響を与える前に問題を検出し、対処することができます。このような問題解決への積極的なアプローチは、ユーザーの満足度を維持し、些細な問題が重大なインシデントに発展するのを防ぐために不可欠である。

さらに、インフラの観測可能性は、継続的な改善のための貴重なデータとなる。アプリケーション・パフォーマンス、ユーザー行動、システム・インタラクションのパターンを分析することで、チームは最適化と強化の機会を特定できます。このようなデータ主導の開発アプローチにより、将来のアプリケーションの反復は、単に機能が豊富であるだけでなく、より安定し、安全で、パフォーマンスが高いものとなる。

高度なネットワーク・モニタリング・ツールも、セキュリティにおいて重要な役割を果たす。異常検知と行動分析を導入することで、企業は潜在的なセキュリティ脅威や、侵害の試みを示す可能性のある異常な行動を迅速に特定することができる。このようなセキュリティモニタリングの全体的な観測可能性戦略への統合は、DevSecOps の全体的なアプローチを例証するものであり、統合された本番環境での観測可能性と本番環境での事前テストを提供するものである。

4.計画継続的なフィードバック・ループ

IT運用における計画フェーズは、開発プロセスに重要なフィードバックを提供することで、DevSecOpsのループを閉じます。このフィードバックの仕組みは、継続的な改善を推進し、開発努力が業務実態や事業目標に沿ったものであることを保証するために不可欠です。

本番環境から収集したデータを分析することで、IT運用部門は実際のパフォーマンスデータに基づいて強化要求を推進できます。これにより、開発の優先順位が、思い込みや時代遅れの要件ではなく、実際のユーザーニーズとシステム性能に基づいて設定されるようになります。

エラー・バジェッティングの概念も、このプランニング段階におけるもうひとつの重要な側面である。エラーやパフォーマンスの問題に対して許容できる閾値を設定することで、チームは迅速な技術革新の必要性とシステムの安定性の要件のバランスをとることができる。このアプローチにより、組織は、いつ新機能を推し進め、いつシステムの信頼性と性能の改善に集中するかについて、情報に基づいた決定を下すことができる。

業績改善の取り組みも、この継続的なフィードバック・ループによって推進されます。本番環境におけるボトルネックや非効率性、リソースの使用率が高い領域を特定することで、IT運用部門は開発者に具体的な最適化目標を提供することができます。パフォーマンス・チューニングに対するこのデータ駆動型アプローチにより、実際の生産現場からのフィードバックに基づき、最も大きな影響を与える部分に重点的に取り組むことができます。

さらに、計画段階では、開発の優先順位と運営上の現実を一致させることができます。本番環境でアプリケーションを運用する際の課題や制約を把握することで、IT運用部門は、新機能やアップデートが当初から運用性と保守性を念頭に置いて設計されていることを確認できます。


DevSecOpsを活用する方法

ステップ 1:セキュリティをソフトウェア要件に組み込む
ステップ 2:早期に、頻繁に、迅速にテストを実施
ステップ 3:統合機能を活用して、アプリケーションセキュリティをライフサイクルの自然な一部とする
ステップ 4:開発及びテストプロセスの一環としてセキュリティを自動化する
ステップ 5:リリース中及びリリース後の監視と保護


統合DevSecOpsプラットフォーム

OpenTextのDevOpsプラットフォームは、エンドツーエンドのDevSecOps機能を提供します。DevSecOpsプラットフォームは、セキュリティをDevOpsパイプラインに統合する統一された柔軟な方法を提供するため、高品質のソフトウェアをビジネスのスピードでリリースすることができます。このクラウドベースのプラットフォームは、お客様の開発ツールと連携し、生産効率の向上、品質デリバリーの最大化、セキュリティの確保、ビジネスゴールと開発リソースの整合性を実現します。

  • OpenText™ Core Software Delivery Platform は、あらゆる段階にセキュリティをシームレスに統合し、コラボレーションを促進して効率を高めます。
  • AIを活用してデータを実用的な洞察に変換し、よりスマートな意思決定を促進します。
  • 脆弱性を早期に特定することで、セキュリティリスクを予測し、備える。
  • セキュリティ・プロセスを合理化することで、迅速な技術革新とプロアクティブな脅威への対処を実現します。
  • 開発者を手作業によるセキュリティチェックから解放し、画期的なイノベーションに専念できるようにします。
  • OpenText™ Core Application Security (Fortify) によるリアルタイムのセキュリティインサイトで脅威を管理し、脅威への対応能力を高めます。
  • セキュリティをCI/CDパイプラインに統合し、AIを活用してワークフローを最適化する。
  • OpenText™ Core Software Delivery Platform + OpenText Core Application Security (Fortify)により、イノベーションと効率性を促進し、目標に完全に同期したセキュアでコンプライアンスに準拠したソフトウェアで、市場投入までの時間を短縮できます。

Resources

関連製品

OpenText™ Core Software Delivery Platform

エンドツーエンドのDevOpsにより、価値を最大化し、リスクを軽減し、デリバリーを迅速化

OpenText™ Core Application Security (Fortify)

セキュリティテスト、脆弱性管理、カスタマイズされた専門知識とサポートの提供

OpenText™ Static Application Security Testing (Fortify)

業界で最も正確な結果でセキュリティ問題を早期に発見して修正

OpenText™ Dynamic Application Security Testing (Fortify)

導入されたWebアプリケーションやサービスの脆弱性を特定

OpenText™ DevOps Cloud

AIを活用したDevOpsの自動化、テスト、品質向上により、より優れたソフトウェアをより迅速に提供

脚注