DevOpsセキュリティーとは

暗いオフィスで、6台のディスプレイが設置されたデスクトップ・コンピューターでコーディングする女性プログラマー

共同執筆者

Phill Powell

Staff Writer

IBM Think

Ian Smalley

Staff Editor

IBM Think

DevOpsセキュリティーとは

DevOpsセキュリティ(または DevSecOps)は、 ソフトウェア開発ライフサイクル(SDLC)の各段階でセキュリティプロセスを優先順位付けし実行する開発アプローチです。

DevSecOpsは、開発 、オペレーション、 セキュティーの各チーム間でセキュリティー責任を分散・共有しています 。

DevOpsセキュリティを強化する必要があるのは、現在の状況の一部となっているアクティブなサイバー脅威がいたるところに存在しているためです。窃盗や破壊行為は人間の行動の新たな要素ではありません。盗まれる物資の種類と、それを実行するための方法論が更新されただけです。現代の海賊は金貨の宝ではなく、高収益なデータキャッシュを狙い、電子窃盗を用いて犯罪を実行します。

このような犯罪者は、開発のあらゆるレベルや段階でソフトウェア・システム内のサイバーセキュリティーの脆弱性を悪用することに非常に長けているため、先進的な組織は現在、開発の各段階でセキュリティー体制を強化し強化する方法を採用しています。DevSecOps は、開発プロセスのどこに潜んでいるかに関係なく、データ侵害やその他のセキュリティーの脆弱性などのセキュリティ上の課題に対抗するというこの使命を全面的にサポートします。

DevSecOpsの台頭は、セキュリティー問題に対する企業の姿勢の変化を示しています。かつて、DevOpsセキュリティーは多くの組織で後回しにされていました。セキュリティー・チェックは、SDLCの最後に実行される他の最終チェックとともに実装されました。これにより、サイロ化が生じ脆弱性が隠蔽される状況が頻発し、結果として修正に要するコストは、早期に発見・修正した場合よりもさらに高騰する事態を招いていました。

こうした古い考え方は今でも存在していますが、ほとんどの場合、DevOpsセキュリティーは大きく進歩しました。DevSecOpsは、現在ソフトウェア開発チームが直面している多種多様な脅威の高度な複雑性を十分に認識し、開発の初期段階でサイバーセキュリティーの問題に対処し、セキュリティリスク対策の共有責任をより多くの、あるいはすべての関連チームメンバーに分散させることを目指しています。

強化されたセキュリティーをより早い段階で開始するプロジェクトに組み込むというこの概念は、「シフトレフト」として知られています。この用語は、視聴者が左から右への制作タイムラインを見ていることを想定しています。シフトレフトテストを実施するとは、プロジェクト活動の初期段階に近い、図の左端で強化されたテストを統合することを意味します。

The DX Leaders

AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。

ご登録いただきありがとうございます。

ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。

DevSecOpsの仕組み

セキュリティーを導入して確保するには、多くの変動要素とさまざまな慣行を適切に調整して運用する必要があります。

アクセス制御

望ましくない侵入者を防ぐ門の守備者と考えてください。アクセス制御は、デジタルにアクセスしようとするエンティティーに権限をどのように付与するかを管理します。これは、個人の身元を確認し、特別に承認されたユーザーに特権アクセスを許可する認証プロセスを通じて行われます。アクセス管理は、患者の医療データの機密性を保護するHIPAAなどの規制要件に準拠する企業において重要な役割を果たしています。

フレームワーク

ソフトウェアがどのように振る舞うべきかを定義する業務は、導入されているDevSecOpsフレームワークにかかっています。フレームワークは、ベスト・プラクティス、関連するプロセス、セキュリティー・ツールに関連する情報を提供します。また、セキュリティーを開発の各段階にどのように統合するかや、さまざまなソフトウェア・コンポーネントやシステムの間にどのような依存関係が存在するかについても説明します。これは脆弱性の管理と実稼働環境の保護に役立ちます。

構成管理

構成管理システムズ・エンジニアリング・プロセスでは、製品の属性がそのライフサイクル全体を通じて一貫していることを確認することに重点が置かれます。ソフトウェア・システムが日常的に吸収しなければならない膨大な数の変更がなければ、構成管理の必要性はなかったでしょう。構成管理は、変更があってもシステムが計画通りに動作することを保証します。

脆弱性の管理

脆弱性管理は、会社のソフトウェアが安全であると盲目的に仮定するのではなく、それがそうでない可能性があり、任意の数のセキュリティー責任にさらされる可能性があると仮定します。これは非常に積極的なアプローチであり、まずコードベースの脆弱性スキャンを通じて潜在的な脆弱性を特定し、その後、サイバー犯罪者に悪用される前に修復を用いて脆弱性を修正プログラムすることで構築されています。

シークレット管理

シークレット管理も、安全な情報に対する差し迫った継続的なニーズに対応する関連分野の一つです。その名の通り、シークレット管理は、パスワード、暗号化キー (データを保護するための秘密コード) 、アプリケーション・プログラミング・インターフェース (API) と対話するときにアプリケーションを承認する API キーなどの機密データを保管および管理するのに役立ちます。

クラウド・セキュリティーの強化

クラウド環境は多くの場合、豊富なデータリポジトリであるため、DevSecOps が提供する追加の保護が必要です。クラウドネイティブアプリケーションは迅速に起動する必要があり、DevSecOpsは、その急速な開発サイクルの中でもアプリケーションが円滑に動作することを保証することでこれを支援します。さらに、DevOpsのセキュリティーは、ワークロードを構成ミスやその他のサイバー脅威から保護します。

IBM DevOps

DevOpsとは

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

DevSecOps のガイド概念

企業が効果的なセキュリティー対策の維持に力を入れていると言うのは簡単です。しかし、組織がセキュリティー目標を完全に実現するには、効果的なDevOpsプロセスに加えて、セキュリティーのベスト・プラクティスを採用する必要があります。ここでは、DevSecOpsを成功させるための重要な概念をいくつか紹介します。

チームワークとしてのセキュリティ

セキュリティーに対する従来の見方は、DevOps チームが処理すべきタスクの 1 つに過ぎないというものでした。しかし、最近の見解では、セキュリティーはITオペレーションチーム、セキュリティー・チーム、開発チームが取り組む共同プロジェクトだと考えられています。このグループの取り組みを成功させる鍵は、チーム間の効果的なコミュニケーションであり、それによって期待をうまく管理し、望ましい成果を達成することができます。

テクノロジーの活用

すべてのセキュリティー要件が満たされていることを確認するのは大変な作業です。セキュリティー専門家の戦略的能力に加えて、チームは高度なセキュリティー・ツールにアクセスできます。さらに、DevSecOpsは 自動化の効率化効果と強力な自動化ツールを広く活用し、 ワークフロー を解放し、セキュリティテストをより効率的に実行できるようにします。

細部までセキュリティーを徹底

より強固なセキュリティー体制を築くには、多くの追加の努力が必要です。考えられるあらゆる場面で、強化されたセキュリティー・ポリシーを実装することが求められます。これには、ソースコード内の潜在的なエラーを検知するためのコード分析といった初期段階のプロジェクト手順から、開発パイプライン全体を経て、ピアベースのコードレビューやセキュリティテストといった後期段階の手順までが含まれます。

より迅速でより優れたソフトウェア・リリース

DevSecOpsが提供する最も有利なメリットの1つは、企業が公開するソフトウェアのリリースのスピードと確実性を高めることです。継続的デリバリー (CD)パイプラインを実装することで、企業が市場に投入するアプリやその他のソフトウェアリリースは安全なコードを示すようになり、必要なセキュリティ要件を満たす可能性が高まります。

終わりのないトレーニングの旅

DevOpsパイプラインに対するCDのアプローチも、セキュリティの重要な作業は決して終わることはなく、それを取り巻く教育プログラムも決して終わることはないという指針に基づいています。覚えておいてください:ハッカーは手法の改良を決して止めません。そのため、常に新たな手法を検知し、新たなセキュリティ対策を導入する必要があります。

DevSecOpsテストの種類

DevSecOpsの各種テスト手法にはかなりの専門性が存在しており、以下の例からもそれがわかるでしょう。

  • アプリケーション・セキュリティ・テスト(AST):アプリケーション・セキュリティ・テスト(AST)は、その名前が示すように、アプリケーションに影響するセキュリティの問題点を評価します。ASTはさまざまな非常にユニークなテストをカバーしており、それぞれがDevOpsプロセスに独自の視点を持っています。
    • 静的アプリケーション・セキュリティー・テスト(SAST)を使用すると、テスト担当者は、ソースコード、バイトコード、またはバイナリーコードのコード分析を通じて、アプリケーションのセキュリティーの脆弱性を特定できます。
    • 動的アプリケーション・セキュリティー・テスト(DAST)は、アプリケーションを実行し、その動作をチェックして異常をチェックするサイバーセキュリティー・プロセスです。DASTにより、チームは現実世界のサイバー攻撃にアプリがどのように反応するかを確認できます。
  • ペネトレーション・テスト: 「ペンテスト」とも呼ばれる ペネトレーション・テストは、アプリケーション、ネットワーク、またはシステムに対するサイバー攻撃のシミュレーション(ハッカーを装ったセキュリティ専門家によって発生させる)という形をとります。これは基本的に、組織のセキュリティインフラストラクチャを侵入攻撃に対抗させ、組織のリソースがその損害に耐え、必要に応じて引き続き動作できるかどうかを確認するセキュリティー演習の一種です。
  • ソフトウェア構成分析: ソフトウェア構成分析では、アプリケーションを構成するソフトウェア・コンポーネントを評価し、それらに潜在的な脆弱性がないかをチェックします。このようなコンポーネントには、サードパーティのコードやオープンソースのライブラリが含まれます。ソフトウェア構成分析は、ライセンス遵守の支援にも役立ちます。

その他のDevOpsセキュリティー用途

DevSecOpsの方法論は汎用性があり、さまざまなプログラミング目的に適用できます。

  • Kubernetes: KubernetesプラットフォームはDevSecOpsの実践と密接に連携しており、特にコンテナ化アプリやインフラのセキュリティ強化において顕著です。Kubernetesは、開発の開始からデプロイメント、ランタイム(コンピューター・プログラムの実行期間)まで、脅威を効果的に検出、分析、阻止するセキュリティーベースのフレームワークを推進しています。
  • マイクロサービス: マイクロサービスは、アプリケーションを、本質的に独立した、より小さく、疎結合なサービスの数々から構築できるという考えから生まれました。これにより、アプリの拡張性と俊敏性が向上し、より速いリリースサイクルで導入できるようになりますが、マイクロサービスアーキテクチャは本質的により複雑であるため、DevSecOps が提供する追加のセキュリティ支援が必要です。
  • サプライチェーン: サプライチェーンは、DevSecOpsから大きなメリットを享受します。サプライチェーンは非常に複雑であり、そのような複雑さはしばしばハッカーにマルウェアを隠す機会を与えます。サプライチェーン管理には「クリーンな」本番環境が必要であり、DevSecOpsはその促進に役立ちます。
関連ソリューション
IBM DevOps アクセラレート

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

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

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

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

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

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

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

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