web-dev-qa-db-ja.com

クッキーを保護するものは何ですか?

クッキーが盗まれるのを防ぐものは何ですか?結局のところ、それらは単なるテキストファイルです。誤動作しているブラウザは、Webマスターが望む多くの情報をあきらめる可能性があります。ブラウザが要求した場合に、ブラウザが別のドメインから自分のWebサイトにCookieを提供しないことをどのように知ることができますか?

6
Moshe

つまり、サイトAのCookieがサイトBによって読み取られないことを保証するのは、いわゆる同一生成元ポリシー(SOP)によって提供されます。これはブラウザセキュリティの実装です。確かに、コードインジェクションの場所(XSSなど)がある場合、攻撃者はCookieを盗むことができますが、それは別の範囲です。その場合、クライアントはサードパーティによるCookieの取得を「許可」します(ただし、ユーザーは認識しません)。

さらに、Michal Zalewskiのブラウザセキュリティブック、または少なくともその章を読むことを強くお勧めします: http://code.google.com/p/browsersec/wiki/Part2#Same-Origin_policy_for_cookies 。また、Cookieに関する素敵な投稿は彼自身からのものです: http://lcamt​​uf.blogspot.com/2010/10/http-cookies-or-how-not-to-design.html

ここからのこの質問リンクに関連するいくつかの良い点: Cookieが暗号化されたhttpsでのみ送信され、httpでは送信されないことを確認するにはどうすればよいですか? および ブラウザはまだクロスサイトクッキングに対して脆弱ですか?

7
anonymous

SOPに加えて、CookieはHTTPのみとしてマークできます。これは、JavascriptがCookieにアクセスできないことを意味します。したがって、CookieをXSS攻撃から保護し、セキュアとしてマークすることもできます。これは、Cookieが提供されるだけであることを意味します。 HTTPS接続。Firesheepのようなスニッフィングから保護します。

もちろん、これはすべて、ブラウザがそれを正しく取得し、場合によってはそれをサポートすることに依存しています。たとえば、Safariは最初のいくつかのバージョンでHTTPのみのCookieをサポートしていませんでした。

0
blowdart