灰色のグリッドの背景に配置された複数のデバイスのアイソメトリック3Dレンダリング

アプリケーション・コードとインフラストラクチャー全体でシフト・レフトし、セキュリティー・リスクを早期に発見する方法

本番環境で発見されたセキュリティー問題には、現実のビジネス・リスクが伴います。停止、コンプライアンス違反、リリースの遅延は、多くの場合、開発ライフサイクルのかなり早い段階で導入された脆弱性が原因となります。

課題はタイミングです。セキュリティー・チェックは、多くの場合、コードがすでに記述、マージ、またはデプロイされた後に行われます。その時点で、脆弱性はもはや孤立したものではありません。アプリケーション、インフラストラクチャー、依存関係全体に組み込まれているため、修復はより複雑になります。

データから以下のような影響が明らかとなっています。

同時に、開発スピードも加速しています。AI、オートメーション、DevOpsにより、チームはこれまで以上に迅速に行動できるようになっています。一方で、システムはアプリケーション、インフラストラクチャー、依存関係、クラウド環境にまたがって複雑化し続けています。 手動のコード・レビューやポリシー・チェックは非常に信頼性に欠けています。実際、手動ワークフローで発生するアラートの25%が誤検知であり、人為的ミスのリスクを高め、デプロイメント・サイクルの遅延を招いています。

その結果、脆弱性が侵入、拡散し、封じ込めが困難になる可能性のある機密漏れ期間が拡大します。

従来のセキュリティー・アプローチが遅れている理由

最新の開発モデルは、従来のセキュリティー・アプローチを上回っています。かつてはリリース・サイクルが緩やかだった時代には有効だった手法も、継続的デリバリーのペースにはもはや追いつけなくなっています。

このギャップは、いくつかの要因によって引き起こされています。

  • 遅い段階での発見によりデリバリーが中断される:セキュリティー上の問題は、マージまたはデプロイメント後に表面化することが多く、修正作業、ロールバック、リリースの遅延を余儀なくされます。
  • AIはスピードとリスクの両方を加速させる:コードの約40%はAIによって生成されており、アウトプットは増加するものの、脆弱性を導入する可能性も大規模に高まっています。
  • 修正作業はリソースを消費する: IT予算の20–30%は、低品質コードの保守や技術的負債の解消に使われています。

これらのパターンは、セキュリティーが依然として大部分が事後対応型であるという根本的な問題を浮き彫りにしています

検知が遅れると、チームは対処に追われることになり、イノベーションに割くべき時間、予算、そして注力すべきリソースが奪われてしまいます。システムの相互接続が進むにつれて、脆弱性は発見される前に複数のレイヤーに伝播する可能性があります。

一方、セキュリティーはもはやデプロイメント完了時の最終チェックポイントとしては機能しません。最新のプラットフォームは、急速に変化するインフラストラクチャー、人間によるガバナンスの遅れ、長期間にわたる静的な認証情報の広範な使用、手動プロセスによって生じる設定のずれなどの課題に直面しています。この変化に対応するためには、セキュリティーを、デプロイメント・ライフサイクル全体に組み込まれた、プログラム可能で自動化された継続的な取り組みへと進化させる必要があります。

シフト・レフト・モデル:チームの働き方にセキュリティーを組み込む

最新のソフトウェア提供に対応するために、組織はシフト・レフト・アプローチを採用し、セキュリティー対策をソフトウェア開発ライフサイクル(SDLC)の早い段階に組み込んでいます。

セキュリティーを下流のチェックとして扱うのではなく、チームがソフトウェアを設計、構築、デプロイする方法に組み込みます。このアプローチにより、脆弱性の特定から修復までの時間が短縮され、問題が深刻化するのを防ぐことができます。

シフト・レフト・モデルでは、通常、いくつかの重要なプラクティスが導入されます。

  • デプロイメント後でなく、コード作成時点で脆弱性を検知する。
  • 重大度スコアだけでなく、現実世界への影響と状況に基づいてリスクに優先順位を付ける。
  • 開発者がワークフローを中断することなく、問題を即座に修正できるようにする。
  • セキュリティー・チェックをCI/CDパイプラインに直接統合する。

インフラストラクチャーの場合も、プロビジョニング・ライフサイクルの初期段階で以下のような同じアプローチが適用されます。

  • リソースをデプロイする前に、コンプライアンス・ポリシーを適用する。
  • シークレットを安全に管理して、認証情報の漏洩を軽減する。
  • 環境全体の監査証跡とガバナンスを維持する。 
  • 構成を標準化して、ドリフトと構成ミスのリスクを軽減する。

これらの手法を組み合わせることで、組織は開発を遅らせることなく修復コストを削減し、配信を加速し、攻撃対象領域を縮小することができます。

効果的なエクスポージャー管理の実際の姿

シフト・レフトの原則を採用するには、プロセスを変更するだけでは不十分です。フルスタック全体にわたるエクスポージャー管理に対する継続的で統合されたアプローチが必要です。

実際には、パフォーマンスの高いチームは、以下を重視するモデルに移行しています。

  • 早期検知:コードの作成中に脆弱性を特定し、下流の障害を防ぎます。
  • 自動修復:繰り返し可能な問題をワークフロー内で直接解決することで、手作業を削減します。
  • 継続的な学習:すべてのリリース・サイクルで優先順位付けを改善し、ノイズを削減します。
  • 統合された可視性:コード、インフラストラクチャー、依存関係、ランタイム環境全体で洞察をつなげます。
  • 部門間のコラボレーション:開発者、オペレーション、セキュリティーの各チームが、コード開発からデプロイメント、ランタイム・オペレーションに至るまで、エンドツーエンドのセキュリティー徹底に対する責任を共有できるようにします。
  • 標準化されたベスト・プラクティスとゴールデン・ワークフロー: 一貫したデプロイメント・パターン、セキュリティー・ガードレール、承認されたオートメーション・ワークフローを確立することで、セキュリティー・ギャップを減らし、設定のずれを最小限に抑え、本番環境の信頼性と運用効率を向上させます。

この実践により、セキュリティーが提供終了時に散在的に適用されるのではなく、開発からデプロイメントまでのライフサイクル全体を通じて継続的に評価、改善、適用されるフィードバック・ループが生まれます。

その結果、後半での予期せぬ事態が減り、運用リスクが軽減されます。また、より迅速で予測可能なリリースが可能になり、参考情報の効率的な使用で測定可能な変化が得られます。

事後対応型のセキュリティーからレジリエントなソフトウェア提供へ

開発速度が加速され、AI の速度と複雑さが増すにつれて、セキュリティーもそれに合わせて進化する必要があります。

この移行は原則として簡単です。セキュリティーを早期に導入し、事後的に発生するものではなく、チームが構築する方法の一部にすることです。

このアプローチを成功させた組織は、運用上の問題に発展する前に脆弱性を発見し、コストのかかるやり直しや生産の中断を最小限に抑えることができます。また、ボトルネックを生じさせることなくコンプライアンスを維持することができます。これにより、設計段階から安全なソフトウェアを提供できるようになります。

結局のところ、レジリエントなソフトウェアは本番環境で構築されるものではありません。コードの最初の行からそれを実行するインフラストラクチャーまで、ライフサイクルのあらゆる段階における対処が必要です。

開発およびデプロイメントのライフサイクルの早い段階でソフトウェア・リスクを特定する方法はこちら

IBM® Concertがエクスポージャー管理を変革する方法はこちら

Terraformが安全なインフラストラクチャーを大規模に確保する方法はこちら

SDLC全体でセキュリティーをシフト・レフトする方法を見る

IBM® Secure Coderの詳細はこちら

執筆者

Pieter de Villiers

Product Manager - IBM Concert

IBM Automation

Ting Li

Sr. Solution Architect

関連ソリューション
IBM Instana Observability

AIとオートメーションの力を活用することで、問題がアプリケーションスタック全体でプロアクティブに解決します。

IBM Instana Observabilityはこちら
DevOpsソリューション

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

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

ビジネスの俊敏性と成長を加速—IBMのクラウド・コンサルティング・サービスを利用して、あらゆるプラットフォーム上のアプリケーションを継続的にモダナイズしまします。

クラウド・コンサルティング・サービスはこちら
次のステップ

IBM Instana®によるプロアクティブな問題検知から、スタック全体にわたるリアルタイムの洞察まで、クラウドネイティブ・アプリケーションの安定した稼働を維持できます。

  1. IBM Instanaの詳細を見る
  2. DevOpsソリューションはこちら