場合によって、Burp Suiteの動作が遅くなってしまうことがあります。このセクションでは、Burp Suiteのパフォーマンス問題をトラブルシューティングし、テスト効率を高めるための簡単な手順について説明します。
Burp Suiteのすべてのエディションで、64ビットハードウェアが必要です。Burp Suite Professionalを最大限に活用するには、8GB以上のメモリと2つのCPUコアを搭載したマシンの使用を推奨します。大量の作業を実行する場合、または大規模で複雑なアプリケーションをテストする場合には、これよりも強力なマシンが必要になるかもしれません。
Burp Suiteは、マシンのCPUとメモリ、そしてそれが実行されるネットワークに負荷をかけます。
次の方法で特定機能の無効化やスキャン設定を行い、BurpのCPU使用率を管理します:
TargetタブやBurp RepeaterなどBurp SuiteでHTTPリクエストやレスポンスが表示される箇所では、生のコンテンツだけでなく、メッセージの整形バージョンを表示するオプションがあります。大きなファイル、特にJavaScriptファイルの整形には時間がかかる場合があります。デフォルトで、Burp SuiteがサポートしているすべてのコンテンツタイプにPrettyビューを使用します。しかし、この方法でパフォーマンスが低下する場合は、このオプションを無効にして代わりにRawビューを使用できます。設定するには:
JavaScript分析は計算コストが高く、スキャンの診断フェーズが遅くなる可能性があります。対象で実行されているJavaScriptに関心がない場合は、分析を無効化できます。
Burp Scannerの組み込み設定: 診断チェック - JavaScript分析を除くすべてを適用すると、JavaScript分析を無効化できます。あるいは、次の手順で独自のスキャン設定も可能です。
Burp Scannerには、クロールフェーズと診断フェーズの両方に、パフォーマンスを最適化する設定が多数あります。次の組み込みスキャン設定を適用すると、パフォーマンスを向上できます:
クロール戦略 - Faster
クロール戦略 - Fastest
クロール制限 - 10分、30分、60分
診断チェック - アクティブ(軽度)
診断チェック - アクティブ(中程度)
あるいは、次の手順で独自の設定も可能です。
クロール中のパフォーマンスを最適化するには:
診断中のパフォーマンスを最適化するには:
対象サイトで関心のある範囲のみをスキャンしているか確認してください。スコープを狭めると、パフォーマンスが向上します。スキャンランチャの詳細なスコープ設定で、スキャンスコープを微調整してください。
対象がHTTPとHTTPSのどちらかのみサポートしている場合は、サポートされているプロトコルのみを使用してBurp Scannerがリクエストを送信するようにします。スキャン詳細のスキャンするURLセクションで、スキャンする各URLに目的のプロトコルを含めます。そして同じ箇所の指定したプロトコルを使用してスキャンを選択してください。
次の方法でメモリ使用量を最適化します:
Burp Suite拡張は便利ですが、システムの負荷が増える可能性があります。PortSwiggerは、拡張のリソース最適化状況をテストしていません。一部の拡張は、Burp Suiteのパフォーマンスに影響を与えるかもしれません。使用する拡張に注意し、不要な拡張の削除を推奨します。Burp Suiteが過剰な量のメモリを使用しているように見える場合は、拡張を1つずつ無効にして、問題の原因となっている拡張があるか確認してください。
Burp Suiteは、マシンがJavaに割り当てるメモリの量によって制約されます。コマンドラインからBurpを起動すると、コマンドライン引数を使用してより多くのメモリを割り当てられます。手順の詳細はこちらを参照してください。
一時プロジェクトでは、すべてのプロジェクトデータをディスクではなくメモリに保存する必要があるため、ディスクベースのプロジェクトよりもメモリに対する要求が高くなります。メモリ使用量が最大化されている場合、ディスクベースのプロジェクトに切り替えると、負荷の一部がメモリからハードディスクに移動します。ただしこれを行うと、RAMはハードドライブよりも高速ですから、特にディスクが遅い場合(ソリッドステートドライブではなくハードディスクドライブなど)に遅延が発生する可能性があることに注意してください。ディスクベースのプロジェクトと一時プロジェクトのどちらが高速かを確認するために、実験が必要かもしれません。プロジェクトメニューに移動してコピーを保存を選択すると、一時プロジェクトをディスクベースのプロジェクトに変換できます。
永続化フレームワークの動作上プロジェクトファイルの保存は、ネットワークドライブではなくローカルドライブを推奨します。
次の方法でネットワークの問題を管理します:
ネットワークの負荷を軽減するには、同時実行するスキャン数を減らします。
Burp Suiteは、アクティブスキャン中に対象が処理できる速度よりも速くリクエストを送信し、対象アプリケーションを過負荷にする可能性があります。Burp Suiteが同時に行うリクエストの数を減らすと、リクエストのハングアップやタイムアウトを防ぎます: