フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識
フロントエンドカイハツノタメノセキュリティニュウモン シラナカッタデハスマサレナイゼイジャクセイタイサクノヒッスチシキ
- 著者:
- 平野 昌士 / はせがわ ようすけ / 後藤 つぐみ(ヒラノ マサシ / ハセガワ ヨウスケ / ゴトウ ツグミ)
- 出版社:
- 翔泳社
- 出版日:
- 2023年02月13日
- ISBN:
- 9784798169477
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
Web アプリケーションの堅牢化に欠かせない知識を凝縮! 本書は、安全な Web アプリケーションを開発するための基本知識を、フロントエンドエンジニア向けに解説したセキュリティの入門書です。Web セキュリティの必須知識である「HTTP」「オリジン」などの基礎トピックや、「XSS」「CSRF」といったフロントエンドを狙ったサイバー攻撃の仕組みを、サンプルアプリケーションを舞台にしたハンズオンで学びます。もちろん、攻撃からユーザーを守る防御の手法もしっかりおさえます。個々の攻撃手法に応じた対策のほか、「認証機能の実装」「JavaScript ライブラリの安全な使い方」など、開発現場で役立つ実践的な脆弱性対策もカバーしているので、自分の開発で取り入れられるセキュリティ向上のヒントが多く見つかるはずです。解説はセキュリティを学ぶのが初めての人でも読み進められるよう、基本的な用語からひとつずつ丁寧に説明しています。また取り上げるトピックも、フロントエンドエンジニアが最低限おさえておくべき内容に厳選しました。対象読者ー業務経験 1〜3 年目のフロントエンドエンジニア、Web セキュリティを学び始めたい Web エンジニア、Web アプリケーションの具体的なセキュリティ対策を手を動かしながら学びたい人。
技書の森解説
Web アプリケーションの安全性を、フロントエンドエンジニアの側から学ぶための入門書です。『フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識』 (平野 昌士 著、はせがわ ようすけ、後藤 つぐみ 監修、翔泳社、2023 年 2 月 13 日発売) は、HTTP やオリジンといった基礎から、XSS や CSRF のようにフロントエンドを狙う攻撃の仕組みと防御の手法までを、サンプルアプリケーションを舞台にしたハンズオンで学ぶ構成です。版元は、セキュリティはこれまで「バックエンドの仕事」というイメージの強い領域だったとしたうえで、フロントエンドエンジニアにも基礎知識と具体的な対策の実践が求められると紹介しています。
全 8 章と Appendix の構成、セキュリティ概要からライブラリまで
第 1 章「Web セキュリティ概要」でセキュリティ対策を行う理由と Web の脆弱性の種類と傾向を押さえ、第 2 章「ハンズオンの準備」で Node.js の設定と、Node.js と Express を使った HTTP サーバーの構築を行います。第 3 章「HTTP」は HTTP の基礎とハンズオンに続いて、安全な通信のための HTTPS を扱います。第 4 章「オリジンによる Web アプリケーション間のアクセス制限」は、同一オリジンポリシーによる保護と制限のハンズオン、CORS とそのハンズオンを経て、postMessage を使った iframe をまたいだデータの送信、プロセス分離によるサイドチャネル攻撃の対策へ進みます。
第 5 章から第 8 章で学ぶ攻撃の仕組みと防御のハンズオン
第 5 章「XSS」は能動的攻撃と受動的攻撃の区別から始まり、XSS 対策のハンズオンと、Content Security Policy (CSP) を使った対策と設定のハンズオンを扱います。第 6 章「その他の受動的攻撃 (CSRF、クリックジャッキング、オープンリダイレクト)」は、3 つの攻撃のそれぞれについて解説と対策のハンズオンを組にしています。第 7 章「認証・認可」は認証と認可の違い、認証機能のセキュリティリスク、アカウント作成フォームの実装ハンズオン、ログイン情報の漏えいへの注意を扱います。第 8 章「ライブラリを狙ったセキュリティリスク」はライブラリの利用とそこに潜むリスク、利用時の対策を扱い、Appendix「本編では扱わなかったトピックの学習」にはさらに学ぶための案内と HTTPS のハンズオンが置かれています。第 3 章から第 7 章までの各章にハンズオンの節があり、読んだ仕組みをその場で動かして確かめる流れです。
ブラウザーの側で守る理由と、依存ライブラリという弱点
ブラウザーは、読み込んだページの中で動くスクリプトに、そのページと同じ権限を与えます。外部から スクリプトを注入する攻撃 が成立すると、利用者の画面に表示された情報や操作の権限がそのまま攻撃者の手に渡るのはこのためです。ブラウザーがオリジンという単位で読み書きできる範囲を区切っているのは、サイトどうしが互いの情報に勝手に触れないようにするためで、CORS はその制限を、サーバー側の明示的な許可によって必要な分だけ緩める手段です。画面の組み立てがブラウザー上の JavaScript に移った構成では、サーバー側の入力検査だけでは塞ぎきれない弱点が生まれ、フロントエンドの開発者が自分のコードの中で防御を考える必要が出てきます。
フロントエンドの開発では、パッケージ管理の仕組みから取り込んだ多数のライブラリが、動くコードの大半を占めることも珍しくありません。自分で書いていないコードに紛れ込んだ悪意や脆弱性を、取り込みの段階から管理する考え方は サプライチェーンセキュリティ と呼ばれ、依存関係の更新や検査の仕組みづくりまでを含みます。
業務経験の浅いフロントエンドエンジニアに向く理由
楽天ブックスの書誌の紹介文は、対象読者を業務経験 1〜3 年目のフロントエンドエンジニア、Web セキュリティを学び始めたい Web エンジニア、Web アプリケーションの具体的なセキュリティ対策を手を動かしながら学びたい人としています。同じ紹介文は、基本的な用語から説明し、取り上げるトピックをフロントエンドエンジニアが最低限おさえておくべき内容に絞ったとも述べています。刊行時の著者紹介によれば、平野 昌士 はサイボウズ株式会社のフロントエンドエンジニアで、監修の 2 人は株式会社セキュアスカイ・テクノロジーに所属しています。ハンズオンは、第 2 章で Node.js と Express を使って構築する HTTP サーバーの上で進みます。一方で、Appendix の題が示すとおり本編で扱わなかったトピックもあり、脆弱性診断の手法を体系的に学びたい人には別の本が要ります。
XSS や CSRF の名前は知っていても、自分のアプリのどこで何をすれば防げるのかが曖昧なままの人にとって、攻撃の仕組みと対策を同じサンプルアプリケーションの上で確かめられるのが本書の価値です。使っているフレームワークが何であっても、ブラウザーが何を守り何を守らないかという土台は共通なので、日々の実装の判断に直接返ってくる一冊です。ほかのセキュリティ書との組み合わせ方は Web 開発者のためのセキュリティ本の選び方 で整理しています。
言及した記事 (9 件)
Webエンジニアが2023年に読んだ本
♡ 3プログラミング, アジャイル, 読書, まとめ, 書籍フロントエンドを軸としたwebセキュリティ学習まとめ⑤ | 〜CSP(Content Security Policy)〜
♡ 1HTML, JavaScript, Security, 初心者向け, 中級者向け令和6年度秋期 情報処理安全確保支援士試験に合格した感想
♡ 1資格, #情報処理技術者試験, #情報処理安全確保支援士, #支援士, #SEshopフロントエンドを軸としたwebセキュリティ学習まとめ⑦ | 〜認証・認可とセキュアな実装〜
♡ 0HTML, JavaScript, Security, 初心者向け, 中級者向けフロントエンドを軸としたwebセキュリティ学習まとめ⑥ | 〜CSRF、クリックジャッキング、その他の攻撃〜
♡ 0HTML, JavaScript, Security, 初心者向け, 中級者向けフロントエンドを軸としたwebセキュリティ学習まとめ④ | 〜XSS(クロスサイトスクリプティング)〜
♡ 0HTML, JavaScript, Security, 初心者向け, 中級者向けフロントエンドを軸としたwebセキュリティ学習まとめ③ | 〜サイドチャネル攻撃とSite Isolation〜
♡ 0HTML, JavaScript, Security, 初心者向け, 中級者向けフロントエンドを軸としたwebセキュリティ学習まとめ② | 〜オリジンとCORS〜
♡ 0HTML, JavaScript, Security, 初心者向け, 中級者向けフロントエンドを軸としたwebセキュリティ学習まとめ① | 〜Web通信の基礎知識〜
♡ 0HTML, JavaScript, Security, 初心者向け, 中級者向け
この本は技書デッキのカードです (備え 4 / 流儀: 弱体を突く) 図鑑でこの本を見る
この本に興味がある方におすすめ
関連する本
関連記事
セキュリティ本ガイド - Web 開発者が読むべき技術書の選び方
Web セキュリティの基礎から実践まで学べる技術書の選び方マトリクスと、読了後にやるべき 3 つのアクションを紹介します。
AWS 本の選び方 - 全体像 / 構築 / 設計 / 運用 / セキュリティの 5 視点
AWS を学ぶ技術書の選び方を「全体像 / 構築 / 設計 / 運用 / セキュリティ」の 5 視点で整理。公式ドキュメントと本の役割分担、資格対策書の位置づけまで、2026 年 8 月時点の定番書で AWS 独学のルートを解説します。
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。