
Cookie盗聴による電子商取引のセキュリティについて
2003年08月22日付 日本経済新聞(17面)、及び、2003年08月06日付け日本経済新聞夕刊に、「電子商取引サイト 情報漏れの欠陥」「ネット通販大手、9割にシステム欠陥・産総研調査」と題した記事が掲載されています。Cookie盗聴によって、顧客情報が盗まれる可能性が有ると云うものです。
2003年08月06日付 日本経済新聞夕刊:
http://it.nikkei.co.jp/it/news/privacy.cfm?i=2003080604726vl
平成15年8月11日付 商務情報政策局資料:
『Cookie盗聴によるWebアプリケーションハイジャックの危険性への対応について』
http://www.meti.go.jp/kohosys/press/0004378/0/030811cookie.html
報道の根拠となった産業技術総合研究所のテクニカルレポート(AIST03-J00017):
http://SecurIT.etl.go.jp/research/paper/AIST03-J00017/
http://SecurIT.etl.go.jp/research/paper/AIST03-J00017/AIST03-J00017.pdf
Cookie(Persistent Client State HTTP Cookies)は、サーバがブラウザに対し「設定した情報」を、ブラウザからサーバに対し「設定した情報」を返す技術です。設定時にサーバは、Set-Cookie応答ヘッダを使用して「名前と値」「有効期限」「ドメイン」「パス」を指定してブラウザに提出します。ブラウザはそれを保存して、指定した「ドメイン」「パス」にアクセスした際、「名前と値」をサーバに対し提出します。SSL以外では、通常のホームページ閲覧と同様にパケット盗聴を行うことが出来ます。
問題となっているのは、電子商取引システム(ショッピングカート)にSSLで「ユーザログイン」を行った後、SSL以外のページを閲覧した場合、暗号化されていない為、Cookieを盗聴可能であると云うものです。電子商取引システム(ショッピングカート)は、「ユーザログイン」を行う場合、一意のユーザを特定するため、通常、セッションID を生成し、Cookie としてブラウザに発行します。ブラウザは、「有効期限」迄、指定した「ドメイン」「パス」にアクセスした際、常にセッションID(「名前と値」)をサーバに対し無条件に提出します。このセッションID は、非常に重要な意味合いを持ちます。セッションID によって一意のユーザの情報(顧客情報)を導き出すことが可能で有るためです。事前ユーザログインを行うシステムでは、この危険性を孕んでいます。
(※信じ難いことですが、このセッションID を暗号化していないショッピングカートは、プロバイダーの経営規模(大手・中小プロバイダー)・販売サイトの知名度等に拘わらず多数存在します。
又、SSL を全く使用していないにも拘わらず、「ユーザログイン」を促すショッピングカートも有ります。論外です。)
ユーザログイン後の全ページを SSL で暗号化すれば、危険性は非常に小さくなるのですが、ユーザが罠のリンク(SSL以外のリンク)に誘導される可能性も有るので、産業技術総合研究所は、SSLの場合だけ Cookie を提出する方法(Cookieにsecure属性を付けた方法)にする様、指導しています。secure属性Cookieは、ブラウザに設定を行うサーバ側 Set-Cookie応答ヘッダで指定します。つまり、ユーザ(ブラウザ)側に選択権が有りません。
※弊社ショッピングカートは、secure属性Cookie(SSLの場合だけ Cookie を提出する方法)により、一意のユーザの情報(顧客情報)を導き出すことが出来る「セッションID」(カートID)を保護しています。ご安心下さい。
【 secure属性Cookieの判定方法 】
- ■IE 6.0(Microsoft Internet Explorer ver6.0)の場合:
- ◆IEで以下の設定をしておきます。この設定を行うことにより、サーバからCookieの提出を受けたとき、Cookie の情報表示及び Cookie を受け入れるか否かを選択することが出来る「プライバシーの警告」画面が表示される様になります。
- 「ツール」-「インターネット オプション」をクリックします。
- 「プライバシー」タブをクリックした後、「詳細設定」をクリックします。
- 「プライバシーの設定詳細」画面が表示されます。
- 「自動Cookie処理を上書きする」チェックボックスにチェックを入れて、ファーストパーティのCookie「ダイアログを表示する」、サードパーティのCookie「ブロックする」を選択して、「OK」をクリックします。
◆Cookie の提出を受けた場合、「プライバシーの警告」画面が表示されます。
「プライバシーの警告」画面内「詳細情報」をクリックすると、「Cookie情報」が表示されます。
- 「セキュリティの保護」欄が「はい」となっている場合、SSLの場合だけ Cookie が提出される(secure属性Cookie)ことになり、Cookie盗聴の可能性は無くなります。
- 「セキュリティの保護」欄が「いいえ」となっている場合、SSL以外のページにアクセスした際、Cookie盗聴の可能性が有ります。
- ■Netscape 7.0 の場合:
- ◆Netscapeで以下の設定をしておきます。この設定を行うことにより、サーバからCookieの提出を受けたとき、Cookie の情報表示及び Cookie を受け入れるか否かを選択することが出来る「プライバシーの警告」画面が表示される様になります。
- 「編集」-「設定」をクリックします。
- 「プライバシーとセキュリティ」タブをクリックした後、「Cookie」をクリックします。
- 「Cookie」画面が表示されます。
- 「Cookie を保存する前に尋ねる」チェックボックスにチェックを入れて、「OK」をクリックします。
◆Cookie の提出を受けた場合、「確認」画面が表示されます。
「確認」画面内「詳細を表示」をクリックすると、提出を受けた Cookie情報が表示されます。
- 「サーバの保護」欄が「はい」となっている場合、SSLの場合だけ Cookie が提出される(secure属性Cookie)ことになり、Cookie盗聴の可能性は無くなります。
- 「サーバの保護」欄が「いいえ」となっている場合、SSL以外のページにアクセスした際、Cookie盗聴の可能性が有ります。
ご参考:
http://SecurIT.etl.go.jp/research/paper/AIST03-J00017/csec200307-takagi-slide-sp1.pdf
ショップ様もインターネット通販で商品をご購入される場合も有るかと存じます。事前ユーザログインが必要なシステムでのご注文は、ご注意下さい。
尚、パスワードを忘れた場合、「パスワードをメール送信するシステム」・「パスワードを記述しているURLをメール送信するシステム」は、論外です。「どうぞパケット盗聴を行って下さい」と言っている様なものです。
この他にもセキュリティの甘いショッピングカートは、非常に沢山有ります。
又、ホスティングで運用しているショッピングカートは非常に危険です。ショッピングカートプログラムをサーバ上に組み込むことが可能なと云うことは、telnet を許可していることになります。同じホストにログイン可能なユーザは、顧客情報ファイルを丸ごと盗むことが出来ます。(telnetを許可していなくても、盗むプログラムをアップロードして実行権を与えることが可能ならば、Web上から入手可能です。)
※最近の安価なレンタルショッピングカートは、殆どホスティングで運用しています。(自社でサーバを持っていません。)ご注意下さい。
★「Cookieを使用しない方式のショッピングカートの危険性」について。
|