実装手法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/16 01:57 UTC 版)
ケンブリッジ大学のセキュリティ研究者、Richard Claytonは、公表を前提としたPhormとの会合に出席し、彼らの広告システムがどのような方法で実現されているかについて発表した。 Phormのシステムは、多くのウェブサイトと同様に、HTTP cookieを使用してユーザーの設定を保存する。同社によると、最初のウェブのリクエストは、システム内で3回リダイレクトされ(HTTP 307応答を使用して)、その結果、cookieを調べてユーザーがオプトアウトしたかどうかを判断できるという。そして次に、システムは、ユニークなPhorm用追跡識別子(UID)をユーザーに設定(またはすでに存在している場合はそれを収集)して、リクエストしたウェブサイトから発行されたcookieであるかのように偽装したcookieをユーザーのブラウザに追加する。 Claytonは、「Stealing Phorm Cookies」というタイトルの分析で、Phormのシステムは、訪問されるそれぞれのウェブサイトごとに、トラッキングcookieをユーザーのPCに保存するが、そのそれぞれは、そのユーザーのUIDの同一コピーになっていることを示した。Phormのシステムは、可能なら、httpリクエストがインターネットを経由してウェブサイトのサーバーに転送される前に、そのトラッキングcookieを取り除くが、httpsでリクエストがウェブサイトに送信されるときには、UIDを取り除くことができない。このことは、ウェブサイトが、訪問者に関して収集する様々な詳細情報を、訪問者のUIDと紐付けることを可能にする。 PhormのMarc Burgess技術上級副社長は、収集される情報にはタイムスタンプも含まれていると話している。Burgessは次のように話した。「これは将来広告を正確にターゲティングするのに必要な情報ですが、a)あなたが誰であるか、また、b)あなたがどこから閲覧したかを見出すために使用することはできません」。
※この「実装手法」の解説は、「Phorm」の解説の一部です。
「実装手法」を含む「Phorm」の記事については、「Phorm」の概要を参照ください。
実装手法
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/07/03 06:12 UTC 版)
「SYN cookies」の記事における「実装手法」の解説
SYN cookies を使ったサーバは、通常の (SYN flood 攻撃を受けていない) 状態では他のサーバと同じようにふるまい、SYN パケットがひとつくるごとに記憶領域を割り当てる。しかし他のサーバは SYN flood 状態 (割り当てるべき領域が不足した状態) になるとクライアントからの SYN パケットを捨ててしまうのに対して、SYN cookies を使ったサーバは SYN flood 状態になると 記憶領域を割り当てずに SYN ACK パケットを返す。このとき SYN ACK に含まれる TCP シーケンス番号は以下のような特別な方法で計算される: 最初の5ビット: t mod 32 の値 (t は 現在までの経過時間を表すカウンタで、64秒ごとに増加する)。 次の 3ビット: その TCP 接続に利用する MSS (Maximum Segment Size) 値をエンコードしたもの。あらかじめサーバで取り決めておいた 8種類の値からクライアントの要求にもっとも近いものを使用する。 次の 24ビット: クライアント・サーバの各IPアドレスと TCPポート番号、および t の値をサーバ側の一方向ハッシュ関数でハッシュ化したもの。このサーバ側の関数はクライアントからは知ることができない。 この方法で計算されたシーケンス番号は、サーバ側の t を含んだ一方向ハッシュ関数で計算された値を含んでいるため、クライアントが勝手に偽装することはできない (クライアントはハッシュを計算するための秘密の初期値を探索せねばならず、しかもこの値は時間によって変化するので値を大量に収集し記憶しても約 1分後には使えなくなってしまう)。また、この番号は TCP の MSS値に関する情報を含んでいるので、クライアントが正しく ACKパケットを返してきた際には、サーバはたとえ元のクライアントの MSS 要求値を覚えていなくても、それに近い値を利用することができる (ただし、MSS 以外の TCP 関連のオプションはすべて無視されてしまう)。さらに、ここで t は 64秒間のあいだ不変であるので、t の変わらない間に返されてきた ACK パケットのシーケンス番号であれば、(クライアントとサーバが同じ t を共有しているため) サーバはシーケンス番号を正しくチェックできる。こうしてサーバが記憶領域を割り当てなくても、安全な TCP 接続が可能になる。
※この「実装手法」の解説は、「SYN cookies」の解説の一部です。
「実装手法」を含む「SYN cookies」の記事については、「SYN cookies」の概要を参照ください。
- 実装手法のページへのリンク