DevOpsセキュリティ(または DevSecOps)は、 ソフトウェア開発ライフサイクル(SDLC)の各段階でセキュリティプロセスを優先順位付けし実行する開発アプローチです。
DevSecOpsは、開発 、オペレーション、 セキュティーの各チーム間でセキュリティー責任を分散・共有しています 。
DevOpsセキュリティを強化する必要があるのは、現在の状況の一部となっているアクティブなサイバー脅威がいたるところに存在しているためです。窃盗や破壊行為は人間の行動の新たな要素ではありません。盗まれる物資の種類と、それを実行するための方法論が更新されただけです。現代の海賊は金貨の宝ではなく、高収益なデータキャッシュを狙い、電子窃盗を用いて犯罪を実行します。
このような犯罪者は、開発のあらゆるレベルや段階でソフトウェア・システム内のサイバーセキュリティーの脆弱性を悪用することに非常に長けているため、先進的な組織は現在、開発の各段階でセキュリティー体制を強化し強化する方法を採用しています。DevSecOps は、開発プロセスのどこに潜んでいるかに関係なく、データ侵害やその他のセキュリティーの脆弱性などのセキュリティ上の課題に対抗するというこの使命を全面的にサポートします。
DevSecOpsの台頭は、セキュリティー問題に対する企業の姿勢の変化を示しています。かつて、DevOpsセキュリティーは多くの組織で後回しにされていました。セキュリティー・チェックは、SDLCの最後に実行される他の最終チェックとともに実装されました。これにより、サイロ化が生じ脆弱性が隠蔽される状況が頻発し、結果として修正に要するコストは、早期に発見・修正した場合よりもさらに高騰する事態を招いていました。
こうした古い考え方は今でも存在していますが、ほとんどの場合、DevOpsセキュリティーは大きく進歩しました。DevSecOpsは、現在ソフトウェア開発チームが直面している多種多様な脅威の高度な複雑性を十分に認識し、開発の初期段階でサイバーセキュリティーの問題に対処し、セキュリティリスク対策の共有責任をより多くの、あるいはすべての関連チームメンバーに分散させることを目指しています。
強化されたセキュリティーをより早い段階で開始するプロジェクトに組み込むというこの概念は、「シフトレフト」として知られています。この用語は、視聴者が左から右への制作タイムラインを見ていることを想定しています。シフトレフトテストを実施するとは、プロジェクト活動の初期段階に近い、図の左端で強化されたテストを統合することを意味します。
IBMニュースレター
AI活用のグローバル・トレンドや日本の市場動向を踏まえたDX、生成AIの最新情報を毎月お届けします。登録の際はIBMプライバシー・ステートメントをご覧ください。
ニュースレターは日本語で配信されます。すべてのニュースレターに登録解除リンクがあります。サブスクリプションの管理や解除はこちらから。詳しくはIBMプライバシー・ステートメントをご覧ください。
セキュリティーを導入して確保するには、多くの変動要素とさまざまな慣行を適切に調整して運用する必要があります。
ソフトウェアがどのように振る舞うべきかを定義する業務は、導入されているDevSecOpsフレームワークにかかっています。フレームワークは、ベスト・プラクティス、関連するプロセス、セキュリティー・ツールに関連する情報を提供します。また、セキュリティーを開発の各段階にどのように統合するかや、さまざまなソフトウェア・コンポーネントやシステムの間にどのような依存関係が存在するかについても説明します。これは脆弱性の管理と実稼働環境の保護に役立ちます。
構成管理システムズ・エンジニアリング・プロセスでは、製品の属性がそのライフサイクル全体を通じて一貫していることを確認することに重点が置かれます。ソフトウェア・システムが日常的に吸収しなければならない膨大な数の変更がなければ、構成管理の必要性はなかったでしょう。構成管理は、変更があってもシステムが計画通りに動作することを保証します。
脆弱性管理は、会社のソフトウェアが安全であると盲目的に仮定するのではなく、それがそうでない可能性があり、任意の数のセキュリティー責任にさらされる可能性があると仮定します。これは非常に積極的なアプローチであり、まずコードベースの脆弱性スキャンを通じて潜在的な脆弱性を特定し、その後、サイバー犯罪者に悪用される前に修復を用いて脆弱性を修正プログラムすることで構築されています。
シークレット管理も、安全な情報に対する差し迫った継続的なニーズに対応する関連分野の一つです。その名の通り、シークレット管理は、パスワード、暗号化キー (データを保護するための秘密コード) 、アプリケーション・プログラミング・インターフェース (API) と対話するときにアプリケーションを承認する API キーなどの機密データを保管および管理するのに役立ちます。
クラウド環境は多くの場合、豊富なデータリポジトリであるため、DevSecOps が提供する追加の保護が必要です。クラウドネイティブアプリケーションは迅速に起動する必要があり、DevSecOpsは、その急速な開発サイクルの中でもアプリケーションが円滑に動作することを保証することでこれを支援します。さらに、DevOpsのセキュリティーは、ワークロードを構成ミスやその他のサイバー脅威から保護します。
企業が効果的なセキュリティー対策の維持に力を入れていると言うのは簡単です。しかし、組織がセキュリティー目標を完全に実現するには、効果的なDevOpsプロセスに加えて、セキュリティーのベスト・プラクティスを採用する必要があります。ここでは、DevSecOpsを成功させるための重要な概念をいくつか紹介します。
セキュリティーに対する従来の見方は、DevOps チームが処理すべきタスクの 1 つに過ぎないというものでした。しかし、最近の見解では、セキュリティーはITオペレーションチーム、セキュリティー・チーム、開発チームが取り組む共同プロジェクトだと考えられています。このグループの取り組みを成功させる鍵は、チーム間の効果的なコミュニケーションであり、それによって期待をうまく管理し、望ましい成果を達成することができます。
より強固なセキュリティー体制を築くには、多くの追加の努力が必要です。考えられるあらゆる場面で、強化されたセキュリティー・ポリシーを実装することが求められます。これには、ソースコード内の潜在的なエラーを検知するためのコード分析といった初期段階のプロジェクト手順から、開発パイプライン全体を経て、ピアベースのコードレビューやセキュリティテストといった後期段階の手順までが含まれます。
DevSecOpsが提供する最も有利なメリットの1つは、企業が公開するソフトウェアのリリースのスピードと確実性を高めることです。継続的デリバリー (CD)パイプラインを実装することで、企業が市場に投入するアプリやその他のソフトウェアリリースは安全なコードを示すようになり、必要なセキュリティ要件を満たす可能性が高まります。
DevOpsパイプラインに対するCDのアプローチも、セキュリティの重要な作業は決して終わることはなく、それを取り巻く教育プログラムも決して終わることはないという指針に基づいています。覚えておいてください:ハッカーは手法の改良を決して止めません。そのため、常に新たな手法を検知し、新たなセキュリティ対策を導入する必要があります。
DevSecOpsの各種テスト手法にはかなりの専門性が存在しており、以下の例からもそれがわかるでしょう。
DevSecOpsの方法論は汎用性があり、さまざまなプログラミング目的に適用できます。
オンプレミス、クラウド、またはメインフレームのあらゆるアプリケーションのソフトウェア配信を自動化します。
DevOpsソフトウェアとツールを使用して、複数のデバイスや環境でクラウドネイティブ・アプリケーションを構築、デプロイ、管理します。
IBMのクラウド・コンサルティング・サービスで新しい機能にアクセスし、ビジネスの俊敏性を高めましょう。ハイブリッドクラウド戦略や専門家とのパートナーシップを通じて、ソリューションを共創し、デジタル・トランスフォーメーションを加速させ、パフォーマンスを最適化する方法をご覧ください。