『Webブラウザセキュリティ』
https://gyazo.com/e057b84731a7e61bc63ba52254bb272d
2021/1/15発行
仕様に忠実なので信頼できる
場合分けが明瞭でわかりやすい
ちゃんと構造化されているので理解しやすい
ラボ環境
security系のsample codeあるの助かるmrsekut.icon
序文
「Webセキュリティ」を
「Webシステムのセキュリティ」と
「Webブラウザのセキュリティ」にわけて考える
後者の関心は以下の4つに集約される
リソース間の論理的な隔離をどう実現するか
2章
リソース間のプロセスレベルの隔離をどう実現するか
3章
Cookieをどうセキュアに取り扱うか
4章
出入りするリソースの信頼性をどう確保するか
5章
第1章 WebとWebセキュリティ
URL/HTTP/HTMLの基本的なことの概要
clientとserverに分けた時に、
後者のセキュリティに関する本は
などがある
一方で、client側や、client/serverを繋ぐ部分のセキュリティの本はあまりない
この本がそれに相当する
だからタイトルが「Webブラウザセキュリティ」のようになってる
第2章 Origin を境界とした基本的な機構
CORSの設定を入れて、見れるようになるのかの確認をしたmrsekut.icon
この辺の質問に答えられるか?
Allowヘッダなどを設定したがiframeで取得したものにJSでアクセスできないのはなぜか?
なぜPreflight requestが必要なのか?
Simple RequestにPOSTが含まれているのはなぜか?
CSRFのためのSimple Requestということであれば、POSTもpreflightした方がいいはず
第3章 Webブラウザのプロセス分離によるセキュリティ
ここからmrsekut.icon
3.1 Webブラウザが単一のプロセスで動作することの問題
3.2 プロセスを分離した場合の問題
3.3 Process-per-Browsing-Instanceモデルに対する攻撃
3.4 Process-per-Site-Instanceモデルとその補助機能
3.5 まとめ
途中まで読んだmrsekut.icon
4.2 属性によるCookieの保護
4.3 Cookieの性質が引き起こす問題とCookieの今後
4.4 まとめ
第5章 リソースの完全性と機密性に関連する機構
clientに届くresourceが改善されていないという保証はない
その辺のセキュリティの話が5章の内容
web browserに届くresourceの完全性と機密性に関して
届いた時点で汚染されていれば、browser内のセキュリティ対策は意味をなさない
CSPとか徹底していても、「信頼できるresource」として解釈される
XSSも簡単に仕込まれることになる
完全性や機密性が損なわれるパターン
通信経路中に攻撃者が存在する
配信元のserverが脆弱である
これらの問題に対してweb browserができること
機密性
通信経路
セキュアな通信を使うように働きかける
server
無理
完全性
通信経路
セキュアな通信を使うように働きかける
server
受け取ったデータの完全性を可能な範囲で検証する
5.4 Webブラウザが受け取るデータの完全性とSRI 5.6 まとめ
第6章 攻撃手法の発展
ここからmrsekut.icon
6.1 3種類の攻撃手法
6.2 CSP下でのXSS
6.5 まとめ