2008年10月17日(金曜日)
MT管理画面の件がJVNで公開
更新: 2008年12月3日15時55分頃
JVNで以下の情報が公開されました。
- JVN#81490697 Movable Type におけるクロスサイトスクリプティングの脆弱性 (jvn.jp)
- JVNDB-2008-000072 Movable Type におけるクロスサイトスクリプティングの脆弱性 (jvndb.jvn.jp)
この情報公開に伴い、過去の日記に対して追記・修正を行いました。
MT4.22 にこの修正が含まれているようですね。
※2008-12-03追記: しかし、実はこの修正は不完全で、まだ脆弱性が残っていました。MT4.23でさらに修正されています。たぶん関連: 「なかなか直らないMovable TypeのXSS脆弱性の訳 (rryu.sakura.ne.jp)」。
※……また別途追記するかも。
関連する話題: Web / セキュリティ / IPA / JPCERT/CC / 情報セキュリティ早期警戒パートナーシップ / Movable Type
visited疑似クラスのビーコンを拾うサービスが登場
「行動ターゲティング広告はどこまで許されるのか (it.nikkei.co.jp)」。
行動ターゲティング広告は以前から存在していたが、今年の動向として新しいのは、行動を追跡する手段として、自サイトでの閲覧行動だけでなくよそのサイトでの閲覧行動まで追跡するタイプが現れたことだ。
(~中略~)
仕組みはこうだ。Webページのリンクは標準では青色で表示されるが、訪問済みのリンクは紫色に変わる。このリンクの表示色をJavaScriptなどのプログラムで取得することができれば、閲覧者が特定のサイトに行ったことがあるか否かを調べることができてしまう。
以前、津田ふみかさんがご指摘されていた話ですね。実際に悪用(?)する人が現れたようで……。
仕組みはとても単純で、以下のようにすれば簡単に情報が取得できます。
<style type="text/css> #sita-A a:visited{background:url("/beacon/site-A.gif")} #sita-B a:visited{background:url("/beacon/site-B.gif")} </style> <ul> <li id="sita-A"><a href="http://other-company.example.com"></a></li> <li id="sita-B"><a href="http://rival-company.example.com"></a></li> </ul>
これで /beacon/site-B.gif がアクセスされたら、そのユーザは http://rival-company.example.com にアクセスしたことがあると分かるわけです。
これ、確かに問題はあると思うのですが、実装のミスによるバグというわけではではなく、仕様どおりの動作なのですよね。対策は難しいと思うのですが、どうなのでしょう。軽く考えてみると……。
- 「:link や :visited で画像を指定していても無視する」……これは誰でもすぐに思いつくでしょうけれども、JSで画像以外のスタイルの変化を検出して送信することができますから、対策にならないのです。
- 上記の対応かつ「:visitedのスタイルが適用されている要素にはJSからアクセスできなくする」……というのも、残念ながら対策になりません。たとえば width が変化すれば先祖のコンテナの width に影響が及びますから、そちらを検出して送信できます。
- さらに「JS の getComputedStyle に相当する機能を完全に無効にする」……と、ここまでやれば良いのかもしれませんが、これはいろいろなサイトで残念な事が起きそうな気がします。
- 「外部のドメインへのリンクについては :visited に対応しない」……思い切った対策ですが、場合によってはユーザビリティやアクセシビリティの低下を招きます。外部サイトへのリンクだけが対象なのでそれほど酷いことにはならない? ……これはサイトによるでしょうね。サービスごとにドメインを分けているようなサイトはつらいでしょう。
Bugzillaの「Bug 147777 - :visited support allows queries into global history (bugzilla.mozilla.org)」では 2002年から議論が続いているものの、いまだに決定版と言える対策は打ち出されていないように思えます……。
※2010-04-03追記: Firefoxでは、:visitedでは色だけしか変えられない、といった対策を実施するようです……「次期Firefoxでは:visited疑似クラスのスタイルが制限される」。
- 前(古い): 2008年10月16日(Thursday)のえび日記
- 次(新しい): 2008年10月18日(Saturday)のえび日記