web-dev-qa-db-ja.com

CookieをIPに関連付けることで、Cookieの乗っ取りを防止できないのはなぜですか?

私はCookieと、それらを誤解し、Cookieのハイジャックを可能にするすべての方法について読み始めました。これにより、攻撃者はログインしたユーザーになりすますなどの操作を実行できます。

サーバーに各Cookieに、残りのCookieによって決定される署名、サーバー上の秘密鍵、およびリクエストを送信しているユーザーのIPを追加するだけではこれを解決できない理由がわかりません。盗まれたCookieは、そのIPで応答を受信できない人にとってはほとんど役に立ちません。盗まれたCookie自体の読み取り可能なデータにはアクセスできますが、盗まれたCookieを使用して他人になりすますことはできません。

なぜこれが機能しないのですか?制御していないIPアドレス宛のパケットを受信する方法はありますか?私のローカルネットワークでは、ローカルネットワーク上の他のコンピューター向けのパケットを読み取ることができますが、stackoverflow.com向けのすべてのパケットのコピーを住宅用IPに送信する方法はないと思います。

これが私たちの唯一のセキュリティ手段である場合、スプーフィングされた要求を送信することはできますが、サーバーをだまして自分のIPに何も送信しないようにすることはできません(私はそう思います)。

GoogleでcookieとIPを関連付けることについて何も見つからなかったので、これが機能しないと思いますが、その理由はわかりません。

7
Praxeolitic

CookieがパブリックWifiホットスポット内で盗まれる場合、ホットスポットのすべてのユーザーは通常同じパブリックIPアドレスを持っています。つまり、IPにバインドしても、同じローカルネットワーク内の攻撃者には役立ちません。

それとは別に、ユーザーのパブリックIPがネットワーク間(モバイル、WLAN大学、カフェでのWLAN、自宅でのWLANなど)で移動する場合のように変化する場合、ユーザーは何度もログインする必要があります。

21
Steffen Ullrich

Steffen Ullrich氏は、セキュリティ上の疑わしい利益について正解です。実際に実装しない理由は、マルチホームNATボックスがXコンピュータをN個のIPアドレスに削減する(X >> N))の以前の普及によるものです。これが機能する方法の副作用は、次のリクエストが同じサブネット内の別のIPから送信され、CIDRによりサブネット境界がどこにあるかわからなくなります。

2
Joshua

ある種のアプリケーションを見ている場合に備えて、セッションの期間中、IPに基づいて関連付け、一定期間後にそれを期限切れにして期限切れにすることができます。銀行取引のようなものに長期間従事しないことはかなり確実ですが、ソーシャルサイトのようなものではかなり緩いです。

0
m2kin2