アプリケーション・セキュリティ・テストのオーケストレーション

Intelligent Orchestrationとは

Intelligent Orchestration(IO)は、開発または製造パイプラインと並列に実行されるアプリケーション・セキュリティ専用のパイプラインです。ソフトウェア・ライフサイクル(SDLC)全体にわたって、カスタマイズされたアプリケーション・セキュリティ・テストを自動化し、コード変更の重要度、リスクスコアの合計、会社独自のセキュリティ・ポリシーに基づいて、適切なセキュリティ・ツールを自動的に実行するか、手動テスト・アクティビティをトリガします。これにより、セキュリティチームは、全社規模で組織全体のすべてのアプリケーションに対してセキュリティ・プロセスとセキュリティ・ポリシーを簡単に実装できます。

IOで解決できる問題

開発責任者

セキュリティ・スキャンは継続的インテグレーション/継続的デリバリー(CI/CD)パイプラインが停滞する原因となり、スキャンを自動化すると、多くの場合、実際のコードの変更や重要度が考慮されず、ソフトウェアのビルドごとに様々なアプリケーション・セキュリティ・ツールを実行する必要があります。これにより摩擦が生じ、開発が減速する可能性があります。

また、膨大なスキャン結果によって脆弱性情報が過剰になり、修正/除外するコードを開発チームが判断しなければならない頻度が増えて、開発チームの負担が増大する可能性があります。ビルドに問題が生じる原因となる重大な脆弱性が開発リーダーに即座に通知されることは稀です。また、プロジェクトで最優先すべき脆弱性の種類について、セキュリティ・チームから開発チームに対する継続的なフィードバックやガイダンスが提供されることもありません。

セキュリティ責任者

膨大な数のアプリケーション全体にセキュリティ・ポリシーを適用することはセキュリティ責任者にとって困難な課題です。しかも、多くのセキュリティ・ポリシーはスプレッドシートまたはPDF形式で保存されているため、適用や拡張が困難です。手動によるセキュリティ・アクティビティのリマインダー(手動のコードレビュー脅威モデルなど)をプロジェクトまたはアプリケーションの重要度別に自動化することも難題です。さらに、セキュリティ責任者にとっては、最重要エリアでのセキュリティゲートの実装も容易ではなく、ポートフォリオ全体の重大なアプリケーション・リスクが見えにくくなりがちです。こうした重大なアプリケーション・リスクがセキュリティ・ポリシーに関連付けられていないこともあれば、セキュリティ・ポリシーが適用されないこともあります。

アプリケーション・セキュリティ・テストのオーケストレーション | シノプシス

IOの仕組み

既存のパイプラインや開発ツールチェーンとの統合が容易。IOは簡単なAPI呼び出しでパイプラインにシームレスに接続できます。セキュリティ・テストを追加する際にビルド・パイプラインまたはリリース・パイプラインを完全に再実装する必要はありません。DevOps統合により、既に導入されている他の開発、セキュリティ、追跡ツールと連携することで、セキュリティ解析の結果を簡単に得ることができます。

アクションをリアルタイムで決定して実行。IOを利用すれば、適切なタイミングで適切なテストを実行できます。セキュリティ・チームがコード(読み取り可能なXMLファイルなど)形式で定義したアプリケーション・セキュリティ・ポリシーのセキュリティ・ルールを使用して、特許取得済みのテクノロジでコード変更などのSDLCイベントを評価し、適切なアプリケーション・セキュリティ・テスト(静的アプリケーション・セキュリティ・テストソフトウェア・コンポジション解析動的アプリケーション・セキュリティ・テストインタラクティブ・アプリケーション・セキュリティ・テストなど)をインテリジェントにトリガします。実際のコード変更、計算されたリスクスコア、会社独自のセキュリティ・ポリシーに応じて、適切なテストが適切なタイミングで実行されます(テストがまったく実行されない場合もあります)。これにより時間短縮とリソース節減を実現します。

手動/アウト・オブ・バンドのアプリケーション・セキュリティ・アクティビティのワークフローを自動化。IOのポリシーを使用して、既存のバグ追跡システムやコミュニケーション・ツールを用いたペネトレーション・テストなど、手動のアプリケーション・セキュリティ・アクティビティを開始することもできます。これによりセキュリティ・コンプライアンスと開発ワークフローを連携させることが可能になります。

チームに対して適切な情報を提供。IOでは、リスクとセキュリティ/開発チームが事前定義した基準(例:重大な脆弱性のみ、重大なSQLi脆弱性のみ)に基づいて結果を最適化し、優先順位を付けます。脆弱性情報が過剰に発生しないように、結果はフィルター処理され、開発チームが既に使用している開発ツールやバグ追跡ツールに直接投入されます。

IOの主な機能

専用セキュリティ・パイプライン。主要な開発パイプラインからセキュリティ・テストを分離します。開発パイプラインとの統合が容易な専用のCIパイプラインを使用し、SDLCイベントに基づいて適切なセキュリティ解析を実行します。

ポリシーをコードで設定。インテリジェントなパイプライン内でセキュリティ・ポリシーとリスク・ポリシーの適用を自動化し、ポリシーの評価、応答、通知のルールをコードで定義できるようにします。セキュリティ・ゲートを開発ワークフローに実装することも容易で、ビルド中に重大な脆弱性が見つかった場合には自動的に通知されます。事前の承認なく本番環境へリリースされることはありません。

セキュリティ・ワークフローの自動化。開発およびセキュリティチームが現在使用している標準的なバグ追跡システムとコミュニケーション・ツールを利用して、標準的なアプリケーション・セキュリティ・テスト(AST)および手動によるアウト・オブ・バンドのアプリケーション・セキュリティ・アクティビティの開始と管理を自動化します。

拡張性の高い統合。セキュリティ解析と結果を既存の開発ツールやプラットフォームにシームレスに統合します。

AST解析。AST/DevSecOps実装のギャップを把握するために役立つ指標を提示し、有効性を示します。

シノプシスの支援方法

シノプシスの業界をリードするIntelligent Orchestrationは、DevSecOps開発の問題点を速やかに修正するための優れたソリューションです。IOで最近の開発に伴う問題を解決する方法の詳細については、https://www.synopsys.com/ja-jp/software-integrity/polaris/intelligent-orchestration.htmlをご覧ください。