◆ 事実確認 今回確認した事実についての再現方法について説明します。確認には異なるドメインのWebサーバが2つ必要です。ここでは、www.on-sky.netとwww.example.comを使うことにします。www.on-sky.netはGoogle Analyticsを使ってアクセス解析を行っているサイト、www.example.comは単にwww.on-sky.netにリンクを張っているだけのサイトで、ここではGoogle Analyticsは利用していないとしましょう。 まず、アクセス解析のために、www.on-sky.netには次のようなファイルを置きます。 http://www.on-sky.net/gaum_test.html <HTML>

<HEAD>

<TITLE>GAUM test</TITLE>

</HEAD>

<BODY>

Google Analytics Urchin Module test<br>

<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">

</script>

<script type="text/javascript">

_uacct = "";

urchinTracker();

</script>

</BODY> このままではwww.google-analytics.comに解析用のアクセスが飛んでしまうので、実際には確認用のサーバにリクエストが飛ぶように修正します。 次に、www.example.com上に、www.on-sky.netの解析用ページへのリンクを含むページを置きます。 http://www.example.com/gaum_link.html <HTML>

<HEAD>

<TITLE>GAUM link</TITLE>

</HEAD>

<BODY>

<A HREF="http://www.on-sky.net/gaum_test.html? t4=d&t5=f&t6=g ">on-sky</A>

</BODY>

</HTML> 赤字の部分はGETリクエストのオプションで、通常はこんなことはしないでしょうが、後で説明をはしょるためにつけています。 これで、準備はできましたので、ブラウザを使って以下の(オプション付きの)URLにアクセスします。 http://www.example.com/gaum_link.html? t1=a&t2=b&t3=c& すると、www.on-sky.net上の解析スクリプトを埋め込んだページへのリンクが表示されるので、クリックしてそのページへと飛びます。 このとき、解析用のサーバwww.google-analytics.comに送信されるリクエストは以下のようになります。 GET /on-sky.jpg?

utmwv=1& 常に"1"(バージョン情報？) utmn=1985892416& 毎回生成される乱数 utmcs=Shift_JIS& 文字コード utmsr=1600x1200& 画面サイズ utmsc=32-bit& 色数 utmul=ja& 言語 utmje=1& Javaアプレットの実行(有効:1, 無効: 0) utmfl=9.0%20%20r28& Flashのバージョン utmdt=GAUM% 20test& ページタイトル utmhn=www.on-sky.net& サイト名 utmr=http://www.example.com/utm_test.html? t1=a&t2=b&t3=c & リファラ utmp=/gaum_test.html? t4=d&t5=f&t6=g & ページのパス utmac=& Google Analyticsのアカウント名 utmcc=(省略) ファースト・パーティCookie これで判るとおり、Google Analyticsを利用しているwww.on-sky.netのパスだけでなく、そこに単にリンクを張っているだけのwww.example.comについても、青字で示したオプション部分を含めた完全なURLが、リファラ情報としてwww.google-analytics.comに送信されます。

◆ じゃあどうする Googleには修正する意思は無い、IPAもその判断を支持する、といった結論が出た以上、私には、ウェブサイトの運用者が、Google Analyticsがこれまでに説明したような情報を収集しているということを理解し、サイトの訪問者に対して、説明責任を果たす。サイトの訪問者はその説明を理解して、ウェブサイトを閲覧するかどうか判断する。というぐらいしか対策は思いつきません。 もうひとつ重要な点は、URLに直接的な個人情報や、セッションID等の個人情報にたどり着ける情報を含めるような実装は、Google Analyricsがある限りは絶対にやってはならない手法になったということです。 股引きになってしまいますが、高木＠自宅の日記の「携帯電話向けWebアプリの脆弱性事情はどうなっているのか」というエントリによると、WEB+DB PRESS誌のVol.37には、以下のような記述があるそうです。 セッション

PCサイトでセッションを使う場合は，通常セッションIDをCookieに保存しますが，携帯ブラウザではCookieにデータを保存することができません．そこで携帯サイトでCookieを使う場合はURLにセッションIDを埋め込むことになります． こうした実装のサイトが、Google Analyticsを利用している場合だけでなく、Google Analyticsを利用しているサイトに対してリンクを貼るだけで、セッションIDはGoogleという第3者へと漏洩します。さらに悪いことに、トレンドマイクロのケースとは違い、Google Analyticsではリファラやページのパス等のデータを平文でwww.google-analytics.comに対して送信しますので、www.google-analytics.com宛のHTTPパケットを監視するだけで、そうした情報は簡単に盗聴できてしまいます。 また、個人的には、リンクを張った先のサーバにリファラ情報が送信されるのと、リンクを貼るという行為によってリンクを張った先ではない第3者(Google)にリファラ情報が送信されるというのとでは、まったく次元が異なる話だと感じています。 ちなみに、私が調べた範囲では携帯電話にはリファラを送信するものと送信しないものがあるようです。GoogleやIPAの弁に従えば、現在の状況では、そうした携帯の挙動について完全に把握し、絶対にセッションID等がGoogleという第3者に漏れないようにする責任は、ウェブサイトの運用者にあります。 もうひとつ付け加えると、GoogleはGoogle Analyticsによって収集した情報の利用目的を明確にしていません。少なくとも私には、プライバシーポリシーはすぐに見つけられましたが、Analyticsで収集したデータの取り扱いに関する記述は1つも見つけることができませんでした。Google Analyticsをその利用者(サイト運営者)の視点から見ると、自分の管理するサイトを訪れた人の数や行動についての分析結果を無料で得られるという魅力的なサービスに映ります。また自分のサイトの訪問者について、そうした分析を行うことや、分析を委託することについてはなんら問題は感じません。それはあくまで個々のサイトという点の中に閉じた話ですから。 しかしながら、Googleはそうした点の情報を無料という餌でかき集め、リファラという点どうしを結びつけることが可能な情報まで現に収集しています。Google Analyticsを利用するサイトが増えればその分精度は上がっていきますので、このまま「無邪気」なサイトが増え続ければ、ウェブに関しては、個人のインターネット上での全ての行動を正確に把握できる情報を収集するといった夢物語が、現実になる日もそう遠くは無いでしょう。しかもそうした情報の取り扱いについて、Googleは誰にも何の意思表示もしていないのです。私の知る限りでは。