[ bROOM.LOG ! ] ( °o°)

【技術ネタ】 携帯で端末ID詐称は可能かもしれない話

2007-02-26 11:03
高木さんの「素朴な」疑問に対して、果たして携帯Webアプリでセッションは安全かの議論が続いている。

携帯電話向けWebアプリの脆弱性事情はどうなっているのか
珍しく間違った批判をしている高木先生
携帯電話からセッションIDの漏洩を防ぐ

Cookieが使えない機種も多いのでGETパラメータにセッションIDを埋め込む手法への疑問と、端末IDの信頼性の二つが論点かと思うのだけど、ここでは後者をちょっと考えたい。
いわゆる端末IDについてはこちらが詳しいのだけど、議論を整理すると、端末ID(もしくはユーザID)を安全足らしめるには次の要素が必要と考えられている。

1. SRC IPを制限して、各キャリアの携帯網からのアクセスのみ許可する。
2. 携帯端末の端末IDやUser-Agent環境変数はPCと違って変更不能

ところがこの1, 2は突破可能だ。
うちのようなサイトを巡回している人なら自明の理だと思うんだけど、Windows Mobileなどを搭載したスマートフォンなら、少なくともUser-AgentはNetFrontなどのブラウザ機能で簡単に変更できてしまう。
そしてまた、設定をごにょごにょいじることで、携帯網にもアクセス可能だ。例えば僕のHTC Universalという海外で発売されたSIMフリーのスマートフォンでSoftbankのSIMを挿してYahoo!ケータイが使えます。この場合、サーバからは一般の携帯からのアクセスとの違いはかなり気を付けていないと分からないはずだ。
例を示そう。

まず以下は普通にSoftbank携帯からWebサーバにアクセスして、CGIで環境変数を見たところ。
マスクしてますが、User-Agentとx-jphone-uidが取得されたのが分かる。User-AgentのSN...ってのが端末シリアル番号ですね。

CIMG0396.JPG
CIMG0398.JPG

次にスマートフォンからUser-Agentを偽装してリクエストしてみる。

20070225171647.jpg
20070225171719.jpg

User-Agentの端末シリアル番号の下四桁が0000に偽装されているのが分かると思う。
なおx-jphone-uidはNetFrontでは任意のヘッダーは追加できないので、そのままです。つまりx-jphone-uidは基地局やゲートウェイが追加する変数ということになる。

ここで、更に端末IDを安全足らしめる条件を追加してみよう。

3. 基地局またはゲートウェイが端末を認識してコントロールするIDを挿入すること

今回環境が揃わなかったのでテストできませんでしたが、Docomoで言えばuid, Softbankならx-jphone-uid、auならX-Up-Subnoということになると思うのだけど、仮にこれらが任意に端末から追加されていたら何も基地局やゲートウェイが書き換えたり削除しない仕様だとすると、端末IDは偽装放題ということになります。
つまりいわゆるユーザIDが最後の砦となっていると思うのだけど、果たして、このへんの実態はどうなんだろうか。
多分、簡単なWMアプリを作って確認すればすぐ分かると思うけど。
(あ、auだけは安全かも。独自仕様過ぎて携帯網につながるスマートフォンがまだないので。でも、近々出すって言ってたっけな)

また、Webアプリの仕様の問題もある。
実際User-Agentしか見ていなくて、スマートフォンから簡単にログイン可能になっているサービスを確認しています。

これを脆弱性と呼ぶかどうか。
IPAとかに連絡してもいいかも知れないけど、僕自身は以前に通報したらそんなの脆弱性とは呼ばないとか叩かれたりもしたし、実は普段の携帯とスマートフォンで便利に使い分けられてたりするので、今回はパスしますが。

# 過去にはこの仕様でもOKだったんだけど、時代が変わって事情が変わってきたと言うところだろうか。

posted by ROCA | Comment(0) | TrackBack(0) | 技術ネタ
この記事へのコメント
コメントを書く
- URLは先頭のhを抜かして記載して下さい(ttp://〜 など)。

ニコニコPodderへの質問の際には以下に留意ください

  • WEBサイトでの説明、特にFAQには必ず目を通してください
  • 簡単すぎる説明では状況がわからず返答できないことが多いです。詳しい状況を教えてください
  • エラーが発生している場合にはどのようなメッセージが表示されたか、省略せずにすべて教えてください
  • 特定の動画で発生しているエラーなのか、すべてで同様なのか、特定の動画やマイリストであれば(可能であれば)その動画のIDやマイリストのURLを教えてください
  • OSでの問題やiPod/iPhone、iTunesでの問題についてはお答えできません。またffmepgのデフォルト以外のオプションの使い方についてもご回答できません
  • 明らかにWEBサイトなどでの説明を読んでおられない場合には返答しないことがあります

バグや問題点のご報告は常に歓迎しています。また発生した問題の解決にはできるだけ協力させて頂きたいと思っています

皆さんのご理解とご協力をお願いします

お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

この記事へのトラックバックURL
http://blog.seesaa.jp/tb/34706954
※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック