フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識(平野 昌士 はせがわ ようすけ 後藤 つぐみ)|翔泳社の本
  1. ホーム >
  2. 書籍 >
  3. フロントエンド開発のためのセキュリティ入門 知らなかったでは済まされない脆弱性対策の必須知識

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


監修
監修

形式:
書籍
発売日:
ISBN:
9784798169477
定価:
2,970(本体2,700円+税10%)
仕様:
B5変・264ページ
カテゴリ:
Webプログラミング
キーワード:
#Web・アプリ開発,#プログラミング,#ネットワーク・サーバ・セキュリティ,#開発手法
紙の書籍

Webアプリケーションの堅牢化に欠かせない知識を凝縮!
セキュリティ学習のスタートに最適の一冊!

本書は、安全なWebアプリケーションを開発するための基本知識を、フロントエンドエンジニア向けに解説したセキュリティの入門書です。

これまでWebアプリケーションの開発で、セキュリティは「バックエンドの仕事」というイメージの強い領域でした。しかし、アプリケーションの安全性を高めるためには、フロントエンドエンジニアにも、セキュリティの基礎知識や具体的な対策の実践が求められます。

本書では、Webセキュリティの必須知識である「HTTP」「オリジン」などの基礎トピックや、「XSS」「CSRF」といったフロントエンドを狙ったサイバー攻撃の仕組みを、サンプルアプリケーションを舞台にしたハンズオンで学びます。

もちろん、攻撃からユーザーを守る防御の手法もしっかりおさえます。個々の攻撃手法に応じた対策のほか、「認証機能の実装」「JavaScriptライブラリの安全な使い方」など、開発現場で役立つ実践的な脆弱性対策もカバーしているので、自分の開発で取り入れられるセキュリティ向上のヒントが多く見つかるはずです。

■目次
第1章 Webセキュリティ概要
第2章 本書のハンズオンの準備
第3章 HTTP
第4章 オリジンによるWebアプリケーション間のアクセス制限
第5章 XSS
第6章 その他の受動的攻撃(CSRF、クリックジャッキング、オープンリダイレクト)
第7章 認証・認可
第8章 ライブラリを狙ったセキュリティリスク
Appendix 本編では扱わなかったトピックの学習

【著者】
●平野 昌士
サイボウズ株式会社 フロントエンドエンジニア
JSConf JPスタッフや関西Node学園といったコミュニティの運営を行う傍ら、OSS活動にも取り組んでおり、Node.js Core Collaborator(コミッター)に選出されている。WebとJavaScriptが好きでブログや雑誌の記事執筆、イベントでの講演など多数。

【監修】
●はせがわ ようすけ
株式会社セキュアスカイ・テクノロジー 取締役CTO
Internet Explorer、Mozilla FirefoxをはじめWebアプリケーションに関する多数の脆弱性を発見。 Black Hat Japan 2008、韓国POC 2008、2010、OWASP AppSec APAC 2014、CODE BLUE 2016他講演多数。

●後藤つぐみ
株式会社セキュアスカイ・テクノロジー セキュリティエンジニア
脆弱性診断業務に従事する傍らで、同社内の脆弱性診断員に向けた業務マニュアルの作成およびレビューをリードする。

画像01
画像02

第1章 Webセキュリティ概要
1.1 なぜセキュリティ対策を行うのか
1.2 Webの脆弱性の種類と傾向

第2章 ハンズオンの準備
2.1 準備をはじめる前に
2.2 Node.jsの設定
2.3 Node.js + Expressを使ったHTTPサーバの構築

第3章 HTTP
3.1 HTTP基礎
3.2 HTTPのハンズオン
3.3 安全な通信のためのHTTPS

第4章 オリジンによるWebアプリケーション間のアクセス制限
4.1 アプリケーション間でのアクセス制限の必要性
4.2 同一オリジンポリシー(Same-Origin Policy)による保護
4.3 同一オリジンポリシーによる制限のハンズオン
4.4 CORS(Cross-Origin Resource Sharing)
4.5 CORS ハンズオン
4.6 postMessageを使ったiframeをまたいだデータの送信
4.7 プロセス分離によるサイドチャネル攻撃の対策

第5章 XSS
5.1 能動的攻撃と受動的攻撃
5.2 XSS
5.3 XSS対策のハンズオン
5.4 Content Security Policy(CSP)を使った XSS 対策
5.5 CSPの設定ハンズオン

第6章 その他の受動的攻撃(CSRF、クリックジャッキング、オープンリダイレクト)
6.1 CSRF
6.2 CSRF対策のハンズオン
6.3 クリックジャッキング
6.4 クリックジャッキング対策のハンズオン
6.5 オープンリダイレクト
6.6 オープンリダイレクト対策のハンズオン

第7章 認証・認可
7.1 認証と認可の違い
7.2 認証機能のセキュリティリスク
7.3 アカウント作成フォーム実装ハンズオン
7.4 ログイン情報の漏えいに注意する

第8章 ライブラリを狙ったセキュリティリスク
8.1 ライブラリの利用
8.2 ライブラリに潜むセキュリティリスク
8.3 ライブラリ利用のセキュリティ対策

Appendix 本編では扱わなかったトピックの学習
A.1 さらにセキュリティを学ぶには
A.2 HTTPSハンズオン

付属データはこちら

お問い合わせ

内容についてのお問い合わせは、正誤表、追加情報をご確認後に、お送りいただくようお願いいたします。

正誤表、追加情報に掲載されていない書籍内容へのお問い合わせや
その他書籍に関するお問い合わせは、書籍のお問い合わせフォームからお送りください。

利用許諾に関するお問い合わせ

本書の書影(表紙画像)をご利用になりたい場合は書影許諾申請フォームから申請をお願いいたします。
書影(表紙画像)以外のご利用については、こちらからお問い合わせください。

追加情報はありません。

ご購入いただいた書籍の種類を選択してください。

書籍の刷数を選択してください。

刷数は奥付(書籍の最終ページ)に記載されています。

現在表示されている正誤表の対象書籍

書籍の種類:

書籍の刷数:

本書に誤りまたは不十分な記述がありました。下記のとおり訂正し、お詫び申し上げます。

対象の書籍は正誤表がありません。

最終更新日:2023年08月02日
発生刷 ページ数 書籍改訂刷 電子書籍訂正 内容 登録日
1刷 005
1.2.1 セキュリティガイドラインから見る脆弱性の種類と傾向
3刷
●「安全なウェブサイトの作り方」(情報処理推進機構)
●「安全なウェブサイトの作り方」(情報処理推進機構(IPA))
2023.07.04
1刷 008
第1章【参考資料】 1行目、8行目
3刷
1行目 IPA(2019)「システム構築の上流工程強化(非機能要求グレード)」 8行目 IPA(2021)「安全なウェブサイトの作り方」
1行目 情報処理推進機構(IPA)(2019)「システム構築の上流工程強化(非機能要求グレード)」 8行目 情報処理推進機構(IPA)(2021)「安全なウェブサイトの作り方」
2023.07.04
1刷 047,048
●通信データの暗号化
2刷
「●通信データの暗号化」の内容を差し替えます。 お手数をおかけいたしますが、差し替え後の内容は以下からダウンロードしていただきますよう お願いいたします。 47.48ページ

※リフローEPUBの場合「第3章 HTTP」の「3.3 安全な通信のためのHTTPS」の「3.3.2 HTTPの弱点を解決するTLS」内に該当箇所があります。
2023.05.18
1刷 049
●通信データの改ざんチェック
2刷
以下の内容に差し替えます。
 TLSはデータに改ざんがないことをチェックするための機能も備えています。暗号化された データの中身を見ることができなくても、攻撃者には暗号文の改ざんができる余地がありま す。安全にデータのやりとりをするためには、改ざんがなかったことを検証しなければいけま せん。そのためにTLSでは「認証タグ」と呼ばれる検証用のデータを使います。認証タグは データの暗号化と同時に作成され、通信相手に送信されます。受け手は復号と同時に認証タグ を使って暗号文の改ざんをチェックします。もし改ざんがあった場合、そのデータは使われず にエラーとなって通信は終了します。また、改ざんのチェックはHTTP通信中だけでなくTLS ハンドシェイク中の通信でも行われます。

※リフローEPUBの場合「第3章 HTTP」の「3.3 安全な通信のためのHTTPS」の「3.3.2 HTTPの弱点を解決するTLS」内に該当箇所があります。
2023.05.18
1刷 056
第3章【参考資料】 上から10行目、下から2行目
3刷
上から10行目 Mozilla(n.d.)「Secure contexts - Web security | MDN」 下から2行目 独立行政法人情報処理推進機構セキュリティセンター(2020)「TLS 暗号設定ガイドライン」
上から10行目 Mozilla「Secure contexts - Web security | MDN」 下から2行目 情報処理推進機構(IPA)(2020)「TLS 暗号設定ガイドライン」
2023.07.04
1刷 056
第3章【参考資料】 1行目
2刷
上野宣(1981)『HTTPの教科書』翔泳社
上野宣(2013)『HTTPの教科書』翔泳社

※リフローEPUBの場合「第3章 HTTP」の「3.3 安全な通信のためのHTTPS」の
「3.3.6 HSTSを利用してHTTPS通信を強制する」内に該当箇所があります。
2023.02.13
1刷 073
下から2行目
Cross-Origin Recource Sharing
Cross-Origin Resource Sharing
2023.08.02
1刷 098
第4章【参考資料】 上から16行目、下から20行目、下から5行目、下から2行目
3刷
上から16行目 中川博貴「crossorigin属性の仕様を読み解く」 下から20行目 Understanding "same-site" and "same-origin" 下から5行目 中川博貴「V8とBlinkのアーキテクチャ」 下から2行目 Mike Conca「Changes to SameSite Cookie Behavior - A Call to Action for Web Developers」
上から16行目 中川博貴(2021)「crossorigin属性の仕様を読み解く」 下から20行目 Eiji Kitamura(2020)「Understanding "same-site" and "same-origin"」 下から5行目 中川博貴(2021)「V8とBlinkのアーキテクチャ」 下から2行目 Mike Conca(2020)「Changes to SameSite Cookie Behavior - A Call to Action for Web Developers」
2023.07.04
1刷 156
第5章【参考資料】 9行目
3刷
IPA(2013)「IPAテクニカルウォッチ『DOM Based XSS』に関するレポート」
情報処理推進機構(IPA)(2013)「IPAテクニカルウォッチ『DOM Based XSS』に関するレポート」
2023.07.04
1刷 192
第6章【参考資料】 7~8行目
3刷
Salesforce(2020)「Google Chromeブラウザリリース84はSameSite Cookieの動作を変更し、Salesforceインテグレーションに影響を与える可能性があります」
Salesforce(2020)「Google Chrome Browser Release 84 Changes SameSite Cookie Behavior and Can Break Salesforce Integrations」
2023.07.04
1刷 251
索引 か行の項目
2刷
共通鍵暗号方式‥‥‥‥47 公開鍵暗号方式‥‥‥‥47
上記の項目を削除します。

※リフローEPUBの場合、索引にページ数は記載されていません。
2023.05.18