組織を後退させてしまう、「統合の落とし穴」を回避することは、今日のペースの速いソフトウェア開発環境において非常に重要なのです。
今日のペースの速いソフトウェア開発環境において、DevOps はアプリケーションの展開を加速したいと考えている組織にとって頼りになるアプローチとなっています。ただし、DevOps 環境でアプリケーションのセキュリティを確保するのは簡単な作業ではありません。AppSec の統合は、統一された管理されたセキュリティ標準を確立し、自動化を可能にし、セキュリティチームのサポートを確保するために不可欠です。この記事では、DevOps に AppSec を統合する際に避けるべき「よくある落とし穴」について検討し、それらに効果的に対処するための潜在的なソリューションについて説明します。
DevOps にAppSec を統合する際の課題の 1 つは、DevOps パイプラインとワークフローの性質が多様であることです。つまり、アプリケーションごとに異なる要件があり、そのすべてがセキュリティの考慮事項に影響を与えるということです。たとえば、保護された内部サーバー内で動作する内部アプリケーションは、外部に面したアプリケーションと同じレベルのセキュリティ検査を必要としない場合があります。このように、脆弱性を評価する際は、緩和要因と補完対策を考慮し、想定される状況に対して最も必要かつ効果的な箇所に対策を集中させる必要があるのです。
同様に、ソフトウェアの目的もセキュリティ対策の優先順位に影響します。内部アプリケーションは直接収益を生み出したり、顧客とやり取りしたりすることはありませんが、機密性の高い内部情報を扱う可能性があります。一方、外部アプリケーションは収益創出と顧客満足度において重要な役割を果たしており、セキュリティ対策の優先度が高い対象となっています。これらの状況に応じ、さまざまな種類のアプリケーションのリスクプロファイルを理解することで、リソースを効率的に割り当て、セキュリティ対策に優先順位を付けることができるようになります。
最後に、ソフトウェアの開発と出荷に使用される仕組みによって、チームが収集できるセキュリティリスクの知見のレベル、検出されたリスクに対する対処の迅速さ、そして存在するリスクの種類が決まります。「チームが使用している開発ツールは何か?」、「コードリポジトリはどのように構成されているか?」、「リリースサイクルとセキュリティテストのワークフローがどのように適合するか?」などといった質問は、どのようにセキュリティテストと DevSecOps のアプローチを取るべきかを定めることができます。
多くの DevOps 環境には、統合化されたセキュリティ対策が施された承認済みのパイプラインがあります。ただし、開発者はプロセスを合理化するためにサイドパイプラインや代替ワークフローを利用することがよくあります。これらのサイドパイプラインには、承認されたパイプラインと同じレベルのセキュリティの精査や統合化されたセキュリティ検査が施されていない可能性があるため、セキュリティリスクが生じます。すべてが承認されたパイプラインを通過するとは限らないリスクもあります。 ソフトウェアサプライチェーンには、ソースコードまたはバイナリのリポジトリを介して組織のパイプラインに取り込まれる、多くのサードパーティのソフトウェアが含まれているため、せっかく組織のセキュリティリスク対策のレベルを高くできたとしても、それらのサードパーティのセキュリティの成熟度レベルにまで低下する可能性があります。
ソフトウェアサプライチェーンのセキュリティリスク管理は、セキュリティリスク対策に不可欠です。セキュリティ ツールが、さまざまなテクノロジーやパイプラインとシームレスに統合できるようにすることは、承認されたサプライチェーンやサードパーティのサプライチェーンをソフトウェアが流通するかどうかに関係なく、適切なカバレッジを提供するために重要なのです。
DevOps の AppSec 統合におけるもう 1 つの障害は、さまざまなチームやビジネス組織が、個別の要件に従って個別のツールを使用することです。開発とテストが分散化されており、チーム間で予算と優先順位が異なるため、統一されたセキュリティプロセスと標準を適用することが困難になってしまうからです。分散チームの作業の保護とテストを担当する集約型のセキュリティチームは、一貫したセキュリティカバレッジを達成するという組織的な課題に直面しています。
これらの課題に対処するには、多くの場合、セキュリティに対するプラットフォームベースのアプローチが必要になります。これにより、プロジェクト、チーム、地域にわたるリスクについての統一されたビューが提供され、組織が複数のテスト方法を効率的に管理できるようになります。これにより、セキュリティプロセスを合理化し、一貫した基準を適用し、リソースを効果的に割り当てることができるようになるのです。
これらの落とし穴を回避するには、ビジネスの成長に合わせて拡張でき、技術スタックの進化に合わせて柔軟に対応可能な方法で、さまざまな種類のセキュリティテストを組み込むことが重要です。これは、静的アプリケーション・セキュリティ・テスト、ソフトウェア・コンポジション解析、インタラクティブ・アプリケーション・セキュリティ・テスト、そしてテストとリスクに関するレポートの統合メカニズムを備えた動的アプリケーション・セキュリティ・テスト・ツールを活用して、セキュリティを最大限に高めることを意味します。
これらのセキュリティテストを組み合わせて活用することで、組織は DevOps パイプラインとサプライチェーン全体での包括的なセキュリティを実現し、ソフトウェア開発ライフサイクルのさまざまな段階で脆弱性を効果的に特定して対処することができるようになります。リスク分析、ポリシー制御、管理に一元化されたプラットフォームを使用することでリスク検出以外のすべてを合理化できます。
統合は、AppSec for DevOps の次のステップです。多様なテストのための集約型プラットフォームにより、AppSec 導入の複雑さが軽減され、セキュリティテストのプログラムに潜む障害点を排除することができます。Polaris Software Integrity Platform® は、ソフトウェア開発ライフサイクルおよび CI/CD パイプライン全体にわたってツールやシステムとの緊密な統合を実現し、プロジェクトやワークフローの適切なテストを可能にすることで、組織がこれらの「落とし穴」を回避できるように支援します。最終的に、堅牢な AppSec 統合プラクティスを採用することで、組織は確立されたワークフローから逸脱することなく、安全で効率的な DevOps 環境を実現できます。