KENJI’S BLOG このページをアンテナに追加 RSSフィード

Freezed...

2010-03-05

携帯電話関連のセキュリティ DNS Rebinding まとめ [iアプリで試してみた]

JavaScriptのXMLHttpRequestでのクロスドメイン制限を回避できるなら、iアプリはどうなんだろう? ということで試してみた。ちなみにDocomoのiアプリは「制限したHTTP通信」をサポートしており、一応HTTPが扱えるが、携帯電話にダウンロードされたiアプリは、ダウンロード元のサーバへしかHTTP通信できない、また、HTTP以外の通信をサポートしない、という制限がある。

参考:Doja HttpConnection

「ダウンロード元のサーバへしかHTTP通信できない」という点においてJavaScript(Ajax?)と似ている。結果から言うと、iアプリDNS Rebindingでダウンロード元以外のサーバへアクセス可能だと判明。

  1. mydomain.comのIPアドレスを1.2.3.4にセット(1.2.3.4は自分が管理するサーバ)
  2. mydomain.com(1.2.3.4)からiアプリを携帯電話にダウンロード
  3. mydomain.comのIPアドレスを5.6.7.8に変更
  4. 携帯電話にインストールされたiアプリを起動してHTTP通信を実行
  5. iアプリから5.6.7.8のサーバへのアクセスを確認

GET、POST、guid=ONなど基本的なものはiアプリから送れるため、guidだけで認証してたりするとiアプリから「なりすまし」が可能になるかもしれないが、そもそもiアプリを他人にダウンロードしてもらわないとダメなのでJavaScriptとくらべると危険度はそれほどなさそう?

あと携帯電話のDNSキャッシュについて、ブラウザ起動中はずっとキャッシュされているっぽいが、ブラウザを一度閉じて再度起動すると、また新しく問い合わせしにいく模様(Docomo N-02Aで確認)。ブラウザ起動中は再度問い合わせにいかないなら、XMLHttpRequestでのクロスドメイン制限を回避できなさそうだけど、可能だということは、おそらくブラウザに入力したURL(ホスト)に対するDNSキャッシュとJavaScriptが持つDNSキャッシュは別で管理しているのかな。

金床金床 2010/03/11 12:12 iアプリってJava製でつか?だとするとブラウザ上で起動されたJVMがキャッシュしている可能性があります(JVMとDNSについてはこれまた一癖あります。というかTTL無視してずっとキャッシュしているだけだけど)。今度iアプリとiフォーンとiモードの違いについて教えてください。

kenjiaikokenjiaiko 2010/03/12 03:28 iアプリはJava製ですね。なのでJVM使います。
もしかして、ブラウザとiアプリで同じJVMだから、DNSキャッシュを共有して、かつ、TTL無視で延々キャッシュとかですか? 確かに挙動を確認すると、ものすごいそんな予感がしてきたw

>今度iアプリとiフォーンとiモードの違いについて教えてください
いや、少なくともiフォーンはApple社製のただの電話(スマートフォン)ですw

ockeghemockeghem 2010/03/16 15:07 最後のパラグラフについてですが、私が検証した範囲では、端末はDNSのキャッシュしていないです。というか、携帯電話のブラウザは、必ずゲートウエイ(PROXY)を通りますので、端末自体ではDNSの名前解決していないと思うのですが…

kenjiaikokenjiaiko 2010/03/18 15:34 なるほど。考えてみれば、確かにおっしゃる通り、端末側では名前解決するはずないので、もしかしたらDNSのキャッシュではなく、Webページのキャッシュ(HTTPキャッシュ)だったのかもしれません。
私のDocomo N-02Aでの検証方法は、(例えば)mydomain.com(1.2.3.4)というサイトにiモードでアクセスした後、そのままの状態で、mydomain.comのIPアドレスを5.6.7.8に変更。そして、再度携帯のブラウザからmydomain.comを閲覧しても1.2.3.4の方が表示されます(ブラウザ起動中は何度「更新」を行っても同じ)。ブラウザを再起動すると、正常に5.6.7.8の方が表示されます。
この辺りはまだかっちりとした検証を行っていないので、僕の勘違いなどがあるかもしれないです。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト

コメントを書くには、なぞなぞ認証に回答する必要があります。

トラックバック - http://d.hatena.ne.jp/kenjiaiko/20100305/1267740875