フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識

フロントエンドカイハツノタメノセキュリティニュウモン シラナカッタデハスマサレナイゼイジャクセイタイサクノヒッスチシキ

フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識の表紙
インターネット / WEB デザイン
著者:
平野 昌士 / はせがわ ようすけ / 後藤 つぐみ(ヒラノ マサシ / ハセガワ ヨウスケ / ゴトウ ツグミ)
出版社:
翔泳社
出版日:
2023年02月13日
ISBN:
9784798169477
在庫:
在庫あり
4(2 件 / 楽天ブックス)
中級者向け
セキュリティ脆弱性サイバーセキュリティ認証フロントエンドXSSCSRFHTTPオリジンJavaScriptセキュリティ

なぜ注目されているか

言及数
315位
総合594位 ↑ 4 ランクアップ 言及 9 件
出版前出版日04720222023202420252026

書籍紹介

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 件)

この本は技書デッキのカードです (備え 4 / 流儀: 弱体を突く) 図鑑でこの本を見る

この本に興味がある方におすすめ

関連する本

関連記事

関連用語

共有: