PR:この記事にはアフィリエイトリンクが含まれます。
Webセキュリティの本、何から読めばいいのか迷いますよね。OWASP Top 10や認証・認可、入力検証、脆弱性診断と、実務で向き合うテーマは幅広いものです。
ここでは、安全なコードを書く基礎からID機能の設計、ブラウザ防御、攻撃を再現する診断まで、役割の異なる4冊を紹介します。担当する業務に近い領域から読めるようまとめました。
早見表
まずは各書籍の得意分野を見てみましょう。開発全体を見渡せる本もあれば、認証やブラウザなど特定の仕組みを深く扱う本もあります。
| 書籍 | 主な内容 | ページ数 |
|---|---|---|
体系的に学ぶ 安全なWebアプリケーションの作り方 第2版 | 脆弱性の原理と対策、実習 | 688 |
はじめてのデジタルアイデンティティ ―Webサービスに欠かせない認証・認可・ID管理 | 認証・認可・ID管理 | 160 |
Webブラウザセキュリティ ― Webアプリケーションの安全性を支える仕組みを整理する | Cookie、CORS、CSPなど | 224 |
実践 Webペネトレーションテスト ―攻撃者の視点で学ぶWebアプリケーションセキュリティ | 脆弱性診断の実習 | 372 |
ページ数は本の読みごたえを想像する目安です。全体を扱う本から入り、担当する機能の専門書を加えると、学んだ内容を実装に結びつけやすくなります。
OWASP Top 10
OWASP Top 10は、Webアプリで特に注意したいリスクを共有する資料です。すべての攻撃を網羅する規格ではありません。チームで脅威を話し合う共通語として使うと、実務に取り入れやすいでしょう。
カテゴリ名を丸暗記するより、自分のサービスに当てはめて考えてみましょう。「誰がどのデータを操作できるか」「入力値はどこで別の意味に解釈されるか」と問い直すと、確認点が見えてきます。
OWASP Top 10は版によってカテゴリ名やまとめ方が変わります。古い版を扱う本からは脆弱性の原因と対策を学び、分類や推奨項目は現行のOWASP公式資料で確かめるのが堅実です。
『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版』は、OWASP Top 10 2017などを反映しています。現行版の一覧を覚える本というより、原因と防御の基本をつかむ一冊ですね。
実装の注意点
脆弱性は、値そのものより、値を信頼して処理する境界で生まれます。検索語をSQLとして実行したり、投稿文をHTMLとして動かしたりする場面を見落とさないようにしましょう。
SQLにはプレースホルダー付きクエリを使います。画面に出す文字列は出力先に応じてエンコードします。入力を検証すればすべて防げる、とはいかないところがあります。
プロフィール欄なら、許可した形式の値だけを受け入れ、画面に表示するときも適切に処理します。入力検証と出力エンコードは別の役割なので、両方を組み合わせましょう。
セキュアコーディングはAPIの呼び出し方だけでは終わりません。最小権限や秘密情報の管理、エラー時の挙動も設計に含めます。機能を変えたときは対策が崩れていないか見直してください。
認証と認可
認証は利用者が誰かを確かめる仕組みで、認可はその人に何を許すかを決めます。ログインに成功しても、他人の情報を見られるわけではありません。
画面からボタンを隠すだけでは、認可の対策として不十分です。APIがリクエストを受けるたびに、対象データと利用者の関係をサーバー側で確かめてください。
ID管理は登録やログインで終わりません。再認証、パスワード再設定、アカウント復旧、無効化、退会までを一続きで設計します。例外経路に弱点が潜むこともあります。
多要素認証やパスキーを導入しても、セッション管理やアクセス制御は別に設計する必要があります。認証方式とログイン後の権限確認、それぞれの役割を押さえましょう。
入力と出力
入力検証では文字列の長さや型、範囲と許可形式をサーバー側で確かめます。画面の入力欄に制限を付けても、直接送信されたリクエストは止められません。
許可リストを基本にすると検証しやすくなります。会員番号が数字だけならその形式を確認し、極端に長い値や予想外の文字を拒否します。
ブラウザの防御も実装に欠かせません。Cookieの属性やCORS、CSPはそれぞれ役割が異なり、CORSを利用者のアクセス権限を確かめる仕組みとして使うことはできません。
『Webブラウザセキュリティ ― Webアプリケーションの安全性を支える仕組みを整理する』では、OriginとSame-Origin Policy、CORS・CSP・Cookie・HSTS・SRIを扱います。ブラウザの安全機能を整理したい開発者におすすめです。
実務へつなぐ
本で学んだ対策は、コードレビューやテストに取り入れると定着します。正常に動くかだけでなく、権限のない利用者や想定外の入力、期限切れのセッションも確認しましょう。
ログには認証の失敗や権限エラーを記録しつつ、パスワードやトークンなどの秘密情報は残さないようにします。調査に必要な情報と漏らしてはいけない情報を分けておくためです。
リリース前に診断しても、安全がずっと続くわけではありません。機能追加や権限変更のたびに脆弱性が入り込む経路を見直すことが、実務の習慣になります。
徳丸本で基礎固め
『体系的に学ぶ 安全なWebアプリケーションの作り方 第2版』は、脆弱性が生じる原理から機能別のセキュリティバグ、文字コード、脆弱性診断の入門まで扱います。Webアプリ開発者が参照しやすい一冊です。
実習環境も用意されており、解説を読むだけでなく攻撃と対策を動かして確かめたい人にもおすすめです。Docker版は公式サポートサイトで案内されています。
全688ページで、参考価格は税込3,520円です。実売価格は時期や販売店によって変わります。Webセキュリティの基礎を広く学ぶ人に、私はまずこの本をおすすめします。
ID設計を学ぶ
『はじめてのデジタルアイデンティティ ―Webサービスに欠かせない認証・認可・ID管理』は、認証に加えてアクセス制御やセッション管理も学びたい人におすすめです。パスワード、OTP、多要素認証、パスキー、OpenID Connectを扱います。
登録、ログイン、ログアウト、アカウント復旧、退会まで、利用者がサービスを使い始めてから離れるまでの流れを追えます。認証まわりの例外処理を整理したいときにも参考になります。
160ページで読み進めやすく、参考価格は税込2,420円です。実売価格は時期や販売店によって変わります。認証やID管理を担当するエンジニアにおすすめの一冊です。
ブラウザ境界を知る
『Webブラウザセキュリティ ― Webアプリケーションの安全性を支える仕組みを整理する』は、Origin、Same-Origin Policy、CORS、CSP、Cookie、HSTS、SRIなどを扱います。ブラウザの安全機能を学びたい開発者におすすめです。
サンプルコードがあり、紙書籍にはPDFが付属します。全224ページで、CSP下のXSSやScriptless Attackも取り上げています。ブラウザ側の制御を考える手がかりになるでしょう。
APIの挙動ばかり追っていると、ブラウザが守る範囲を誤解しがちです。CookieやCORSの設定を担当する人や、フロントエンドとバックエンドの境界を整理したい人に役立ちます。
攻撃を再現する
『実践 Webペネトレーションテスト ―攻撃者の視点で学ぶWebアプリケーションセキュリティ』は、攻撃者の視点から脆弱性を探る実習書です。DockerとBurp Suiteでテストラボを構築し、認証突破や認可制御の不備、SQLインジェクションなどを試します。
XSS、SSRF、XXE、OSコマンドインジェクションに加えて、複数の脆弱性を組み合わせるシナリオも扱います。攻撃が成立する条件と影響を体験すると、レビューで確かめる点も具体的になります。
全372ページで、参考価格は税込4,840円です。実売価格は時期や販売店によって変わります。脆弱性診断を学ぶ人や、防御側として攻撃の流れを理解したい人におすすめです。実習は用意された環境で行いましょう。
結論
Webアプリ開発の基礎を広く学ぶなら、私はまず徳丸本をおすすめします。認証・認可の設計が中心課題ならID設計の本を、ブラウザの制御を理解したいならブラウザセキュリティの本を選んでください。
診断の実践や攻撃シナリオを自分で確かめたい人には、ペネトレーションテストの本がおすすめです。担当する範囲に合わせて一冊から読み始め、必要に応じて基礎本と専門書を組み合わせましょう。
OWASP Top 10は版や分類が更新されるため、書籍で仕組みを学びながら現行の項目を公式資料で確かめてください。対策をコードレビューやテストに反映すれば、学んだ知識を実務に生かせます。
Amazon の PC をスコア化してみた
Amazonにある8〜14インチの小型WindowsタブレットやノートPCを、スペック別にスコア化して比較・ランキング。





