[Tep-j-general] Re: セッションハイジャック対策

Back to archive index

hamada bungu****@leo*****
2004年 5月 15日 (土) 09:08:03 JST


こんにちわ。

On Fri, 14 May 2004 21:04:30 +0900
NaoyukiYokoyama <naoyu****@fsine*****> wrote:

> 取り込みに来た場合に、そのお客様の個人情報が見れてしまうURLが
> 検索エンジンに登録されてしまうということでしょうか。

これは、違います。

「セッション」というのはサーバにアクセスして来たクライアントに対して個々
に割り振られるものですから、クローラーと人間のお客さまが同時にアクセスし
て来た場合でも、

・お客さま
・クローラー

に対して別個のセッションが割り振られる事になります。ですから「クローラー
がお客さまのセッションを横取りする」ようなことはありません。

ただ、上記のとおりクローラーに対してもセッションが割り振られる→クローラー
がこのセッション情報まで記録するタイプの場合、

「検索エンジンからのリンクに、クローラーがクロール時に取得したセッション
情報が含まれる」

可能性が有るわけです。

ということで、このリンクを辿って来られたお客さまには

「クローラーがクロール時に取得したセッションID」

が付与される→セッション有効期限内に同じリンクを複数のお客さまが辿ってき
た場合、複数のお客さまが

「クローラーがクロール時に取得したセッションID」

すなわち「重複したセッションID」にてアクセスしてしまう可能性があります、
というのが今回のお話しです。少なくとも当方はそう理解してます(^_^;)

「個人情報が見れてしまう可能性」

というのは

・同一リンクを辿って
・セッション有効時間内に複数のお客さまが来られ
・そのうちの1人以上がログインしている

環境でのみ発生すると思います。

「ログインしている」という情報はセッション毎に割り振られていますんで、い
ずれかのお客さまがログインした時点でそのセッションはログイン済みとなる→
以後、このセッションはお客さまの情報が見れちゃう、という。

http://lists.sourceforge.jp/mailman/archives/tep-j-general/2004-April/001882.html

ということで、↑こちらで田村さんが出して来られた対策は

「ログインする時点でセッションIDを付け替え、以後はそれ以前と別個のセッショ
ンとして取り扱う」

というもので、もう1つのsession.referer_checkは

「自サイト以外から飛んで来た情報にセッションIDが含まれる場合はこれを無視
し、新しくセッションを作成する」

という感じの対策。

> この後者の例の場合は、サイトのリンク規定に、リンクを貼る場合は
> ログアウト状態でのURLをコピーして貼ってほしいと記述して、
> 運用でカバーすることは可能でしょうか。

大抵のお客さまはcookieを有効にしておられる→URLにセッションIDが見える事っ
てそうないと思いますし、上記session.referer_checkを有効にしていれば、URL
にセッションIDが含まれていても他サイトからのリンクなら新しくセッションが
開始される→そう問題にはならないかと思いますが…

> 前者の場合は今までの話の流れから、構造的に対応できないように
> 受け取っていますが、あっていますでしょうか。

はい、これは難しいと思います。

「パケットを盗聴して他人のセッション情報を盗めるような人」

の「なりすまし」からhttp通信を守ることは、原理的にとても難しいです。
httpsを使う事で「不可能ではない」と思いますが、工夫がいると思います。

はまだ






Tep-j-general メーリングリストの案内
Back to archive index