2009年2月21日土曜日

(続)ネットとプライバシー

前日の「ネットとプライバシー」で書いたように、IP アドレスや使用ブラウザ・OSといったこちら側の情報は元来、公開を前提として相手側サーバに送信されるものであり、個人情報としては非常に限られているため、あまり気にする必要はないものです。

そうは言っても、中には職場からこっそり仕事に無関係のサイトにアクセスしているような訳ありの人もいるでしょう。
官庁のような堅い職業の人が勤務中ムフフなサイトにアクセスし、書き込みなどしたところ、アクセスログからそのことが判明して大問題になったケースもあったようです。

通常アクセスログから個人は特定できないといっても、それは本名や住所・電話番号などの実生活につながる個人情報のことで、掲示板やブログにコメントした人の IP アドレスとアクセスログの IP アドレスを照合して、その人のアクセスパターンを知るというような形での特定なら可能かもしれません。

たとえ実害はないにしても、なんとなく陰から行動を監視されているようでイヤ、という人はいるのではないでしょうか。
私自身、かつて mixi の足あと機能が非常にうっとうしく感じた経験があるので、その気持ちは分からなくもありません。

プライバシーポリシーのはっきりしない個人運営のサイトに自分のアクセスログが残ることに抵抗を感じる人もいるでしょう。
できることならアクセス先のサイトやブログがアクセス解析を付けているかどうか、知っておきたいと思う人もいると思います。

この点について津村さんという方が非常に詳しい考察をされていました。

津村さんによれば、アクセス解析を利用しているページは閲覧者の Cookie に書き込みをすることが多いため、ブラウザの設定で Cookie の書き込みに対し「ダイアログを表示する」設定にすればアクセス解析を見つけやすいとのことでした。

ただ、すべてのアクセス解析が Cookie に書き込みをするとは限らず、また Cookie に書き込みされたからといって必ずしもアクセス解析であるとは限らないものです。

そこでページの HTML ソースを調べてアクセス解析のプログラムなりサービスなりにリンクしている URL を見つける方法を紹介されています。

しかしこの方法は非常に手間がかかる上、仮にアクセス解析へのリンクが見つかっても、それが正常に動作しているかどうかは分かりません。
長く放置されているページなどでは、アクセス解析がすでに機能していなかったり、Internal Server Error を来しているというケースもよくあります。

そこで、簡単かつ確実にアクセス解析を見破りたいという人には TCP Explorer を使ってみることをお勧めします。

このソフトはWWWブラウザのネットアクセスも追跡しますから、或るページを開いて、それがアクセス解析のサーバーを呼び出していれば一瞬にして検出します。


呼び出されたサーバーがエラーなく応答しているかどうかも応答ヘッダを見れば一目瞭然です。


[> www-google-analytics.l.google.com ]
HTTP/1.1 200 OK
Pragma: no-cache
Cache-Control: private, no-cache, no-cache="Set-Cookie", proxy-revalidate
Expires: Fri, 04 Aug 1978 12:00:00 GMT
Content-Type: image/gif
Last-Modified: Fri, 02 Nov 2007 00:36:01 GMT
Date: Sat, 21 Feb 2009 05:41:07 GMT
Server: ucfe
Content-Length: 35


上記は Google Analytics からの応答の例です。

こうしたことは通常、ブラウザの画面ばかり眺めていては決して分からないことです。

単にアクセス解析を見破るという目的だけでなく、私たちのコンピュータとネットとの間で私たちが気づかない間にどんなやり取りがなされているかを検出する意味でも TCP Explorer は有効なツールだと思います。

2009年2月20日金曜日

ネットとプライバシー

インターネットを利用することで他の人々と簡単にメッセージを交わせるようになっただけでなく、世界中のコンピュータから様々な情報を取り込んで閲覧することが可能になりました。

自分のローカルディスクの中だけでは僅かしかない情報量を、制限付きながらも何百倍にも拡大できるようになったわけです。

しかしネット上の情報を閲覧するという行為は、実は相手方のサーバに情報を要求してダウンロードすることを意味します。

情報を得るためには、まずこちら側の情報を提供しなければないないというギブ・アンド・テイクの関係がインターネットにはあります。

テレビのように、飛んで来る電波をなにげにキャッチして見ている、みたいな感覚でインターネットを捉えると、とんでもない目にあいます。

ウェブの場合、情報を要求する際のフォーマットが HTTP ヘッダという形で決まっていて、このフォーマットを守ってリクエストを送信しないと、相手サーバも適切な応答を返してきません。

そしてこのヘッダを通じて、要求する URL のほか、URL のリンク元(Referer)や、送信に使用したクライアントソフト(User-Agent)、受け容れる言語(Accept-Language)、等々こちら側の情報が送信されているのです。

リクエストを受け取ったサーバ側はヘッダの情報を記録しておき、CGI や PHP といったプログラムが HTTP 環境変数という形式でこれらの情報を参照できる仕組みになっています。

実際にどのくらいのことが分かるかは、以下のサイトを見れば歴然でしょう。

但し HTTP ヘッダの中身はクライアントソフトの自己申告であるため、ソフトの設定によっては偽装も可能です。

これに対してリモート IP アドレスや リモートホスト名は ISP(プロバイダ)によって割り当てられるため、プロキシサーバを通すなどしなければごまかせません。

気になるのはクッキー(HTTP Cookie)の部分でしょう。
これは HTTP ヘッダを見ると、ちゃんと送信されているのが分かります。無論、サーバ側から要求がなければ送信することはありません。
言い換えれば、送信ヘッダをチェックすることで、いつクッキーの情報が外部に送信されたか分かるわけです。

ネットの初心者が上記のようなサイトを見ると、自分側の情報がいろいろ表示されて怖くなるかも知れませんが、実はそのほとんどがこちら側から送信されているものであって、決してウィルスのようにこちらのコンピュータに侵入して情報を盗み出しているわけではありません。

リモート IP アドレスでさえ、せいぜいクライアントが利用するプロバイダの最寄りのコンピュータの場所が分かるくらいで、クライアントの個人名や住所などが知られることは通常ありません。言わばハガキの消印のようなものです。

今や個人のサイトやブログでさえ、アクセス解析を利用してアクセスしてきた人のデータを収集するのが普通の時代です。自分自身がネット上に自分の個人情報を書き込むような不用心なことをしない限り、あまり神経質になる必要はないでしょう。

どうしても気になるのなら、ブラウザの設定で JavaScript や Cookie を使用不可にし、画像も非表示、ついでにプロキシを通すなどの方法はありますが、こうすると逆に利用できなくなるサービスも多くなり、自分にとって両刃の剣となることを覚悟しなければなりません。

2009年2月18日水曜日

ページランク

WWWブラウザにグーグル・ツールバーをインストールすると、訪れたサイトによってはページランクが表示されます。主として被リンク数のデータに基づき、独自のアルゴリズムを使ってウェブページを0~10の数値でランク付けするあれです。

グーグルがクローリングのデータによって作成したデータベースに、ツールバーがその都度アクセスしているのだろうということは容易に想像できますが、実際はどのように行われているのでしょうか。

グーグル・ツールバーをインストールしたブラウザを使っている環境で TCP Explorer を開始させておくと、サイトを開くたびにブラウザが toolbarqueries.l.google.com というホストにアクセスするのが分かります。


<クライアントからのリクエスト>
GET /search?client=navclient-auto&iqrn=4OfB&orig=0_szm&ie=UTF-8&oe=UTF-8&querytime=cBB&features=Rank:&q=info:http%3a%2f%2fwww.yahoo.com%2f&googleip=O;74.125.153.103;204&ch=70703901413 HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 5.0.2124.6042; Windows XP 5.1; MSIE 7.0.5730.11)
Host: toolbarqueries.google.co.jp
Connection: Keep-Alive
Cache-Control: no-cache
Cookie: PREF=ID=318bb5da3163af26:FF=4:TB=4:LD=ja:NR=100:TM=1110454899:LM=1234563637:C2COFF=1:DV=AA:IG=3:S=H6l1TP-k-1SoFnM-; NID=19=Lv4w2qSCwkAHQQ55Zn12aW-sLh0kKOBbgw_PevxaLTZHoYnKwRCMr1eGnelaUcF16NbLbmecJy_AQjrqTBXYehOZE2X-SLyjGgXuNJqYH0mJUtRtBFNafcA5Wrx7gwIW; MPRF=H4sIAAAAAAAAAKs4cHHu_zPKvxiZOBi6mBgmMSkYYAWGKYZpyYapSSZJAN2E7royAAAA; SID=DQAAAHgAAAC_lTxp4F2T9mtC0X6G1_Jto97fTBLS0n1Qj22Ug7r-hSftv-fyl_pfbCjhjleWHlenZjiv5YcbUSKbX38zr0sRYw8Pu4oUzycmSwuZUAbukW5LILcgW2on_CqdndVce4TNAY-20iBmpC_tIBibNGGSRFNHF5pcqZbySneoXCKJyA



<toolbarqueries.l.google.com からの応答>
HTTP/1.1 200 OK
Cache-Control: private, max-age=0
Date: Tue, 17 Feb 2009 22:30:50 GMT
Expires: -1
Content-Type: text/html; charset=UTF-8
Server: gws
Transfer-Encoding: chunked

b
Rank_1:1:9

0


これは http://www.yahoo.com をブラウザで開いた場合の結果ですが、日本語環境なのでリクエスト先ホストは toolbarqueries.google.co.jp になっていて、ここに

/search?client=navclient-auto&iqrn=4OfB&orig=0_szm&ie=UTF-8&oe=UTF-8&querytime=cBB&features=Rank:&q=info:http%3a%2f%2fwww.yahoo.com%2f&googleip=O;74.125.153.103;204&ch=70703901413

というデータが GET 送信されています。

toolbarqueries.l.google.com からは応答ヘッダに続いて

Rank_1:1:9

というデータが返ってきています。これはページランク 9 という意味です。
すごい数字ですね (@@)

(但しブラウザでは http://www.yahoo.com/ から http://www.yahoo.com/?r986=1234918181 にリダイレクトされるため、ツールバーにはランクが出ません。)

グーグル・ツールバーは毎回このようにして toolbarqueries.l.google.com にページランクの問い合わせをしているのだと知って、一つ勉強になりました。

実際、普通にブラウザのアドレスに

http://toolbarqueries.google.co.jp/search?client=navclient-auto&iqrn=4OfB&orig=0_szm&ie=UTF-8&oe=UTF-8&querytime=cBB&features=Rank:&q=info:http%3a%2f%2fwww.yahoo.com%2f&googleip=O;74.125.153.103;204&ch=70703901413

と入れてやってみても同じデータが返ってきます。

ツールバーからの送信でないことは向こうにはバレバレなはずですが、別にツールバーからでなくてもいいよ、ということなんでしょう。

「ページランク」で検索すると、ツールーバーなしにページランクを表示してくれるサービスがいっぱいヒットするのも、これで頷けます。

このブログはまだ開始したばかりで訪れる人もほとんど無く、それどころかサーチエンジンさえクローリングしていない現状なので、ページランクは 0 です。ふふふ。

いつか人並みにページランク 3 くらいになる日が来るんでしょうか。
それまでこのブログが続いていたらの話ですが。