2013年5月24日金曜日

ヤフー株式会社様に「秘密の質問と回答」に関して要望します

ヤフー株式会社御中
東京都品川区在住
徳丸浩

拝啓、貴社ますますご清栄のこととお慶び申し上げます。日頃は格別のご高配を賜り、あつくお礼申し上げます。さて、さっそくですが、表題の件についてお願いがあり、ご連絡差し上げました。

私は東京都品川区在住の貴社サービスの一ユーザーです。Yahoo! IDの登録が2001年3月、Yahoo!プレミアムは2003年 2月からですので、十年来のユーザーと言うことになり、現在はヤフオクやYahoo! Boxを利用しております。どうぞ、お見知りおきのほど、よろしくお願いいたします。

さて、ご連絡差し上げたのは、表題に述べたように「秘密の質問と回答」に関する要望です。と言いますのは、報道などで「秘密の質問と回答」が漏洩したことを知ったからです。
ヤフーは23日、今月16日に不正アクセスで流出した「ヤフージャパン」のID2200万件のうち、約149万件についてはパスワードと、パスワード変更のために使う「秘密の質問」への答えも同時に流出していた可能性が高いと発表した。パスワードは暗号化されており「解読は不可能」(広報)としている。
 「秘密の質問」の答えは暗号化されておらず、ハッカーに見られる可能性が高いが、パスワードを変えるには今回流出していない生年月日も入力する必要があり、広報は「本人以外が不正にログインするおそれはない」としている。
朝日新聞デジタル:ヤフー、パスワード149万件流出 「秘密の質問」も - 社会より引用(魚拓
この報道によると、『「秘密の質問」の答えは暗号化されておらず、ハッカーに見られる可能性が高い』ということですが、下記理由により非常に心配であります。

  • 生年月日は流出していないということだが、SNSなどから比較的容易に取得できる情報である
  • 「秘密の質問と回答」および生年月日がそろうと、パスワードがリセットできる(現在は停止中)
  • それだけでなく、同じ組み合わせで、ワンタイムパスワードも解除できる(現在は停止中)
  • 加えて、同じ組み合わせで、シークレットIDも解除できる(現在は停止中)

すなわち、「秘密の質問と回答」および生年月日が知られてしまうと、パスワードをリセットできるのみならず、ワンタイムパスワード及びシークレットIDの両方が解除でき、貴社の素晴らしいセキュリティ機能を全て突破できてしまうからであります。

念のため(釈迦に説法とはこのことですが)上記が可能であることを、貴社サービスのヘルプから参照いたします。
まず、パスワードリセットがこの組み合わせでできることは、「Yahoo! JAPAN IDに関するヘルプ - パスワードを忘れてしまった魚拓)」の「【生年月日と秘密の質問を使う】」に記載があります。
次に、ワンタイムパスワードの解除ですが、「Yahoo! JAPAN IDに関するヘルプ - ワンタイムパスワードの利用を停止する魚拓)」の「◆生年月日と秘密の質問を使う」の記載の方法により、ログインすることなくワンタイムパスワードを解除できます。
最後に、シークレットIDの解除は、「Yahoo! JAPAN IDに関するヘルプ - シークレットIDを忘れた拓)」の【生年月日と秘密の質問を使う】の手順に従い、解除できます。

実は、攻撃者が、秘密の質問と回答および生年月日を知っていれば、メール盗聴などをしなくても、利用者のパスワードをリセットし、ワンタイムパスワードを解除し、シークレットIDも解除して、結果として利用者のIDでログインできることは、昨年の11月に気づいておりました。このため、貴社YIRDに昨年11月3日に連絡差し上げています。

Date:    Sat, 03 Nov 2012 18:22:11 +0900
Subject: Yahoo!のパスワードリセットの問題点について
----
Yahoo Incident Response Division御中
徳丸と申します。
Yahoo!のログインについて、仕様が好ましくないと考えております。
Yahoo!のパスワードは、生年月日と『秘密の「質問」と「答え」』が分かっていればリセットできます。『秘密の「質問」と「答え」』はID登録後変更できないので、安易なものをつけてしまったら取り返しの付かないことになると考えます。
参考:
http://help.yahoo.co.jp/help/jp/edit/edit-43.html
> 秘密の「質問」と「答え」の内容は、Yahoo! JAPAN IDの登録後に、確認および変更できません。
ワンタイムパスワード設定すれば、上記リスクを軽減できるかを考えました。しかし、ワンタイムパスワードの解除も、生年月日と『秘密の「質問」と「答え」』が分かっていればできてしまいます。ログイン中でなくても可です。
シークレットIDというログイン専用のIDを設定すると安全性が高まるかと期待したのですが、駄目でした。Yahoo!IDと生年月日と『秘密の「質問」と「答え」』を知っていると、シークレットIDを解除できます。つまり、Yahoo!IDと生年月日と『秘密の「質問」と「答え」』を知っていると、ワンタイムパスワードの設定も、シークレットIDの設定も解除でき、パスワードをリセットできます。
脆弱性とまではいえないものの、非常に好ましくない仕様だと思います。
『秘密の「質問」と「答え」』を無効にできるようにするか、せめて後から変更できるようにすべきだと思います。
これに対して、11月5日に以下の回答を得ました。

Date:    Mon, 5 Nov 2012 06:30:56 +0000
Subject: RE: Yahoo!のパスワードリセットの問題点について
----
徳丸様
お世話になっております。
Yahoo Incident Response Division(ヤフー)の○○と申します。
この度はご指摘、ご助言を頂き誠に有難うございます。
ご指摘頂きましたYahoo!ログインの問題に関しては弊社内でも認識しており、現在サービス仕様の見直しを実施しております。
サービス仕様の見直しに際しては、ご指摘頂いた点も含めて十分な安全性の検討/改善を行う予定です。
今後ともお気づきの点がございましたら、是非ともご指摘の程宜しくお願い申し上げます。
以上、宜しくお願い致します。
**********************************************
ヤフー株式会社
CSO室情報セキュリティ

この回答から半年が経過しましたが、上記仕様は変更されていないようです。つい先日も上記を試してみましたが、仕様が変わっていないことを確認したところでした。
貴社サービスが非常に大規模であり、かつ多数のシステムが連携していること、Yahoo!がまさに「国民的サービス」であるため、ユーザにとって難易度の高い仕組みが導入できにくいことはかねて推察しており、時間がかかることは覚悟しておりましたが、この度の「秘密の質問と回答」流出の報道を見て、待ちきれなくなり、こうしてご連絡差し上げる次第です。

さて、要望と題するからには、対案を出さなければなりません。改善方法は色々あるでしょうが、一案として以下のようにすればどうでしょうか。

  • 「秘密の質問と回答」は現在必須だが、設定しないという選択も許す
  • 「秘密の質問と回答」は現在一度設定すると変更・解除できないが、変更および解除できるようにする
  • 「秘密の質問」は選択制だが、利用者の自由記述も選択できるようにする
  • 朝日新聞の報道によると「秘密の質問と回答」は暗号化されていないようだが、暗号化して保存する
  • 「秘密の質問と回答」よりも強度の高い、乱数やワンタイムパスワード生成アプリを活用した復帰手段等を利用者が選択できるようにする

私にとって、ヤフオク等貴社サービスは日頃の生活に欠くことのできない大切なものですので、サービスの安全性は深刻な関心事であります。今後も貴社サービスを安心して活用したいため、一介の利用者に過ぎないものが差し出がましいことを申し上げるようですが、少しでも参考になればと思い、愚考を披露させていただきました。

以上、ご賢察のほど、よろしくお願い申し上げます。
最後までお読みいただき、ありがとうございました。
敬具

PS.
これまでは、このような内容を公にすると、利用者側で対処する方法がないため混乱を招くことを心配しておりましたが、現在は「秘密の質問と回答」によるリセット機能は全て停止されていることから、この内容を公開しても影響はないため、公開に踏み切った次第であります。

追記(2013/05/27)
結局、5月24日の夕刻には、「秘密の質問と答え」機能は復活したようです。残念でなりませんが、「秘密の質問と答え」がある前提で、利用者として取り得る対策については別稿で書きたいと思います。

0 件のコメント:

コメントを投稿

フォロワー

ブログ アーカイブ