ペネトレーションテスト報告書が本当に伝えるべきこと
多くの報告書は、ロゴを載せただけのスキャナ出力です。代わりに何を要求すべきか、そして本物のテストを買えたかを 10 分で見抜く方法。
A red pen over a printed page
Close crop of one hand holding a red pen above a printed page, mid-annotation. Bare pale surface, nothing else in frame. The pen is the only colour.
2400×1350 · WebP · <350KB
たいてい 10 分で分かります。報告書を開き、指摘を一つ選び、こう問うてください。ここに書かれている内容だけで、うちのエンジニアは月曜にこれを直せるか。答えが「いいえ」なら、それはペネトレーションテストではありません。コンサルタントのレターヘッドが付いたスキャナのライセンスです。
見分け方は、物語のない深刻度
スキャナが出すのは一覧です。40 件の指摘、それぞれに CVSS スコアが付き、それぞれ単独では正しく、互いにつながっていない。テスターが出すのは物語です。忘れられたサブドメインがステージングのログイン画面を露出させ、ステージングは本番とパスワードを共有し、本番の管理者アカウントには多要素認証がなかった。個別に見れば中、中、低。つなげれば、昼食前に環境全体を掌握される道筋です。
報告書に連鎖が一つもない、つまり「指摘 12、19、27 を組み合わせると」で始まる文が一つもないなら、誰もあなたをテストしていません。ツールを向けただけです。
スコア順に並んだ 40 件は、スキャナが気づいたことを伝えます。攻撃者がそれで何をするかで並んだ 9 件は、何を直すべきかを伝えます。
どの指摘にも必要なもの
- 再現手順。テスターに電話せずにエンジニアがたどれること。正確なリクエスト、正確なパラメータ、正確な前提条件。
- 証跡。問題が理論ではなく実在することを示すスクリーンショットや取得したレスポンス。
- 自社の言葉での影響。「情報漏えい」ではなく「未認証のユーザーが全顧客のメールアドレスを列挙できる」。
- 対象を名指しする修正。ファイル、設定キー、ヘッダー。「入力値検証を実装してください」ではありません。
- 正直な深刻度。環境に合わせて調整されたもの。データのない隔離マシン上の RCE は、スキャナが何と言おうと重大ではありません。
ほとんどの報告書が飛ばす部分
良い報告書は、何がテストされなかったかと、その理由も伝えます。スコープの境界、除外されたシステム、結局届かなかった認証情報、期間中 2 日間停止していた環境。それらの空白はあなたが背負い続けるリスクであり、隠せば報告書は見栄えが良くなり、あなたはより危うくなります。
持ちこたえた防御についても書かれるべきです。WAF がインジェクションを防ぎ、EDR がペイロードを止めたなら、それは記録に残す価値があります。あなたが費用を払ったものであり、効いていることを示せてしかるべきです。
再テストは仕事のうち
指摘が閉じるのは、チケットが閉じたからではありません。誰かがもう一度その悪用を試み、失敗したからです。自社の指摘の検証に別途課金する会社は、この関係に持ち込んでほしくない動機を抱えています。再テストは含まれるべきで、再発行された報告書には検証日とともに取り消し線が引かれているべきです。
短いチェックリスト
- 物語として書かれた連鎖的な攻撃経路が少なくとも一つあるか。
- エンジニアは質問なしで最上位の指摘を再現できるか。
- 各修正はファイル、設定、ヘッダーを名指ししているか。
- スコープ外・未テストの内容を説明する節があるか。
- 再テストは含まれているか。いつまでに行われるか。
- 重大な指摘はテスト中に伝えられたか、それとも最終報告会まで温存されたか。
最後の一点は、他のすべてを合わせたよりも重要です。テスターが 2 日目に進行中の侵害やインターネットに露出した重大な脆弱性を見つけたなら、あなたは 1 時間以内に知るべきです。3 週間後に PDF で知るのは報告スタイルではありません。怠慢です。