米Yahoo!からのパスワード流出を考える

(UPDATE1) Yahoo! Voice と Yahoo! Voices は別のサービスらしいので、そこをUPDATEしました。なお、結論は変わりません→ってことは、Yahoo! Voice も気をつけて対処したほうが良いってことですよ…。

米 Yahoo! からパスワードが流出したと大騒ぎである。

 

米Yahoo!は長らくビジネス的問題を抱えていて、多くの人材が流出していてシステムメンテに手が回らなくなっているので、「あー、ついにやってしまったか」と最初にニュースに接した時には思った。最近は、認証は専門部隊を持っているところに任せましょうという講演をあちこちでして回っているのだが、認証プロバイダ(Identity Provider, IdP) もやっている Yahoo! がこれをやってしまったというのは、個人的にも非常にインパクトが大きい[1]。

実際、この分野に造詣の深い Evoluzio の Hawk 氏も以下のようなツイートを出している。

Idpからのパスワード流出はインパクトがでかいね。 やっぱり、パスワード自体に依存するのをそろそろ考えなおさないといけない気がする(って前から言ってるけど) http://bit.ly/OBiEG3
(出所)https://twitter.com/neohawk/status/223568581332439041

しかし、よくよく見てみるとちょっと状況が違うように思われる。

まず、流出元とその経緯であるが、Yahoo! Voices というサービス[2] から、SQL の UNIONインジェクションによってユーザー名とパスワードが抜き取られたとのことである[3]。メールアドレスには、Yahoo! だけでなく、hotmail なども含まれているという。しかし、これはよく考えてみると非常に不思議な事なのだ。なぜか?

Yahoo! Voices は Yahoo! の認証サービスと認証連携(Federated Authentication)をしている。(現在は、Google などとも)。ということは、ここには盗むべきパスワードは無いはずなのだ。無いものを盗むことはできない。おかしい。

そこで、Yahoo! Voices とは何者なのかをちょっと調べてみた。

Yahoo! Voices の素性

Yahoo! Voice というのは、Yahoo! が提供するユーザーが書いた記事を出版するプラットフォームである。もともとは、コロラド州デンバーで2005年1月に開始された「Associated Content」というサービスで、www.associatedcontent.com というドメインでサービス提供されていた。その後、2010年5月19日にYahoo!に9000万米ドルで買収[4]されて、現在の Yahoo! Voices という名前になっている。

2006年1月当時の画面をみるとこんなふうに、メールアドレスとパスワードを登録して、それを使って記事を書くようになっている。

 

つまり、Associated Content のサービス自体には emailアドレスとパスワードという組み合わせが存在しているのである。そして、漏れたのはこのメールアドレス・パスワードである。だから、Yahoo! の認証サーバの現在のパスワードとマッチするものは5%未満ということになるのだ。(ついでに言うと、hotmail のアドレスが存在したりするのもこの経路でないと説明がつかない。Yahoo! の認証サーバのアカウントにはそのようなものは現時点では存在しない。)

これは典型的な「認証を専門サービスに任せないWebサイトの問題である」

この推理が正しいとすると、これは典型的な「素人認証Webサイトからのパスワード漏洩」事件ということになる。ここのところずっと繰り返されているパターンである[5]。今回の事件で加えて不幸なのは、この事故を起こしたサイトが、認証事業もやっている Yahoo! のブランドを冠していたということである。いかに、実は買収した別の会社の運営になるサイトでしたといったところで、報道や一般の方々の認識的には「Yahoo!」であることは変わらないだろう。だから、Yahoo! の認証事業は大きなダメージを食らうことになる。

教訓があるとすると以下の2つか。

  1. 自前認証はやるな。認証をきちんと管理するのは難しい。第三者認証を使うことにして、パスワードは捨てろ。
  2. 自前パスワード認証をしているサイトを自社ブランドに取り込むときには十分注意せよ。基本的には、当該サービスのパスワードは廃棄し、その残骸も残っていないことを確認せよ。
もちろん、SQLインジェクションとかの対応はきちんとするのは言うまでもないが。[6]

改訂履歴

  • 2012/7/13 10:17 (日本時間) 初稿。東京にて。
  • 2012/7/14 04:52 (デンバー時間)第2稿。Yahoo! Voice と Yahoo! Voices が違うことの指摘を @eyou_i さんから受けたため、Yahoo! Voices に合わせて原稿を改訂。eyou_iさん、thanks。 経緯、結論は変わらず。コロラド州デンバーにて。

[1] もっとも、米Yahoo!は米国政府のLevel 1 認定(1が最低、4が最高)を取れなかった程度の IdP ではある。

[2] Y! の声明によると、Yahoo! Contributor Network からの古いファイルの漏洩とのこと。CNETの記事によれば、Yahoo! Voices が消費者向けのブランド名、Yahoo! Contributor Network が社内名称、Associated Content はその旧称であるとのことである。

[3] CNETの記事による。また、取得したファイルには dbb1.ac.bf1.yahoo.com の記載があるらしい。

[4] Crunch Base による。(出所: http://www.crunchbase.com/company/associatedcontent )

[5] 一方、LinkedIn のケースは IdP からの漏洩だから、IdP も素人がやっているところと玄人がやっているところをちゃんと見分ける必要がある。そのためにも、審査・認定・格付けが重要になってくるだろう。

[6] 現地時間15日、Yahoo! は終結宣言を出した。古いファイルが残っていただけだから対応は簡単だったわけだ。(参考:http://japan.cnet.com/news/service/35019264/ )

 

「米Yahoo!からのパスワード流出を考える」への2件のフィードバック

  1. なんかなー、セキュリティ専門会社までが、Yahoo のDBが、DBが、、、って・・・・まあ、我々がわかりやすく、説明していかねばならないでしょうなぁ。。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

*

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください