高木さんの「素朴な」疑問に対して、果たして携帯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…ってのが端末シリアル番号ですね。
次にスマートフォンからUser-Agentを偽装してリクエストしてみる。
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だったんだけど、時代が変わって事情が変わってきたと言うところだろうか。
「携帯」タグアーカイブ
2007-02
13
16:12:00
Helio Driftは何気に凄い
仕事絡みで、Helio Driftを買って触ってるんですが、これが何気によくできています。
僕もよく知らなかったのでまとめておくと、Helioってのはアメリカの新興携帯キャリアで、韓国SKTelecomとEarthLinkの合弁会社で、いわゆるMVNOで展開しています。
若者をターゲットにして、老舗では立ち上げにくい、かなり面白いサービスを展開しています。
Driftのスペックは、2.12インチQVGA液晶、128Mメモリ、2Mピクセル内蔵カメラ、BlueTooth、GPS内蔵、CDMA1xEVDO対応となかなかです。
でもこの端末の一番の面白さはマルチメディア対応でしょう。
まず、動画や音楽のストリーミング再生が可能です。
専用サイトから再生を始めるとプレイヤが起動し、ほんの数秒で再生が始まります。
日本でいらいらしダウンロードし終わるのを待っていた身としては、新鮮な驚きです。
最近の日本の携帯は詳しくないんですが、果たして国内携帯でストリーミングに対応しているものってあるのでしょうか?
しかもさすが3Gだけあって画像も音質も途切れることなく、非常に安定しています。
また無論MP3プレイヤとしても動作可能です。
もう一つ、実はこの端末ではGoogle Mapが動きます。しかもGPSと連動して現在地からカーナビのまねごともしてくれるんです。
Google MapはJavaアプリとしてダウンロードするので、仕様も、最近リリースされて話題のWM版とは少し趣が異なるものの、手のひらで好きなときにGoogle Mapsが動くというのは驚きです。
正直、一般的なカーナビほどGPSの精度も追従性もよくないのですが、ちょっと道に迷った時などには十分使えるし、サテライトモードにも対応しているので、auあたりの地図機能よりも楽しいかも。
英語版なのであまり使っていませんが、近くの施設検索とも連動しているので、地元の人には便利でしょうね。
とにかくいずれに機能もかなりネットワーク性能に依存しているにも関わらず、かなり軽快に動作しているのに感動しているのですが、EVDOという以外にMVNOならではの特性なのかも知れません。
その他GPS機能と連動して、友達が今どこにいるか地図で示すBuudy Beaconとか、AIM,Windows Liveにも対応したIM機能など、かなり欲張りに作られています。
果たしてどれだけユーザに受け入れられるかは分かりませんが、一度は触ってみる価値大です。
あちこちにショップはあるみたいなので、アメリカに来られた際には是非遊んでみて下さい。
新鮮な驚きが待っていると思いますよ。
2006-10
01
18:33:00
Yahoo!ケータイ経由だとPCサイトのブラウズを携帯向けに最適化できる
今日から始まったYahoo!ケータイを少し触っていたのですが、Yahoo!ケータイから検索してPCサイトを見ると、どうやらjigブラウザWebで最適化してくれることに気付きました。
検索結果のうち「PCサイト」のところのリンクからサイトに飛ぶとjigブラウザWeb用サーバらしいYahooのサーバ経由になり、PCサイトでも携帯向けに最適化してくれます。
いつからこうなっていたのか知らないのですが、これはいいですね。
本来なら月300円ほどかかるものが、Yahoo経由で検索して飛ぶだけでタダで使えてしまいます。
「Yahooサイトならコンテンツが無料になり、ドコモやAUのビジネスモデルを潰す」のが新生SoftBankの戦略だそうですが、SoftBank公式サイトやYahoo(のコンテンツサイト)さえ使わなくとも、既に普通のPCサイトを手軽にしかもタダで携帯からブラウズ可能になっているとは。
いわゆるフルブラウザではないですが、月課金とか無しでニュースサイトを色々見てみたい際には便利に使えそうです。
例えばGoogle Newsはテキスト版でもかなりサイズが大きくて携帯からはブラウズできませんでしたが、次のような手順で見ることができるようになります。
1. Yahoo!ケータイトップから「google news」とか検索してみる。
2. ケータイ検索結果に引き続いて、PC検索結果が表示されるので「Google ニュース 日本語版」を探してクリック
3. 最適化されたGoogleニュース日本語版サイトが表示される
これだけです。
後はブックマークしておくなりすれば即座にブラウズ可能になります。
因みにこの場合のURLは次のようになっています。
http://pctransnnn.mobile.tnz.yahoo.co.jp/fweb/xxx...xxxx/9b?_jig_=http%3A%2F%2Fnews.google.com%2Fnews%3Fned%3Dtjp%26rec%3D0
ここでnnnとxxx…xxxxはランダムに付帯されるようなので、ずっと有効かどうかは不明です。
またパラメータを変更してやれば他のサイトもダイレクトに利用できそうですね。
特に公式なアナウンスされていないかも知れないので、ご利用は自己責任でどうぞ。
2006-05
05
00:14:00
Skype2.5βでSMS送信が可能に!
先日リリースされたSkype2.5のβ版なのですが、今日試しにインストールしてみたら、何とSMS送信が可能になっています。
2006-03
30
00:00:00
2006年03月30日のブックマーク
- ITmedia News:携帯ネットワーク接続機能を持つノートPC、Dellが発表
- これ、GSM対応だけだと思うんだけど、日本じゃ全然使えないと書いとかないと、日本から買っちゃう人とか出てきそうだなぁ。
- ITmedia +D モバイル:Ajax対応の携帯フルブラウザを開発へ
- わざわざ作らなくてもOperaMobileならJavaScriptもDOMもXMLHttpRequestとか普通に動くよ{^^まあ、もっときびきび動くってんなら別だけど、あんまり変わらないんじゃないかなぁ。
: my Hatena-Bookmarks (^_^)