Fortify WebInspect

Automation

WebInspect automation workflows

WebInspect automation workflows use build automation tools to manage the dynamic scanning ecosystem, including QA testing and cloud deployments. 

Dynamic analysis (DAST), combined with static analysis (SAST), provides more thorough coverage, but automating dynamic is more complex. You can either build your own tech stack, or borrow a framework. This guide helps you accelerate your automation by using existing test automation scripts/frameworks that other enterprises have already created as part of their DevOps practices.

AppSec In-a-boxとCustodela

既存のDevOpsシステムとプロセスに自動化WebInspectを組み入れることで、セキュリティテストは同時に大規模に行えるようになります。

CustodelaKen McDonaldによる、WebInspectを自動化するAppSec In-a-boxを使ったアプローチをみてみましょう。

動的アプリケーション・セキュリティテスト・オーケストレーション (DASTO)

ターゲットがGitHub上のWebBreakerツールで動的アプリケーションセキュリティテストオーケストレーション (DASTO)を解決します。このオープンソースプロジェクトはWebInspectを利用して俊敏性と柔軟性を向上させ、SDLCパイプラインやGitワークフローなどにより高度な統合をもたらします。

  1. WebBreakerメインページ
  2. Github上のWebBreaker
  3. WebInspect Python APIライブラリ
  4. Fortify SSC Python APIライブラリ
WebInspect自動化向けMavenプラグイン

Fortify for WebInspectおよびWebInspect Enterpriseと共同でRuud Sendenによって開発されたMavenプラグインを使うと、ユーザーはアプリケーションの構築、テストインスタンスの展開、統合テストの実行が自動でできるようになります。次のようなシナリオをCI/CDパイプラインに統合します。

  1. WebInspectプロキシのインスタンスを作成する
  2. トラフィックを統合テストからこのプロキシ経由でルーティングする
  3. そのプロキシトラフィックをワークフローマクロとして保存(およびそのプロキシをシャットダウン)する
  4. このワークフローマクロに基いて新しいスキャンを設定する WebInspectまたはWebInspect Enterpriseのいずれかに対してこのスキャンを実行する
WebInspect Automation – General workflow
WebInspect自動化 – 総合ワークフロー

自動化ワークフローは、以下のステップでエコシステムスキャンを管理する構築自動化ツールを使用します。

  1. セキュリティチームが「セキュリティタスク」としてセキュリティスキャンステップを設定します。これは、アプリ構築・配置後に構築自動化ツール経由で呼び出されます。
  2. 開発チームがコードの変更を構築自動化ツールに送信し、設定された運用期間が過ぎると、構築とアプリ配置完了後にセキュリティタスクが開始されます。
  3. セキュリティタスク完了後、自動化ツールは、セキュリティチームが規定したセキュリティリスクに基づいた構築ジョブをPassまたはFailに設定します。
  4. セキュリティ上の脆弱性の検知結果はFortify Software Security Center (SSC)でまとめられ、そこからSSC上で可能な統合を経由してバグリポジトリに移動することも任意で可能です。

ベーシックセキュリティタスク – WebInspect

Head ?
ステップ1
WebInspectセンサーの状態をチェックして、スキャナーがスケジュールスキャンできるかどうか確認します。
face to face
ステップ2
WebInspectのREST APIまたはコマンドラインにコールしてスキャンを開始します。ここで必要なURL、設定ファイル、ログイン情報が渡されます。1. WI APIの詳細: http://hostname:port/webinspect/swagger/ui/index#/
Certificate 1
ステップ3
センサーをポーリングしてスキャン状況を確認し、スキャンが完了すると次のステップを開始します。
Thumb up
ステップ4
スキャンが終了すると、結果がFPRとしてFortify Client搭載のサーバーにエクスポートされ、Fortify Clientを経由してSSCにアップロードされます。1. Fortify Client マニュアルは、Fortify Software Security Center (SSC)のインストールおよび設定ガイドにあります。
ベーシックセキュリティタスク – WebInspect Enterprise

WIEがスケジューリングとポーリングを管理してセンサーの可用性を識別するため、非常にシンプルです。WebInspect Enterpriseは、結果を自動的にFortifyソフトウェア・セキュリティセンターへ発行します。

  1. WebInspect EnterpriseサーバーAPIを呼び出すと、URLと設定ファイル/テンプレート情報によるスキャンの予定が組まれます。
Proxy and QA Automation
プロキシとQA自動化

自動化は、QA機能テスト(WI/WIEスキャンを自動化するためのSeleniumスクリプトなど)の際に生成されたアーティファクトがを利用することができます。この手法のメリットとは、

  1. 機能テストには、関連するビジネスロジックを有する一連のアクションが盛り込まれるケースが多く、一方でブラインドWebInspect自動クロールからのモデリングはできません。
  2. 機能テスト中に使われるログインシーケンスを活用し、WebInspectログインマクロを別に作成しない可能性。これには、WIクロールまたは監査からログインページを除外する設定を構成すること、およびセキュリティスキャン中にログアウトが行われないことが含まれます。

QAセキュリティタスク – WebInspect

これらのステップをベーシックセキュリティタスクに追加—WebInspect:

Screen gear
ステップ1 - WebInspect
REST API経由のWIプロキシのスピンアップと、トラフィックファイル生成のためにキャプチャーされたQAアーティファクトの再生。その後トラフィックファイルはWebMacroとして保存されます。
Screen code
ステップ2 - WebInspect
コマンドライン/REST APIを使ってデフォルトの設定ファイルを変更します。設定ファイルは、ステップ1のトラフィックファイルから保存されたワークフローマクロで上書きされます。

QAセキュリティタスク – WebInspect Enterprise

WebInspect向けの追加ステップと同じです。

News 1
ステップ1 – WebInspect Enterprise
プロキシスピンアップのためのWIデスクトップへのアクセス権限を持たないお客様には、マーケットプレイスでご利用可能なプロキシの無償ライセンス版インスタンスをダウンロードいただけます。
Doc find
ステップ2 – WebInspect Enterprise
設定ファイル作成後のWIE用スキャン開始処理にはいくつかのステップが必要です。WIE REST作成スキャンガイドAPR 2017を参照してください。
Automation in the Cloud
クラウド内の自動化

もうひとつの使用事例は、WIとWIEの双方のセンサーを配置すること、および処理中のアプリケーションセキュリティテストの規模に合わせてセンサーインストールを動的に拡張することによるクラウド内の自動化です。

  1. セキュリティチームがスキャン要求パイプラインにアクセスし、Nセンサーの拡大・縮小を決定します。この要件に基づいてライセンスを割り当てます。
  2. セキュリティチームは、総合ワークフローに記載してある総合ワークフローを用い、ステップ1と2のループスルーを行います。

クラウドセキュリティタスク – WebInspectセンサー向けの規模拡張

Cloud secure
ステップ1
WebInspectインストールMSIがクラウドストレージ内に保存され、配置の準備ができています。[コール・ロケーション: cloud_memory]
face to face
ステップ2
セキュリティチームがクラウドAPIにコールしてウィンドウズインスタンスを作成し、そのインスタンス(C_Instance)のコマンドラインを使ってcloud_memoryからWebInspectセンサーのヘッドレスインストールを行います。
Consolidate
ステップ3
必要な設定とマクロファイルがインスタンスに配置されます
Thumb up
ステップ4
そのインスタンスでは、WebInspectのREST APIを使用すると、コマンドライン(C_Instance)内でスキャンが開始されます。スキャンが終了すると、結果がFPRとしてFortify Client搭載のサーバーにエクスポートされ、Fortify Clientを経由してSSCにアップロードされます。

クラウドセキュリティタスク – Enterpriseセンサー向け規模拡張

Cloud gear
ステップ1
WIEサーバー管理層に接続して必要なセンサーアクセス権限を割り当てるためのセンサーの接続と設定には、追加手順が必要です。WebInspectインストールMSIがクラウドストレージ内に保存され、配置の準備ができています。
Screen gear
ステップ2
セキュリティチームがクラウドAPIにコールしてウィンドウズインスタンスを作成し、そのインスタンス(C_Instance)のコマンドラインを使ってロケーションからWIEセンサーのヘッドレスインストールを行います。
Screen code
ステップ3
コマンドライン[C_Instance]を使い、センサーを設定し、WIE管理サーバーに接続します。WIEサーバー管理層のREST APIを呼び出し、WIEセンサーへのセキュリティグループのアクセスと権限を提供します。
Time forward
ステップ4
WIEセンサーのインストールが完了すると、WIEサーバーAPIが呼び出され、URLと設定ファイル/テンプレート情報によるスキャンが予定されます。スキャンが終了すると、結果が自動的にSSCに同期されます。
免責事項

この情報は、オートメーションへのアプローチを共有するコミュニティの取り組みの一環として提供されています。この情報はガイダンスとして提供されるものであり、特定の解決方法を保証するものではありません。このページ上のコンテンツに対するFortify QAやサポートは、ない場合があります。

release-rel-2018-11-1-1289 | Wed Nov 7 06:29:38 PST 2018
1289
release/rel-2018-11-1-1289
Wed Nov 7 06:29:38 PST 2018