Webブラウザセキュリティ ― Webアプリケーションの安全性を支える仕組みを整理する(電子書籍のみ)
通常価格
¥2,500(税込¥2,750)
特別価格
- PDFのみの提供です
- 紙書籍も必要な場合は、こちらからお得なセットをお求めください
- 紙書籍のみを差額等でお求め頂くことはできません
ブラウザの視点で学ぶセキュリティ
現代のWebブラウザには、ユーザーがWebというプラットフォームを安全に利用できるように、さまざまなセキュリティ機構が組み込まれています。
- リソース間に境界を設定し、アプリケーションに制限を課す機構(Origin、SOP、CORS、CSPなど)
- Webブラウザの動作をOSのプロセスレベルで考察することで役割が理解できる機構(CORB、CORP、Fetch Metadataなど)
- 通信路や受け取ったデータの状態に関するもの(HSTS、SRIなど)
- 現在のWebアプリケーションにとって不可欠なCookieに関するセキュリティ機構
こうしたセキュリティ機構のほとんどは、Webブラウザを開発する人やセキュリティの専門家が知っていればいいものではありません。
アプリケーション開発者が、自分のアプリケーションで正しく利用したりデプロイしたりすることではじめて効果を発揮し、そのユーザーを守るのに役立つものです。
とはいえ、アプリケーションを開発する立場では、これらの機構が単にアプリケーションの制約や複雑さを増す要素にしか思えない場合もあるでしょう。
バイパスされたり、弱めた状態で利用されたり、あるいは一種の「おまじない」として扱われている場合さえあるかもしれません。
本書は、これら「現代のWebブラウザが備えていてアプリケーション開発者にも理解が求められる多様なセキュリティ機構」について、一つひとつ丁寧に整理して解説するものです。 そもそもどんな脅威に対抗するためのセキュリティ機構なのか、現在の形でWebブラウザに導入されているのはなぜか、攻撃者がさらに対抗してくる可能性はないのか、リファレンスなどを通じて使い方を調べるだけでは理解しにくい背景まで掘り下げて説明しています。
攻撃者とWebブラウザ開発者たちとのせめぎ合いの歴史から、Webセキュリティについての理解を深める一冊です。
著者紹介
米内貴志
2017年より東京大学理学部情報科学科在学中。2019年より株式会社Flatt Securityにてプロダクト開発とWebシステムに関するセキュリティ技術の研究に従事。一般社団法人セキュリティ・キャンプ協議会やSECCON実行委員会の一員として、情報セキュリティ技術の教育活動や、CTF(セキュリティ技術を競うコンテスト)の開催、運営にも参画している。
目次
序文
本書を読み進める前に
本書を読むにあたって
サンプルコードと動作環境を手に入れる
開発者ツールに慣れ親しむ
第1章 WebとWebセキュリティ
1.1 Webを構成する基本の3つのコンポーネント
1.2 プラットフォームとしてのWeb
1.3 Webセキュリティ
1.4 サーバーサイドWebシステムのセキュリティ
1.5 クライアントサイドWebシステムのセキュリティ
1.6 まとめ
第2章 Origin を境界とした基本的な機構
2.1 Webリソース間の論理的な隔離にむけて
2.2 OriginとSame-Origin Policy(SOP)
2.3 CORS(Cross-Origin Resource Sharing)
2.4 CORSを用いないSOPの緩和方法
2.5 SOPの天敵、XSS(Cross-Site Scripting)
2.6 CSP(Content Security Policy)
2.7 Trusted Types
2.8 まとめ
第3章 Webブラウザのプロセス分離によるセキュリティ
3.1 Webブラウザが単一のプロセスで動作することの問題
3.2 プロセスを分離した場合の問題
3.3 Process-per-Browsing-Instanceモデルに対する攻撃
3.4 Process-per-Site-Instanceモデルとその補助機能
3.5 まとめ
第4章 Cookie に関連した機構
4.1 Cookieの導入の動機
4.2 属性によるCookieの保護
4.3 Cookieの性質が引き起こす問題とCookieの今後
4.4 まとめ
第5章 リソースの完全性と機密性に関連する機構
5.1 問題と脅威の整理
5.2 HTTPSとHSTS
5.3 Mixed Contentと安全でないリクエストのアップグレード
5.4 Webブラウザが受け取るデータの完全性とSRI
5.5 Secure Context
5.6 まとめ
第6章 攻撃手法の発展
6.1 3種類の攻撃手法
6.2 CSP下でのXSS
6.3 Scriptless Attack
6.4 サイドチャネル攻撃
6.5 まとめ
あとがき
参考文献
索引