File tree Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Expand file tree Collapse file tree 1 file changed +4
-4
lines changed Original file line number Diff line number Diff line change @@ -31,9 +31,9 @@ Google ChromeとMicrosoft Edgeには、SameSite属性が未指定の場合に限
3131### Firefox
3232Firefoxは2022年1月11日にGoogle Chromeと同様にSameSite属性のデフォルトの挙動をLaxに変更しました。しかし、Firefox 96.0.3以降においてSameSite属性のデフォルトの挙動は従来の仕様であるNoneに戻されたようです。(※5、※6)
3333
34- 実際に2024年のバージョン(129.0.1)においてもSameSite属性を指定しない場合にはNoneが設定されており、クロスサイトリクエストでもCookieが送信される可能性があります 。しかし、いくつかのケースではCookieは保護されており実際に影響のあるものは送信されないようになっています。これは、Firefoxで包括的Cookie保護によるブラウザ機能がデフォルトで有効になっているためです。(※7)
34+ 実際に2024年のバージョン(129.0.1)においてもSameSite属性を指定しない場合にはNoneが設定されており、クロスサイトリクエストでもCookieを送信する可能性があります 。しかし、いくつかのケースではCookieは保護されており実際に影響のあるものは送信されないようになっています。これは、Firefoxで包括的Cookie保護によるブラウザ機能がデフォルトで有効になっているためです。(※7)
3535
36- 包括的Cookie保護では、各サイトごとに個別に管理するCookieを分離することで防御を行っています 。ただし、formによる操作などユーザによる操作が発生する場合は、Cookieが送信されてしまうので注意してください。
36+ 包括的Cookie保護では、各サイトごとに個別に管理するCookieを分離することで防御しています 。ただし、formによる操作などユーザによる操作が発生する場合は、Cookieが送信されてしまうので注意してください。
3737
3838また、Firefoxではブラウザのデフォルトの設定によりSameSite属性がNoneでもサードパーティCookieは送信されません。(※8)
3939
@@ -58,12 +58,12 @@ SafariではSameSite属性はデフォルトの設定ではNone相当で扱わ
58581 . 明示的にSameSite属性を指定しており、LaxやStrictを付与しているか
59592 . GETリクエストを状態更新に関わるAPIで利用していないか
6060
61- 1を確認する理由は、SameSite属性を指定しない場合、その挙動は利用者のブラウザの種類やバージョン、設定に依存し、コンテンツ提供側で制御できないためです。その結果、状況によってはCSRFが発生してしまう可能性があります 。ですので、明示的にSameSite属性でLaxやStrictを設定されているかを確認するのが大切です。特にGoogle ChromeやMicrosoft Edgeでは、明示的にSameSite属性を指定しないと発行されてから2分間はCookieが送信されるため注意が必要です。2分間という制約があり現実での悪用は難しいですが、この懸念についても明示的に設定することで排除できます。また、SameSite属性が有効な場合でもサブドメインに脆弱性があるケースや中間者攻撃ができる場合には回避されるケースがあるようため注意してください。(※13)
61+ 1を確認する理由は、SameSite属性を指定しない場合、その挙動は利用者のブラウザの種類やバージョン、設定に依存し、コンテンツ提供側で制御できないためです。その結果、状況によってはCSRFが発生してしまいます 。ですので、明示的にSameSite属性でLaxやStrictを設定されているかを確認するのが大切です。特にGoogle ChromeやMicrosoft Edgeでは、明示的にSameSite属性を指定しないと発行されてから2分間はCookieが送信されるため注意が必要です。2分間という制約があり現実での悪用は難しいですが、この懸念についても明示的に設定することで排除できます。また、SameSite属性が有効な場合でもサブドメインに脆弱性があるケースや中間者攻撃ができる場合には回避されるケースがあるようため注意してください。(※13)
6262
63632は、SameSite属性でLaxを利用している場合に問題となり得ます。LaxではGETリクエストかつトップレベルナビゲーションのリクエストの際にはCookieを送信します。そのため、GETによりデータを更新するような実装がされている場合には、CSRFが発生します。ですので、GETリクエストを利用して状態更新をするようなAPIが実装されていないかについて確認する必要があります。
6464
6565## 対策
66- デフォルトのブラウザの挙動によりCSRFから守られるケースはありますが、明示的に対策を行なっていく必要があります 。具体的には下記のような対策を組み合わせて対応する必要がありそうです。
66+ デフォルトのブラウザの挙動によりCSRFから守られるケースはありますが、明示的に対策を行っていく必要があります 。具体的には下記のような対策を組み合わせて対応する必要がありそうです。
6767
6868* SameSite属性に明示的にLaxやStrictを設定する
6969* データの変更に関わるリクエスト操作ではGETを使わずPOSTを利用する
You can’t perform that action at this time.
0 commit comments