脆弱性診断のレポートは読めても、実際に攻撃者がどこから調べ、どうやって弱点をつなげて目的に届くのかは、頭の中で想像するしかない。攻撃の流れを体験していないと、指摘された脆弱性の優先度を、開発チームに説得力をもって伝えにくい。『実践 Webペネトレーションテスト 攻撃者の視点で学ぶWebアプリケーションセキュリティ』は、ラボ環境を自分で用意して、偵察から攻撃までを順に試していける本だ。
まずラボを作るところから始まる
第1部は実践編で、Webペネトレーションテストのラボ環境の構築から入る。そのあと偵察活動としてアタックサーフェスを調べ、アプリケーションへの攻撃で脆弱性を調査し、複数の脆弱性を組み合わせた攻撃シナリオの実行へ進んでいく。診断の工程が一本の流れとしてつながっている。
発展編では、ソースコードとクラウドにも視点が広がる
第2部の発展編には、ソースコード解析による脆弱性調査、クラウドサービスの調査、制限の回避と突破が並ぶ。Webアプリだけでなく、周辺のクラウドや実装まで含めて攻める側の視点で見直せる構成になっている。なお、試すのは自分で用意したラボ環境の中だけにとどめるのが前提だ。
読んでおきたい理由
- 偵察の章を読むと、公開されている情報から攻撃面がどう見えてしまうのかを、自分のサービスに当てはめて考えられる
- 脆弱性の調査の章が、診断ツールの結果をうのみにせず確認するときの視点になる
- 複数の脆弱性を組み合わせる攻撃シナリオを知ると、単体では低リスクに見える指摘の扱い方が変わる
- ソースコード解析の章が、コードレビューでセキュリティを見るときの観点につながる
- クラウドサービスの調査の章を通して、アプリ単体ではなく環境全体の守りを見直すきっかけになる
まとめ
攻撃の流れを一度でも手元で再現しておくと、セキュリティの指摘を自分の言葉で説明できるようになる。まずは本書のラボ環境を用意するところまで進めて、偵察の章から順番に試してみてほしい。