高木さんの「素朴な」疑問に対して、果たして携帯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年
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機能など、かなり欲張りに作られています。
果たしてどれだけユーザに受け入れられるかは分かりませんが、一度は触ってみる価値大です。
あちこちにショップはあるみたいなので、アメリカに来られた際には是非遊んでみて下さい。
新鮮な驚きが待っていると思いますよ。
2007-01
26
16:48:00
Sage++(Higmmer’s Edition)の脆弱性問題に思うこと
Sage++の脆弱性問題というのが出てきていて、特にSage++は使ったことがないのでそこにはそれほど述べることもないのですが、ちょっと気になったのはJPCERT/CCからの脆弱性情報を作者として受け取るのに「個人情報を公開する必要があって躊躇ってしまった」という件。
[重要] Sage++ (Higmmer’s Edition)の脆弱性情報に関して、お詫びと釈明
かくいう僕も似たような経験があります。
但しこの時は脆弱性の通報者側でした。
参考: Movable Type 3.151以前のセッションハイジャック脆弱性問題
通報者であっても実名による通知など個人情報を知らせる必要があって要求されたんですね。
で、まったくひぐま氏を同じことを思い「個人情報は教えたくない」と押し通したら後日「届出を受理します」との連絡がありそのまた後日公開となりました。
但し公開された脆弱性情報には私のハンドルネームひとつありませんでしたが。
この問題、ひょっとすると最近巷を騒がす匿名実名問題にも行き着くかもしれませんが、一方で「果たしてこうした有益な活動に個々人で受け取り方の異なる微妙な問題を紛れ込ましてややこしくしてどうするのか」とも思います。
そもそも脆弱性情報の届けなら事実が述べられていればよいだけで、商売上脆弱性情報に名前がのると嬉しい人が勝手に届けに付加しておけば宜しい。
作者への通知においても、作者が公開しているメールアドレスで連絡できるのならば問題も感じられません。
なにより、そうした仕組みで成り立つとすくなくとも見なされ運用されているのが今のインターネットの世界なのですから。
単純に考えれば、JPCERT/CCまたはIPAはお役所でしかないということなのでしょう。
考えてみれば、住民票を取ったり結婚時の立会人がハンドルネームというのもしっくりきません。
ただただ普段の役所仕事を持ち込んでたらこうなった、というところか。
すでにリアルだけで世の中が成り立っているわけでもありませんし、もちろんバーチャルだけでもありませんが、そこで必要とされるルールを飲み込んで従うところから始めてみるのもいいのではないのかな。そういう発想や覚悟があるのかどうかは知りませんが。
そんなあれこれ考えるとこれからは世代やリアル/バーチャル、職種など様々な関係での「デバイド」が顕在化するように思われ、またはすでに噴出している時代かも知れませんね。しかも他方から他方を見ると相手の発想が何一つ理解できないぐらいの。
#とりあえず世の役所や関係機関にはSecondLifeに支店を出すところから勧めてみたいと思います。:)
2007-01
20
17:28:00
バンコクで見つけた街角WEB端末
バンコクはファランポーン駅で見つけた街角WEB端末です。
要は公衆電話なんですが、モニターが付いていて、有料のWEB端末としても使えます。
タイでは最大手の電話通信会社、Trueの端末です。
普通のWebアクセスの他に、SMS送信、Gameや音楽ダウンロードなどのメニューもありました。
面白いのは、各種WEBメールのメニューもあることです。
Yahoo、Hotmail、などが使えるようです。
旅行者にはちょっと便利そう。一回10バーツ(約33円)は高いのか安いのか。
こういう端末が街中のそこかしこに出来てくると何だかSFちっくで面白いですね。
日本だとこういう端末をNTTが設置することは考えにくいです。
やっぱりこういうところは他のアジア諸国の方が先進的でチャレンジングで楽しい気分になれます。
2007-01
13
03:15:00
2ch閉鎖らしいけど
突如としてこの話題で姦しいですが、ちょっと眉唾にも思ったり。
でも仮にドメイン取り上げられるとしても、閉鎖はしなくても大丈夫じゃないかという気がする。
例えば
1. Hostsファイルをまとめて配布しちゃう。ローカルに保存したらそれだけで済む。
2. 独自にDNSサーバ(リゾルバ+2ch.net用ゾーン)を立てて公開する。
2はどっかの業者が行っている方法ですが(あっちはルートサーバだっけ)、これが出来たら怖いもの無し。DNSをICANNに必ずしも依存しなくていいことになるし、何でもやりたい放題になりますね。
負荷が怖いけど、もともとあれだけのトラフィックをさばいてるのなら問題にならないでしょう。
後は利用者が設定を変えてくれるかどうかだけど、多少手間でも2chにアクセスしたい、って人たちはいっぱいいるかと。
1はHostsそのままでもいいし、または2chブラウザがボード一覧みたいに自動的に取得するでもいいし。あ、これが最強かな。2wchブラウザを前提にするなら、DNSに拘らず何でもありですね。
ということで、閉鎖しない方に500バーツ賭けます!