Cookieの技術が登場した当時から、セキュリティに対する認識はあった。しかし、現在ほど重要視されておらず、有効にしておけばフォーム入力などが楽になる、といった程度に考えられてきたのである。
さて、ここで問題視するのはPCに保存されているCookie情報がどうして外部に漏えいしてしまうのか? という点である。通常、PCからインターネットへ接続している場合には、ローカルの保存情報が勝手に外部に出て行くことはない。しかし、ウイルスやスパイウェアが自分のパソコンに入り込んでしまうと、Cookie情報が知らないうちに外部に送信されてしまうことがあるのだ。詰まるところ、Cookieの技術そのものに脆弱性の可能性があるのではなく、ウイルスなどの悪意のあるソフトウェアが原因なのである。また、PCにおいてすべてのテキスト情報を平文(ひらぶん)で保存するのが当たり前となっているため、漏えいした後に分析が容易なことも手口が悪化する理由だ。
一部で、「Cookie=悪」と見られる傾向があるが、Cookieが登場した当時はCGIプログラミングのブームでもあり、スクリプトの開発者はこぞってCookie機能を自作のCGIスクリプトに組み込んでいた。Cookie自体はNetscapeが考案し、自社のNetscape Communicatorと呼ぶブラウザで初めて実装された。Cookieに関する仕様書はサイトで参照することができる(関連リンク)。
仕様書といっても100行程度の文章であることが分かるだろう。プロトコル(ソフトウェアにおける規約のこと)としてはシンプルなものだ。Webサーバ側には特にCookieを利用するための設定は不要であり、完全にブラウザとWebサーバアプリケーション(CGIスクリプトなど)との間で閉じられたやり取りなのだ。
ブラウザとWebサーバ間はHTTP(HyperText Transfer Protocol)と呼ぶ通信プロトコルを使って、やり取りされている。また、Cookie情報はHTTPヘッダに含まれているが、暗号化されていないために前述のようにCookie情報も平文のままでネットワーク上を流れるのだ。代わりに、SSLとして知られるHTTPS(HTTP Security)のプロトコルを使えば、すべての通信が暗号化される。Cookie情報も暗号化されてサーバとクライアント間でやり取りされる。これはサービス提供側の運用ポリシーにもかかわる問題だ。
前述のようにブラウザ上でCookie情報の削除を手動で行える。しかし、ユーザーが特定のCookie情報を管理したい場合には困る。例えば、特定のサイトのCookieのみ削除したい、特定のサイトのCookieは保持しておきたいなどの場合だ。ここではNirSoftのフリーソフトウェアである「IECookiesView」を紹介しておこう。
2005年12月現在はバージョン「v1.70」である。ダウンロードしたアーカイブ(iecv.zip)を解凍すると、すぐにツールを起動することができる。メニューを日本語化したい場合は、同じく上記のサイトで配布されている日本語化パッチ(iecv_japanese.zip)を起動前に同一ディレクトリへ置いておけばよい。
IECookiesViewでは、Cookie情報の閲覧だけではなく、特定の条件の削除を行うこともできる。Cookieにどのような情報が格納されているか、興味ある方は利用してみるとよいだろう。
Copyright © ITmedia, Inc. All Rights Reserved.