このセクションの内容:
このパッケージを利用すると、Burp Suite セキュリティ診断ツールを使って、SOAtest のテスト シナリオでAPI およびブラウザーベースの Web アプリケーションのセキュリティ テストと侵入テストを実行できます。このパッケージには、Burp Suite にインストールする Burp Extender に加えて、SOAtest で使用する以下の 2 つのツールを含みます。
SOAtest ツールは soatestburpsuitetools.jar ファイルで提供します。UI またはコマンドラインからインストールできます。
localsettings プロパティ ファイルの system.properties.classpath プロパティに soatestburpsuitetools.jar を追加します。
例:
system.properties.classpath=<path to jar>/soatestburpsuitetools.jar
Parasoft SOAtest Burp Extender (burpsuiteextender.jar) は、Burp Extenders をインストールする標準的な方法でインストールします。
Burp Suite 側では、HTTP サーバーを使って Burp Suite を拡張した Parasoft SOAtest Burp Extender が SOAtest Burp Suite Analysis Tool とのやり取りを可能にします。SOAtest 側には、Burp Suite でテストするAPI のテスト シナリオに Burp Suite Analysis Tool を追加します。
テスト実行時には、Burp Suite Analysis Tool を連結した各テストは、通常通りにテスト対象アプリケーションとやり取りします(以下の #1 を参照)。そしてセキュリティ解析のためにデータを Burp Suite に送ります (以下の #2 を参照)。Burp Suite は、解析を実行するためにテスト対象アプリケーションとやり取りします。
テストの実行ごとにその結果を SOAtest の [品質タスク] ビューに送ります (以下の #3 を参照)。テスト結果を XML レポートとして保存し、Parasoft DTP にアップロードできます(「DTP への接続」を参照)。
Burp Suite Reporter ツールの実行時に詳細なセキュリティ情報を持った Burp Suite HTML レポートを生成します (以下の #4 を参照)。
Burp Suite の解析は通常のテスト シナリオよりも時間がかかるため、2 種類のテスト シナリオを管理することを強く推奨します(1つは機能テストの実行用、もう1つはセキュリティテストの実行用)。セキュリティ テストを実行する場合は、必ず最新の機能テスト シナリオをコピーし、このコピーにBurp Suite ツールを追加してください。そうすると、動作やパフォーマンスに影響を与えることなく元の機能テストを使い続けられます。
この操作のための一般的なワークフローは以下のとおりです。
テスト シナリオの各々のテスト クライアント (例:SOAP Client、REST Client、EDI Client、Messaging Client) の出力ツールとして Burp Suite Analysis Tool を連結します。必ずテスト クライアントの[トラフィック オブジェクト] に連結してください (「テスト出力の追加」を参照)。
テスト シナリオのすべてのツールに出力を追加する最も簡単な方法は、テスト シナリオの先頭ノードを右クリックし、[複数の出力を追加] を選択して以下の操作を行うことです。
|
Burp Suite テスト用のテスト シナリオの構成が完了したら、以下の操作を行ってセキュリティ テストを実行できます。
テストの実行が完了すると、指定のレポート ディレクトリに、関連する Burp Suite レポートが保存されます。
SOAtest の [品質タスク] ビューと SOAtest で生成したレポートには、Burp Reporter を使って 直接 Burp Suite から生成したレポートよりも多くの問題が表示されることがあります。その理由は、SOAtest はフィルタリングされていない発見された課題のリストを表示するため、一部の課題が重複することがあるからです。一方、Burp Suite は固有とみなす課題だけを表示し、重複とみなす課題は ひとつにまとめます。
デフォルトでは、Burp Suite Analysis Tool は Burp Suite Extension の HTTP サーバーが localhost のポート 9898 で公開していることを想定します。そして Burp Suite と SOAtest は同じマシン上に導入していることを想定します。異なるポートを使用している場合、Burp Suite Extension とSOAtest 内で実行される Burp Suite Analysis Tool の両方について、ホストとポートを再設定する必要があります。
Burp Suite 起動時に以下の引数を渡します。
java -Dburpsuite.extension.port=<new value> -jar burpsuite_pro_v-1.7.03
SOAtest 起動時に以下の引数を渡します。
soatest.exe -J-Dburpsuite.extension.port=<new value>
テストを自動化する場合、Burp Suite が解析を完了するまで時間がかかったり応答不能になったりするケースに対処するため、タイムアウトを設定する必要があるかもしれません。タイムアウトを設定すると、たとえ Burp Suite が解析を完了していなくても、SOAtest テスト シナリオは実行を継続できます。タイムアウトを設定しない場合、Burp Suite からすべての結果を取得するまで、Burp Suite Analysis Too ツールは処理を完了しません。
タイムアウトを設定するには、SOAtest 起動時に以下の引数を渡します。
soatest.exe -J-Dburpsuite.extension.timeout=<value>
なお、この値の単位は分です。また、 -1
はタイムアウトを適用しないことを意味します。
デフォルトでは、Burp Suite Analysis Tool と Burp Suite Reporter のログ レベルはどちらも "warn" です。コンソールと Event Monitor ビューに表示されるログの詳細レベルを変更したい場合、ツールのログ レベル設定を変更できます。
Burp Suite Analysis Tool がレポートする最低限の重要度レベルを設定できます。デフォルトでは、レポートされる最小限の重要度レベルは "low" です。したがって、"low"、"medium"、"high" のすべての違反がレポートされます。SOAtest 起動時に以下の引数を渡すことで、デフォルトの設定を変更できます。
-J-Dburpsuite.extension.severity.filter=<severity>
以下のセキュリティ レベルを設定できます。
high
medium
low
information
高いレベルの重要度を設定すると、それよりも重要度が低いエラーは無視されます。なお、重要度レベルの設定では大文字と小文字を区別しません。
Parasoft Burp Suite Extensions は、以下のサード パーティのコンテンツを含みます。
その他のライセンスの詳細については、Parasoft Burp Suite Extensions の licenses フォルダーを参照してください。