Webアプリケーションの脆弱性診断やセキュリティ検証において、Burp Suiteは欠かすことのできない非常に強力なローカルプロキシツールです。
近代的なWebサイトのほとんどがHTTPSによる暗号化通信を採用しており、標準的な設定のままでは通信内容を平文で閲覧することはできません。
Burp Suiteを用いてブラウザとサーバー間のHTTPS通信を解析するためには、ツールが発行する固有のルート証明書を端末にインストールし、信頼させる必要があります。
本記事では、診断環境を構築する上で不可欠となるBurp Suiteの証明書導入手順について、各環境ごとの詳細を解説します。
HTTPS通信キャプチャの仕組みと証明書の必要性
HTTPS通信はSSL/TLSプロトコルによって保護されており、通常は第三者が通信内容を傍受したり改ざんしたりすることはできません。
Burp Suiteは、ブラウザとサーバーの間に割り込む「中間者(Man-in-the-Middle)」として動作することで、暗号化された通信を可視化します。
この仕組みを実現するためには、Burp Suiteがサーバーになりすましてブラウザと通信を行い、同時にブラウザになりすましてサーバーと通信を行う必要があります。
しかし、ブラウザは未知のエンティティが発行した証明書を受け入れないため、そのままでは「この接続ではプライバシーが保護されていません」という警告が表示されます。
この警告を回避し、安全に診断を継続するためには、Burp Suite固有のCA(認証局)証明書をブラウザまたはOSの信頼されたルート証明書ストアに登録しなければなりません。
一度この証明書をインポートすれば、Burp Suiteが動的に生成する各ドメイン用の証明書をブラウザが正当なものとして認識するようになります。
Burp Suiteでのプロキシリスナー設定
証明書の導入を行う前に、まずはBurp Suite側で通信を受け付ける準備を整える必要があります。
Burp Suiteを起動し、「Proxy」タブから「Proxy settings」を選択してください。
「Tools」セクション内にある「Proxy」の設定項目で、Proxy listenersが正しく設定されているか確認します。
デフォルトでは「127.0.0.1:8080」でリスナーが動作しており、これがローカル環境からの通信を待ち受ける窓口となります。
もし他のアプリケーションがポート8080を使用している場合は、「Edit」ボタンから空いているポート番号に変更してください。
リスナーが「Running」のチェックボックスにチェックが入っている状態であれば、プロキシサーバーとしての機能が有効になっています。
CA証明書のエクスポート手順
次に、ブラウザにインポートするためのCA証明書ファイルをBurp Suiteから取り出します。
「Proxy settings」の「Proxy listeners」セクションにある「Import / export CA certificate」ボタンをクリックしてください。
エクスポートの選択肢が表示されるので、「Certificate in DER format」を選択して「Next」進みます。
保存先を指定する画面では、ファイル名にcacert.derなどの分かりやすい名前を付け、任意のフォルダに保存してください。
このとき、拡張子が.derであることを確認しておくことが、後のインポート作業をスムーズに進めるコツです。
また、ブラウザ経由で直接ダウンロードする方法もあり、プロキシ設定済みのブラウザでhttp://burpsuiteにアクセスすることでも取得可能です。
「CA Certificate」というリンクをクリックすれば、同様の証明書ファイルがダウンロードされます。
Firefoxへの証明書インポート手順
Firefoxは独自の証明書ストアを持っているため、OSの設定とは別にブラウザ内でのインポート作業が必要です。
まず、Firefoxの設定メニューを開き、「プライバシーとセキュリティ」セクションまでスクロールしてください。
最下部付近にある「証明書」という項目の「証明書を表示」ボタンをクリックします。
「認証局」タブを選択した状態で「インポート」ボタンを押し、先ほど保存したcacert.derファイルを選択してください。
インポート時に表示されるダイアログで、「この認証局によるウェブサイトの識別を信頼する」というチェックボックスに必ずチェックを入れます。
このチェックが入っていないと、HTTPS通信のインターセプトが正常に行われないため注意が必要です。
「OK」をクリックして設定を閉じれば、FirefoxでのHTTPSキャプチャ準備は完了です。
Windows OS(Chrome/Edge)への証明書導入
Google ChromeやMicrosoft Edgeは、OS(Windows)の証明書ストアを共有して利用します。
Windowsの検索バーにcertmgr.mscと入力し、証明書管理ツールを起動してください。
「信頼されたルート証明機関」フォルダを右クリックし、「すべてのタスク」から「インポート」を選択します。
証明書のインポートウィザードが開始されるので、保存しておいたcacert.derを指定して進めてください。
証明書ストアの場所が「信頼されたルート証明機関」になっていることを再確認し、完了ボタンをクリックします。
「正しくインポートされました」というメッセージが表示されれば、OSレベルでBurp Suiteの証明書が信頼されたことになります。
ブラウザを再起動し、任意のHTTPSサイトにアクセスしてBurp Suiteの「HTTP history」にログが流れるか確認しましょう。
macOSでの証明書設定と信頼設定
macOSを使用している場合、証明書の管理は「キーチェーンアクセス」アプリで行います。
「キーチェーンアクセス」を起動し、左側のメニューから「システム」または「ログイン」を選択します。
書き出した証明書ファイルをウィンドウ内にドラッグ&ドロップして追加してください。
追加された「PortSwigger CA」という項目をダブルクリックし、「信頼」セクションを展開します。
「この証明書を使用するとき」の設定項目を「常に信頼」に変更してください。
設定を保存する際に管理者パスワードを求められるので、入力して変更を確定させます。
これでSafariやChromeなど、macOSのシステム証明書を利用するブラウザでの解析が可能になります。
モバイルデバイスでのHTTPSキャプチャ設定
AndroidやiOSデバイスの通信をキャプチャする場合、PC側のBurp Suiteリスナーを外部インターフェースにバインドする必要があります。
「Proxy listeners」の設定で、特定のIPアドレスまたは「All interfaces」を選択し、モバイル端末からアクセス可能な状態にします。
モバイル端末側でプロキシ設定を行い、ブラウザからhttp://burp-ip:8080にアクセスして証明書をダウンロードします。
iOSの場合は、プロファイルをインストールした後、設定の「情報」>「証明書信頼設定」から「ルート証明書を全面的に信頼する」トグルをオンにしなければなりません。
Androidの場合は、OSのバージョンによって手順が異なりますが、一般的には「セキュリティ」設定から「暗号化と認証情報」を選択し、ストレージからインストールを行います。
Android 7.0以降では、アプリ側の仕様によってシステム証明書が無視されることが多いため、別途対策が必要になるケースがあります。
通信がキャプチャできない場合のトラブルシューティング
正しく証明書をインストールしたつもりでも、通信がキャプチャできない、あるいはブラウザにエラーが表示されることがあります。
主な原因と対策を以下の表にまとめました。
| 現象 | 主な原因 | 解決策 |
|---|---|---|
| SEC_ERROR_REUSED_ISSUER_ID | 古い証明書のキャッシュが残っている | 以前のBurp証明書を削除してから再インポートする |
| 接続がタイムアウトする | ファイアウォールがポートを遮断している | OSやウイルス対策ソフトの壁設定を確認する |
| 特定のサイトだけ解析できない | HSTSまたはCertificate Pinning | ブラウザのHSTSキャッシュをクリアするか、Pinning解除ツールを検討する |
特に、以前別のBurp Suite環境を構築していた場合、古い証明書が残っていると競合が発生し、エラーの原因となります。
問題が発生した際は、一度全ての関連証明書を削除し、クリーンな状態で再インストールを試みることが最も確実な解決策です。
セキュリティ上の重要な注意点
Burp Suiteのルート証明書をインストールすることは、本来厳格であるべきセキュリティチェーンに例外を設ける行為です。
信頼されたルート証明書として登録されたCAは、どのようなドメインに対しても有効な証明書を偽造できてしまいます。
そのため、検証作業が終わったら証明書を無効化するか、削除することを推奨します。
また、日常的に利用するブラウザではなく、診断専用のプロファイルを作成したり、専用のブラウザ(Burp Suite内蔵のブラウザなど)を利用したりすることで、リスクを最小限に抑えることができます。
Burp Suiteには標準でChromiumベースの「Embedded browser」が搭載されており、これを利用すれば証明書の手動導入なしで即座にHTTPSキャプチャを開始できます。
複雑な設定を避けたい場合や、一時的な検証作業であれば、この内蔵ブラウザの活用を第一の選択肢として検討してください。
まとめ
Burp SuiteによるHTTPS通信のキャプチャは、モダンなWebアプリケーション診断の第一歩となります。
各プラットフォームに応じたルート証明書のインストールと信頼設定を正しく行うことで、暗号化の壁を越えて詳細なパケット解析が可能になります。
手順自体はシンプルですが、Firefoxの独自ストアやモバイルOSの信頼設定など、躓きやすいポイントがいくつか存在します。
本記事で紹介した手順を一つずつ確認しながら設定を行い、適切な検証環境を構築してください。
最後に、証明書の導入は強力な権限を付与する作業であることを常に意識し、セキュリティに配慮した環境運用を心がけましょう。
