本番環境で発見されたセキュリティー問題には、現実のビジネス・リスクが伴います。停止、コンプライアンス違反、リリースの遅延は、多くの場合、開発ライフサイクルのかなり早い段階で導入された脆弱性が原因となります。
課題はタイミングです。セキュリティー・チェックは、多くの場合、コードがすでに記述、マージ、またはデプロイされた後に行われます。その時点で、脆弱性はもはや孤立したものではありません。アプリケーション、インフラストラクチャー、依存関係全体に組み込まれているため、修復はより複雑になります。
データから以下のような影響が明らかとなっています。
同時に、開発スピードも加速しています。AI、オートメーション、DevOpsにより、チームはこれまで以上に迅速に行動できるようになっています。一方で、システムはアプリケーション、インフラストラクチャー、依存関係、クラウド環境にまたがって複雑化し続けています。 手動のコード・レビューやポリシー・チェックは非常に信頼性に欠けています。実際、手動ワークフローで発生するアラートの25%が誤検知であり、人為的ミスのリスクを高め、デプロイメント・サイクルの遅延を招いています。
その結果、脆弱性が侵入、拡散し、封じ込めが困難になる可能性のある機密漏れ期間が拡大します。
最新の開発モデルは、従来のセキュリティー・アプローチを上回っています。かつてはリリース・サイクルが緩やかだった時代には有効だった手法も、継続的デリバリーのペースにはもはや追いつけなくなっています。
このギャップは、いくつかの要因によって引き起こされています。
これらのパターンは、セキュリティーが依然として大部分が事後対応型であるという根本的な問題を浮き彫りにしています
検知が遅れると、チームは対処に追われることになり、イノベーションに割くべき時間、予算、そして注力すべきリソースが奪われてしまいます。システムの相互接続が進むにつれて、脆弱性は発見される前に複数のレイヤーに伝播する可能性があります。
一方、セキュリティーはもはやデプロイメント完了時の最終チェックポイントとしては機能しません。最新のプラットフォームは、急速に変化するインフラストラクチャー、人間によるガバナンスの遅れ、長期間にわたる静的な認証情報の広範な使用、手動プロセスによって生じる設定のずれなどの課題に直面しています。この変化に対応するためには、セキュリティーを、デプロイメント・ライフサイクル全体に組み込まれた、プログラム可能で自動化された継続的な取り組みへと進化させる必要があります。
最新のソフトウェア提供に対応するために、組織はシフト・レフト・アプローチを採用し、セキュリティー対策をソフトウェア開発ライフサイクル(SDLC)の早い段階に組み込んでいます。
セキュリティーを下流のチェックとして扱うのではなく、チームがソフトウェアを設計、構築、デプロイする方法に組み込みます。このアプローチにより、脆弱性の特定から修復までの時間が短縮され、問題が深刻化するのを防ぐことができます。
シフト・レフト・モデルでは、通常、いくつかの重要なプラクティスが導入されます。
インフラストラクチャーの場合も、プロビジョニング・ライフサイクルの初期段階で以下のような同じアプローチが適用されます。
これらの手法を組み合わせることで、組織は開発を遅らせることなく修復コストを削減し、配信を加速し、攻撃対象領域を縮小することができます。
シフト・レフトの原則を採用するには、プロセスを変更するだけでは不十分です。フルスタック全体にわたるエクスポージャー管理に対する継続的で統合されたアプローチが必要です。
実際には、パフォーマンスの高いチームは、以下を重視するモデルに移行しています。
この実践により、セキュリティーが提供終了時に散在的に適用されるのではなく、開発からデプロイメントまでのライフサイクル全体を通じて継続的に評価、改善、適用されるフィードバック・ループが生まれます。
その結果、後半での予期せぬ事態が減り、運用リスクが軽減されます。また、より迅速で予測可能なリリースが可能になり、参考情報の効率的な使用で測定可能な変化が得られます。
開発速度が加速され、AI の速度と複雑さが増すにつれて、セキュリティーもそれに合わせて進化する必要があります。
この移行は原則として簡単です。セキュリティーを早期に導入し、事後的に発生するものではなく、チームが構築する方法の一部にすることです。
このアプローチを成功させた組織は、運用上の問題に発展する前に脆弱性を発見し、コストのかかるやり直しや生産の中断を最小限に抑えることができます。また、ボトルネックを生じさせることなくコンプライアンスを維持することができます。これにより、設計段階から安全なソフトウェアを提供できるようになります。
結局のところ、レジリエントなソフトウェアは本番環境で構築されるものではありません。コードの最初の行からそれを実行するインフラストラクチャーまで、ライフサイクルのあらゆる段階における対処が必要です。
開発およびデプロイメントのライフサイクルの早い段階でソフトウェア・リスクを特定する方法はこちら
IBM® Concertがエクスポージャー管理を変革する方法はこちら
AIとオートメーションの力を活用することで、問題がアプリケーションスタック全体でプロアクティブに解決します。
DevOpsソフトウェアとツールを使用して、複数のデバイスや環境でクラウドネイティブ・アプリを構築、デプロイ、管理します。
ビジネスの俊敏性と成長を加速—IBMのクラウド・コンサルティング・サービスを利用して、あらゆるプラットフォーム上のアプリケーションを継続的にモダナイズしまします。