2015年6月25日木曜日

ビックカメラ.COMでメールアドレスを間違えて登録したらどこまで悪用されるか検討した

すでに報道のように、ビックカメラの通販サイト「ビックカメラ.com」において、会員IDをメールアドレスにするという改修がなされました。従来は会員がIDを自由につけられる仕様でした。さっそく会員登録してみたところ、会員IDのメールアドレスの入力間違いに際して、安全性の配慮に掛ける仕様だと感じたのでビックカメラのサポートに報告したところ、以下のように「セキュリティ上の問題とは認識していない」との回答でした。このため、ここに問題点と対策を公開して、利用者に注意喚起いたします。
平素はビックカメラ.comをご利用いただき、誠にありがとうございます。
サポートセンター担当のXXXXと申します。
この程はお問い合わせいただきありがとうございます。
貴重なご意見を賜りまして、誠にありがとうございます。
今回サイトのリニューアルに関して、基本的に現状ではセキュリティ上の問題があるとの認識はございません。

(1)ユーザ登録の画面

会員IDとなるメールアドレスの入力欄は下記の通りです。通常メールアドレスを2回入力することで、入力間違いをチェックするサイトが多いと思いますが、ビックカメラの場合はメールアドレスの入力は1回のみです。その後、入力したメールアドレスに受信確認のメールがくるものと思いきや、それもありません。他のサイトに比べ、メールアドレスの入力間違いが起こりやすい状況と言えます。

この後、個人情報やパスワード、「秘密の質問と答え」等を入力、確認して会員登録は完了です。

(2)会員登録のメールが届く

会員登録が終わると、登録したメールアドレスに以下のようなメール(抜粋)が届きます。メールアドレスは仮のものに変更しています。
徳丸 浩(トクマル ヒロシ) 様

この度は、ビックカメラ.com( http://www.biccamera.com )にご登録
いただきまして、誠にありがとうございます。  

-------------------------------------------------------------------
本メールはシステムにより自動で送信させて頂いております。
-------------------------------------------------------------------

今後、ご注文またはご購入履歴を参照される際には、
下記の会員IDが必要となりますので、大切に保管をお願い致します。

会員ID:xxxx@example.jp
お名前:徳丸 浩(トクマル ヒロシ) 様
万一、メールアドレスを間違えて入力して、それがたまたま他人のメールアドレスと一致した場合、このメールは間違えたメールアドレスの持ち主が見ることになります。氏名が漏れるという、一種の情報漏洩ですが、元はと言えばメールアドレスを間違えた利用者が悪いわけで、ここまでは仕方ないかと思っていました。

(3)会員登録と同時にログイン状態となる

会員登録すると、そのままECサイトにログイン状態となります。つまり、登録したメールアドレスを入力する機会はありません。試みに、そのまま商品を購入してみました。特に購入するものもなかったので、プリンタのインクの買い置きを購入しました。
ログイン後しばらく時間が経過している場合は、決済前に再度ログインを要求されるのでメールアドレスが間違えているとログインできず、ここで「何かがおかしい」と気づく機会になります。しかし、会員登録後短時間の間に商品を購入すると、再ログインはなく、ここでもメールアドレスの入力間違いには気づきません。
私は、決済方法としてクレジットカードを選択し、わざと「カード情報を保存する」を選択して決済しました。

(まとめ)登録後直ちに買い物すると、メールアドレスを入力する機会がないまま買い物が終了する

(4)買い物の内容と住所がメールとして届く

購入手続きが完了すると、注文の確認メールが届きますが、氏名に加えて、住所と購入内容が記載されています。
徳丸 浩様
ご注文ありがとうございます。
以下の内容でご注文を承りました。
【中略】
注文番号:1013xxxxx
注文日時:2015/06/23 16:39
お名前 :徳丸 浩 様
ご住所:
〒1xx-xxxx
東京都xx区xx x-xx-xx xxxx
お支払い方法:クレジットカード
 ご注文商品      :
 【純正】 インクカートリッジ (黒×2) xxxxxx-xxx(xxxxxxxxx)              x,xxx円
  数量                  1
  状況                  在庫あり
利用者が誤って別人のメールアドレスを登録してしまうと、このメールが別人に届くわけで、嫌な感じですね。とくに、購入したことを他人に知られたくない商品の場合、住所・氏名・購入商品がセットで他人に漏れるのは、かなり嫌な感覚ではないか思います。

(5)メールアドレスの持ち主に悪意がある場合、なりすましの危険性はないか

さて、ここからは、間違ったメールアドレスの持ち主に悪意がある場合、なりすましログインされる危険はないか検討します。以下では、メールアドレスの持ち主を「攻撃者」と表記します。攻撃者は、利用者(被害者)の登録済みメールは受信できるわけですから、パスワードリセットの機能が悪用できる可能性があります。
ビックカメラ.comのパスワードリセットに必要な情報は以下の通りです。
  • 登録済み電話番号
  • 登録済みメールに送信されるパスワードリセットのURL
  • 秘密の質問の答
このうち、電話番号については、被害者の氏名と住所が分かっているので、電話帳(ハローページ)等からかんたんに分かる場合もあるでしょうし、そうでない場合でもソーシャル的な手法で判明する可能性があります。
「秘密の質問と答」ですが、ビックカメラ.comの場合、秘密の質問は以下から選択するようになっています。
  • 卒業した小学校の名前は?
  • 母親の旧姓は?
  • 愛読書は?
  • 座右の銘は?
  • ペットの名前は?
あまり「秘密の質問」という感じでないものばかりですね。氏名住所がわかっている前提では、被害者のfacebookの書き込みに等記載されていたり、そうでない場合でもソーシャルエンジニアリングの手法で調べることもできそうです。

ということで、攻撃者に悪意があると、パスワードリセットが成功する確率は、それなりにありそうです。

(6)クレジットカード情報の悪用はできるか?

ビックカメラ.comになりすましログインが出来ると登録済みの個人情報が閲覧できますが、既に氏名、住所、メールアドレス(間違っていて正確ではない)、電話番号(パスワードリセット時に必要)が分かっているので、個人情報は攻撃者にとって新たな有益な情報とは言えません。
そこで、登録済みのクレジットカード情報を悪用して買い物ができるか確認しました。
結論としては、攻撃者は登録済みクレジットカード情報を用いて買い物をして、新たに登録した住所に商品を発送することができることを確認しました。

ということで、以下の前提では、クレジットカード情報の悪用もあり得ることが分かりました。
  • 利用者がメールアドレスを入力間違いする
  • 利用者は会員登録後ただちに買い物をして、クレジットカード情報をサイトに保存する
  • 間違ったメールアドレスがたまたま別人のアドレスと一致する
  • メールアドレスの持ち主に悪意がある
  • 電話番号と秘密の質問の答えがソーシャルエンジニアリングで入手できる

(7)会員登録時にメールアドレスを間違える人はどれくらいいるか?

ここで、会員登録時にメールアドレスを間違える人がどれくらいいるのかという疑問が生じますが、私は、それなりに間違えはあると推測しています。
以下は、私のgmailアドレスに届いたメールですが、Apple IDとして、うっかり私のメールアドレスを登録してしまった方のようです。ちなみに女性名でした。

徳丸という比較的珍しい名字でもこのような間違いがあるので、鈴木・田中・高橋・佐藤等のポピュラーな名字であれば、メールアドレスの間違いがたまたま他人と一致する確率は、それなりにありそうに考えます。
また、月宮紀柳さんから以下のツイートをいただきましたので引用します。このツイートから事例を参照することができます。

(8)とりあえずのまとめ

ここまででいったんまとめます。
ビックカメラ.comの利用者登録において、メールアドレスの入力間違いに気づきにくい仕様であり、利用者がメールアドレスを間違えて登録してしまった場合、最悪ケースでは、なりすましや、クレジットカード情報の悪用などの被害が想定されることが分かりました。
あくまで、利用者がメールアドレスを間違えた場合という前提なので、これは脆弱性とまではいえませんが、安全性に関する配慮が少し足りないとはいえると思います。

(9)利用者側でできる注意

利用者側でできる注意としては、入力・確認画面でメールアドレスをよく確認するという以外に、以下を実施するとよいでしょう。
  • 会員登録時に、登録完了のメールが送られることを確認する
  • クレジットカード情報の保存機能は利用しない

(10)サイト側の改善案

サイト側でできる改善案としては下記があります。
  • メールアドレス入力後に受信確認を行う
  • クレジットカード情報を保存しない
  • クレジットカード情報を保存する際は発送先住所と対応させておき、あらたな発送先住所については再度クレジットカード情報を入力してもらう(Amazonで採用している方法)
メールアドレス入力後の受信確認については、今話題のニトリのサイトが参考になります。以下は、会員登録の冒頭でのメールアドレス入力画面です。


会員登録において、いきなりメールの受信確認から始める方法は最近よく見かけます。これだと、メールアドレスの入力欄も一つでよいので、入力する方も楽でいいですね。

※ただし、ニトリのこのフォームはなぜかHTTPSでないので、サイト(ドメイン)の真正性確認という点では課題があります。会員登録やログインの他のフォームはHTTPSなので、単に漏れたということでしょうか。

また、クレジットカード情報の保存については、リスク低減という点では保存しないに越したことはありませんが、どうしても保存したいという要件であれば、Amazon等が採用しているように、住所とカード情報を対応させておき、新たな住所が指定された場合はカード情報も再入力する方法がよいと思います。この方法であれば、パスワードリスト攻撃等で不正ログインされた場合でも、被害を緩和できる可能性が高いです。

まとめ

ビックカメラ.comを題材として、メールアドレス登録間違いの危険性について報告しました。
まずは利用者側がメールアドレスを正しく登録するべき筋合いのものではありますが、やはり間違いはあり得ることですので、下記の施策を実施するとよいでしょう。
  • 入力間違いに気づきやすくする(メールアドレスを2回入力)
  • 入力間違いがあれば登録が進めないようにする(受信確認)
  • 入力間違いがあっても被害を緩和できる設計とする(カード情報と住所の対応づけ)
難しいことはよくわからないということであれば、広く使われているベストプラクティスに従うことから始めたらどうでしょうか。拙著「安全なWebアプリケーションの作り方」でも、5.2.1ユーザ登録において、「メールアドレスの受信確認」について説明しています(宣伝)。ベストプラクティスには、たいていの場合そうする意味があるわけですから、単に処理を省略してしまうと上記のようなリスク発生につながる場合があります。


【HASHコンサルティング広告】
HASHコンサルティング株式会社は、セキュリティエンジニアを募集しています。
興味のある方は、twitterfacebookのメッセージ、あるいは問い合わせページからお問い合わせください。


0 件のコメント:

コメントを投稿

フォロワー