<前の日記(2010年02月27日) 次の日記(2010年03月13日)> 最新 編集

高木浩光@自宅の日記

目次 はじめに 連絡先:blog@takagi-hiromitsu.jp
訪問者数 本日: 2643   昨日: 2849

2010年02月28日

著名優良サイトでもiモード2.0の脆弱性に対応していなかった。なぜか。

今月中旬のこと。私は2テラのハードディスクを買溜めするため秋葉原の街に出た。しかし、どの店が最安か調べずに出たため、やむなく携帯電話で調べることにし、価格.comのサイトを探した。すると、携帯電話用のサイト m.kakaku.com があり、私は初めてそこを使った。

サイトはとても使いやすく、すぐに意中の製品を見つけることができた。が、ここで、画面に「履歴」というリンクがあることに気づいた。「履歴」の画面に入ると、なんと、閲覧した製品が既に記録されていた。ログインしていないのに。いや、アカウントさえないのに。

携帯電話の画面
図1: m.kakaku.com の「履歴」機能

これはたしかに便利な機能ではあるが、契約者固有IDを用いて実現されていることにギョッとした。同様の機能は普通のPCのインターネットでもcookieを使って実現できるわけだけども、契約者固有IDの取得と保管は、個人情報の取得と同程度に慎重さが求められるべきと考えている私にとっては、予告と同意なく記録されたことにギョッとした*1。そして、契約者固有IDがもはやこんな用途にまで使われ始めてしまっていることに落胆した。(加えて言えば、契約者固有IDはちゃんとハッシュ化(鍵付きで)してから使っているのだろうかといった疑問もわくが、これは今回のテーマではない。)

まさか去年夏のはてなのようにオッピロゲってことはあるまいなと、調べてみたところ、ちゃんとIPアドレス制限されていた*2が、これも今回のテーマではない。

ここで私は、1月12日の読売新聞夕刊の記事の件を思い出した。

  • ドコモ携帯、情報流出の恐れ…最新29機種, 読売新聞, 2010年1月12日

    NTTドコモでは、公式サイトを運営する約3000社には注意喚起したが、それ以外の無数にある「勝手サイト」には「ジャバスクリプトの安全な利用はサイトを作る側にとって基本的知識であり、具体的に説明はしていない」という。

カカクコムといえば、CSIRTを整備している数少ない企業の1つで、「Kakaku.com Security Incident Response Team (KKCSIRT)」がある。他の企業よりもセキュリティ脆弱性に関する情報には敏感に対応しているに違いない。NTTドコモが「基本的知識」というくらいだから、カカクコムはこの問題に対応済みだろうか。

それが気になった私は、ホスト m.kakaku.com のIPアドレス 202.218.193.79 を用いて、http://202.218.193.79/ のURLに携帯電話でアクセスしてみた。すると、図2のように、画面にアクセスできてしまった。

携帯電話の画面 携帯電話の画面
図2: 数値形式のIPアドレスのURLで契約者固有IDを用いたアクセスができてしまった様子

履歴を閲覧できていて、閲覧後のURLが http://202.218.193.79/history/ になっている。http://202.218.193.79/history/ から http://m.kakaku.com/history/ にリダイレクトされて表示されたわけではない。図2ではauでテストした画面だが、NTTドコモの端末でアクセスすると、「履歴」のページは「http://202.218.193.79/history/?guid=ON」となり、履歴を閲覧できた。

この結果から、読売新聞の記事の問題に対策していないと推定できる。*3

このままでは、(iモード2.0の携帯電話の利用者は)履歴を他人に見られる危険があるし、このサイトには「かんたんログイン」の機能もあるのだから、それも、なりすましてログイン*4*5されてしまうだろう。

私は、2月18日に、KKCSIRT にメールでこのことを伝えた。すると、その日のうちに、対策したとの連絡があった。m.kakaku.com 以外のホストでは 404 Not Found となるように対策された。*6

さすがは、CSIRTを持つ企業だけのことはある。しかし、そんなセキュリティに敏感な企業でさえ、「契約者固有ID + iモード2.0 + DNS rebinding」で生ずるこの脆弱性に対応できていなかった。

これは、NTTドコモの責任だろう。NTTドコモは、「かんたんログイン」用途で「iモードID」を開始すると自ら発表*7しておきながら、その安全な実装方法について要件を公表していない。

NTTドコモは、新聞紙上で「作る側にとって基本的知識であり」などと、まるでサイト側が自発的に対処するのが当然であるかのように言っているが、それはまったく事実でない。iモードIDのないガラパゴスの外の一般世界では、DNS rebinding の問題は、イントラサイト等で問題になり得るものであって、一般のWebサイトには無用な話である。

同様の事例は、他にもあった。

まだ他にもあるのではないか。これは、NTTドコモの責任で解決にあたるべきことだ。尻は自分でぬぐってほしい。

*1 もっとも、図1の画面に「履歴のクリア・機能停止」というリンクが用意されているように、後から削除することはできるし、「履歴機能を停止」というボタンも用意されている。また、「履歴は登録より30日を超えた情報から消去されます」とある。カカクコムは配慮して設計してくれているのだなと感じるが、本来は、最初に履歴に記録する時点で説明の上の同意を得るべきだと思う。cookieを用いた実装と違って、他の情報と突き合わせることができればサイト運営者はそれが誰なのかを調べることが可能だから。

*2 一般のインターネットからのアクセスでは、「履歴機能はご利用頂けません」「携帯端末の個体識別番号が確認できない場合は、当機能がご利用頂けません」と表示される。ところで、「個体識別番号」という下品な言葉遣いはやめられないだろうか。これはワンクリック詐欺業者が広めた言葉で、「個体」は動物用の言葉であって人間に使う言葉じゃない。「個体」じゃなくて「個人」だろう。

*3 この問題への対策は、m.kakaku.com 以外のホストでのアクセスを拒否することである。もしかすると、m.kakaku.com と 202.218.193.79 の2つを許可しているかもしれないから、確実に対策していないとは断定できないが、まあ、そういう設定をしていることは普通はないので、ほぼ対策していないと推定できる。

*4 正確に言えば、かんたんログイン設定中の本人のブラウザに(罠サイトを通じて)自動ログインさせて、その結果の画面を盗んだり、操作したりする。

*5 価格.comのアカウントを作成してログインしてみたところ、「かんたんログイン」を利用していても、ログイン中に重要な操作(設定の変更など)をする画面に進もうとすると、パスワードが要求されるようになっていた。さすが、よく設計されたサイトだなと思った。それでも、パスワードなしでなりすまされると問題のある機能はあるだろう。

*6 修正済みではあるが、統計用に役立つと思い、IPAの脆弱性届出窓口にも出しておいた。

*7 「『iモードID』の提供開始について」参照。

本日のTrackBacks(全100件) [TrackBack URL: http://takagi-hiromitsu.jp/diary/tb.rb/20100228]
検索

<前の日記(2010年02月27日) 次の日記(2010年03月13日)> 最新 編集

最近のタイトル

2024年04月07日

2024年04月01日

2024年03月23日

2024年03月19日

2024年03月16日

2024年03月13日

2024年03月11日

2023年03月27日

2022年12月30日

2022年12月25日

2022年06月09日

2022年04月01日

2022年01月19日

2021年12月26日

2021年10月06日

2021年08月23日

2021年07月12日

2020年09月14日

2020年08月01日

2019年10月05日

2019年08月03日

2019年07月08日

2019年06月25日

2019年06月09日

2019年05月19日

2019年05月12日

2019年03月19日

2019年03月16日

2019年03月09日

2019年03月07日

2019年02月19日

2019年02月11日

2018年12月26日

2018年10月31日

2018年06月17日

2018年06月10日

2018年05月19日

2018年05月04日

2018年03月07日

2017年12月29日

2017年10月29日

2017年10月22日

2017年07月22日

2017年06月04日

2017年05月13日

2017年05月05日

2017年04月08日

2017年03月10日

2017年03月05日

2017年02月18日

2017年01月08日

2017年01月04日

2016年12月30日

2016年12月04日

2016年11月29日

2016年11月23日

2016年11月05日

2016年10月25日

2016年10月10日

2016年08月23日

2016年07月23日

2016年07月16日

2016年07月02日

2016年06月12日

2016年06月03日

2016年04月23日

2016年04月06日

2016年03月27日

2016年03月14日

2016年03月06日

2016年02月24日

2016年02月20日

2016年02月11日

2016年02月05日

2016年01月31日

2015年12月12日

2015年12月06日

2015年11月23日

2015年11月21日

2015年11月07日

2015年10月20日

2015年07月02日

2015年06月14日

2015年03月15日

2015年03月10日

2015年03月08日

2015年01月05日

2014年12月27日

2014年11月12日

2014年09月07日

2014年07月18日

2014年04月23日

2014年04月22日

2000|01|
2003|05|06|07|08|09|10|11|12|
2004|01|02|03|04|05|06|07|08|09|10|11|12|
2005|01|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|05|06|07|08|09|10|11|12|
2012|02|03|04|05|06|07|08|09|
2013|01|02|03|04|05|06|07|
2014|01|04|07|09|11|12|
2015|01|03|06|07|10|11|12|
2016|01|02|03|04|06|07|08|10|11|12|
2017|01|02|03|04|05|06|07|10|12|
2018|03|05|06|10|12|
2019|02|03|05|06|07|08|10|
2020|08|09|
2021|07|08|10|12|
2022|01|04|06|12|
2023|03|
2024|03|04|
<前の日記(2010年02月27日) 次の日記(2010年03月13日)> 最新 編集