定義

Application Vulnerability Correlation(AVC:アプリケーション脆弱性の相関)は、組織がDevSecOpsモデルに移行するための強力なツールとしてAppSecの分野で普及が進んでいます。AVCとは、ソフトウェア開発ライフ サイクル(SDLC)における脆弱性の修正の効率化に役立つワークフローおよびプロセス管理機能を提供するツールです。AVCソリューションは、ASTの結果を共通の命名体系に正規化し、多数のセキュリティ・テスト・ツールとデータソースからの結果を相関付けて一元管理されたリポジトリに統合し、重複した結果の除外、脆弱性の悪用可能性と重大度の評価、セキュリティ対策の修正と優先順位付けをより効果的に行う機能を備えています。このソリューションにより、ツール、機能、修正のプロセス・フローが自動化され、トリアージ・プロセスが最適化されることで、セキュリティ・チームと開発チーム間の摩擦が大幅に軽減されます。

序論

アジャイル・ワークフロー内でソフトウェア品質を確保したいという要望から、セキュリティ・チームと開発チームの間で、DevOpsの速度でアプリケーション・セキュリティ・プログラムを実行する傾向が高まっていますが、その実現を困難にするいくつかの理由があります。

  • 情報の収集、並べ替え、分析に重大な問題がある。これはASTツールの実行、ソースや形式が様々に異なる結果の使用、手動でのコード・レビュー、結果から最優先で修正する必要がある事項の分離を伴う複雑なプロセスです。
  • セキュリティ・チームは、既存の脆弱性をトリアージするために十分な数のリソースを割り当てることに苦労しています。その理由は、関連するデータ・ポイントとビジネス・コンテキストを手動で収集して単一の結果の優先順位付けを評価するために時間がかかるという性質があるためです。

このような事情により、増え続けるASTセキュリティの結果から重要な作業を導き出すための簡便な方法が必要になってきました。アプリケーション・テスト・サービスのインテリジェント・オートメーションに関する2020年11月のGartnerの調査では、先進のセキュリティ・テストの成功事例として、テスト結果を関連するビジネス指標と関連付け、この分析から脆弱なソフトウェアを特定する機能が含まれていました。このような機能は、復元力、コスト最適化、製品品質の強化に不可欠であると考えられています。組織がこの成果を効果的に達成できるかどうかは、優れたAVCソリューションの導入に大きく依存しています。


従来のアプリケーション脆弱性管理の現状

投入されるAppSecツールはさまざまです。一般的なASTツールとしては、動的アプリケーション・セキュリティ・テスト(DAST)、静的アプリケーション・セキュリティ・テスト(SAST)、ソフトウェア・コンポジション解析(SCA)、オープンソース・ツールなどがあります。検索対象となるソフトウェアの欠陥の種類、悪用可能性、問題の原因はツールによって異なり、デプロイされるSDLCの段階もツールによって異なります。通常、SASTとSCAは開発やビルドの段階で利用され、DASTは本番環境の状況をシミュレートして問題を発見するステージングの段階で利用されます。また、ASTツールの各カテゴリでサポートされるアプリケーションおよびプログラミング言語の検出機能と種類もベンダーによって異なる場合があります。包括的なAppSecプログラムを導入することにより、1つのASTカテゴリ内で複数のツールを投入し、SDLCの各段階で適切なASTツールを実装できます。

従来のAppSecツールでは、サイロ化されたツールでデータが過剰に生成され、明確で実用性のある洞察を得ることが困難なため、多くの場合、アジャイルDevOps環境のニーズを満たせません。アプリケーション脆弱性のバックログを分類する作業は、修正を担当する開発チームにとってセキュリティを強化するうえでのボトルネックになります。また、さまざまなツールで発生した誤検知や冗長な結果などのAppSecノイズを手動でフィルタリングすると、開発速度と既存のAppSec投資の効果が低減します。

 


AVCで解決できる問題

AppSecデータを分析する場合、セキュリティ・チームはSAST、DAST、SCA、オープンソース/サードパーティー製ツールなどの多様な異種のソースで生成される膨大な量の関連情報を分類する必要があります。このような場合、アナリストが類似した欠陥の傾向を調べたり、異なるツール間の結果の重複を除外することができる一元管理リポジトリが存在しないため、トリアージのプロセスが冗長化、複雑化し、大きな遅れが生じる傾向があります。AVCは、主として、AppSecテスト・ツールによって膨大な量のデータが生成されることから生じる課題を解決します。相関機能を備えたAVCツールでは、すべてのテスト・ツールの結果を統合し、重複した結果を自動的に削除することができます。

つまり、AVCはSDLC全体でASTの結果を効率化し、DevSecOpsプログラムの効果と効率を高めます。優れたAVCソリューションはソフトウェアの全体的なリスク管理の強化、およびソフトウェアの品質と開発手法の向上にも役立ちます。SynopsysのAVCツールであるCode Dx®は、さまざまな種類の分析ツールの結果を関連付け、悪用される可能性が高い順にセキュリティの問題に優先順位を付けます。

 

 


AVCの仕組み

AVCツールは一元化された相関テスト結果セットを提供し、重複排除と正規化の機能により定義とリスク・レベルを明確化します。優れたAVCツールは、結果を収集して相関させた後、独自の脆弱性ポリシーを使用して、脆弱性の修正の優先順位付けと管理を支援します。また、その結果を既存のアプリケーション・セキュリティ・ツールに統合することもできます。

AVCツールは、テスト結果からポリシーまでの既存のすべてのデータを収集し、優先順位付けされた戦略的な対策を実行するために使用できる明確で簡潔な一元化された情報源を提供します。


AVCの主な機能

AVCツールは、AppSecツールの使用によって生成され、増え続けるデータの解釈に役立つ一元化された視点を提供します。AVCツールでは、AppSecツールで生成された脆弱性の検出結果が相関付けられるため、アプリケーション全体の脆弱性を正確に把握できます。

この効率化されたビューにより、ツールの管理に貴重な時間を費やす必要がなくなり、アプリケーションの脆弱性を修正することに集中できます。脆弱性の特定と修正を簡素化することにより、悪用される前に脆弱性を修正できるようになるため、全体的なリスク・レベルが低減します。


優れたAVCツールの主な特長とは

多様なASTツールのサポート:

  • 環境非依存かどうか、サポートするAST製品の種類数、結果の相関付けにランタイム・エージェントが必要かどうかなど、ASTツールの特徴はさまざまです。通常、ランタイム・エージェントに依存するAVCはベンダー固有であり、サポートされる統合の数が制限されます。エージェントによってSDLCが遅延する場合もあります。Code Dxは、現在主流の開発ツールとの90以上の統合をサポートするエージェントレスの相関エンジンです。

AppSecの可視性と効率性:

  • 結果を一元化し、既存のASTツールの効果を示す機能を備えていること。CI/CDパイプラインが混雑しない方法を採用していること。

リスクとポリシーの管理:

  • ASTの結果の意味をソフトウェア・リスクに基づいて把握できること。高リスクの脆弱性が存在するソフトウェアを特定し、そのデータをスキャン・ポリシーにリンクする機能を備えていること。これはAVCソリューションの真価を引き出すために重要な点です。AVCでの結果に優先順位を付け、さらにAppSecテストをインテリジェントに実行することで、開発チームが修正と対策に費やす時間を大幅に改善する機能を備えていることも重要です。Code DxとIntelligent Orchestrationの連携により、ポリシーの管理、テストの実行、ソフトウェア・リスクに総合的な視野で取り組むことができます。Intelligent Orchestrationを使用すると、セキュリティ・アナリストはスキャン・ポリシーをコードとして実装することでテストを高速化し、その結果をCode Dxに読み込むことができます。アナリストは、Code Dxで特定の結果のリスク・スコアリングと関連するコンプライアンス基準を示すレポートやダッシュボードをコンパイルできます。これにより、開発者は、必要に応じてテストを行い、セキュリティ・プロセスを標準化し、高リスクの脆弱性が存在するソフトウェアを特定することができます。