Upgrade to Pro — share decks privately, control downloads, hide ads and more …

セキュアな Cookie の使い方

セキュアな Cookie の使い方

Murachi Akira

October 23, 2022
Tweet

More Decks by Murachi Akira

Other Decks in Technology

Transcript

  1. About me • Murachi Akira aka hebikuzure ( 村地 彰

    ) • 株式会社エクシードワン 技術フェロー • 株式会社シーピーエス 技術教育スペシャリスト • 専門学校東京テクニカルカレッジ非常勤講師 • Microsoft MVP (Most Valuable Professional) • Since Apr. 2011 ( 12 Years! ) • Award Category: Windows and Device for IT • Expertise • Windows client / user management and security • Microsoft 365, Active Directory, Microsoft Endpoint Manager https://www.linkedin.com/in/akiramurachi/ https://www.facebook.com/amurachi/ https://twitter.com/hebikuzure Murachi Akira aka Hebikuzure 2 23 Oct. 2022
  2. Cookie の安全性 •Cookie は HTTP ヘッダー •HTTP ヘッダーはテキスト • ヘッダー自体は平文でやりとりされる

    •JavaScript からの読み書きも可能 • Document.Cookie プロパティ Murachi Akira aka Hebikuzure 5 23 Oct. 2022
  3. SameSite属性 •Cookieの送信を同一サイト内遷移に制限する • Set-Cookie: flavor=choco; SameSite=Strict Cookieは同じサイト内からのリクエストでのみ送信される • Pros •

    CSRF対策として有効 • Cons • Strictの場合、クロスサイト リクエストでCookieが送信されないのでユー ザーエクスペリエンスが劣化する (サインイン済みサイトへ別サイト内のリンクから遷移するとサインインして いない状態になる) Murachi Akira aka Hebikuzure 16 23 Oct. 2022
  4. SameSite属性の動作 SameSite属性 リクエストの発生場所 Cookie発行サイト Cookie発行サイト以外 トップレベルナビゲーショ ンでGETリクエスト それ以外 Strict 送信される

    送信されない 送信されない Lax 送信される 送信される 送信されない None 送信される 送信される 送信される • モダン ブラウザーの既定値はSameSite=Lax • Noneの場合はSecure属性必須 Murachi Akira aka Hebikuzure 17 23 Oct. 2022
  5. 参考情報(1) • HTTP Cookie の使用 - HTTP | MDN (mozilla.org)

    https://developer.mozilla.org/ja/docs/Web/HTTP/Cookies • Set-Cookie - HTTP | MDN (mozilla.org) https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Set-Cookie • SameSite cookies - HTTP | MDN (mozilla.org) https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Set-Cookie/SameSite • IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第4章 セッション対策: セッション乗っ取り:#1 セッションIDとセッションID侵害手口 https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/302.html • IPA ISEC セキュア・プログラミング講座:Webアプリケーション編 第4章 セッション対策: セッション乗っ取り:#3 https:の適切な適用 https://www.ipa.go.jp/security/awareness/vendor/programmingv2/contents/304.html Murachi Akira aka Hebikuzure 19 23 Oct. 2022
  6. 参考情報(2) • HTTPSを使ってもCookieの改変は防げないことを実験で試してみた | 徳丸浩の日記 https://blog.tokumaru.org/2013/09/cookie-manipulation-is-possible-even-on-ssl.html • クロスサイトスクリプティング(XSS)対策としてCookieのHttpOnly属性でどこまで安全になるのか https://www.youtube.com/watch?v=4JREwhSC2dQ •

    とある通販サイトに学ぶ自動ログイン機能のバッドプラクティス | 徳丸浩の日記 https://blog.tokumaru.org/2022/03/blog-post.html • ウェブセキュリティのありがちな誤解を解説する (slideshare.net) https://www.slideshare.net/ockeghem/phpconf2020 • Strict-Transport-Security - HTTP | MDN (mozilla.org) https://developer.mozilla.org/ja/docs/Web/HTTP/Headers/Strict-Transport-Security • コンテンツセキュリティポリシー (CSP) - HTTP | MDN (mozilla.org) https://developer.mozilla.org/ja/docs/Web/HTTP/CSP Murachi Akira aka Hebikuzure 20 23 Oct. 2022