2012-12-05 31 views
18

この仮説的な状況を考えてみましょう。iOS - ローカルホスト経由でアプリ間で通信することはできますか?

BobとEveのアプリは同じiPhoneにインストールされています。 Bobのアプリケーションは実行中で、localhost:8080にバインドされてAJAX呼び出しを自身のUIWebViewから待ち受けます。 Eveのアプリケーションはバックグラウンドで実行され、localhost:8080へのAJAX呼び出しを行うことでBobのアプリケーションを妨害しようとします。

つの質問:

  1. はイブのアプリはボブのAJAX APIを知っていると仮定すると、彼女の呼び出しは成功するのだろうか? (すなわち、ローカルホスト上のiOSサンドボックストラフィックのでしょうか?)

  2. はボブのアプリが生成されたトラフィックを盗聴するためにイブのアプリのために、それは可能ですか?

+0

これは...非常に良い質問です。恐るべき良い。 – RonLugge

+0

うわー..面白いです。私はいくつかの検索を行い、即座の答えを見つけることができませんでした。あなたが知っていれば、私が知りたいと思っている答えを投稿してください。私はそれがサンドボックスであると仮定します。そうでない場合、これは少しの見落としのようです。 – Bergasms

+0

試してみてください。これに対する答えを得る最善の方法は、そのようなアプリを2つ一緒に投げ、何が起こるかを見ることです。 – rmaddy

答えて

5
  1. ボブのアプリが実行されている場合は、[はいイブのアプリは、それに接続することができます。

これが起こる持っている2つの可能な方法があります。 Eveのアプリはバックグラウンドで実行されているので、Bobのアプリはフォアグラウンドにあり、Eveのアプリはバックグラウンドでアプリに接続しています。または、Bobのアプリがバックグラウンドで実行されており、Eveのアプリがフォアグラウンドでアプリに接続しています。

デフォルトでは、iOSはアプリをバックグラウンドで一時停止します。アプリがバックグラウンドでの実行を利用し、バックグラウンドで引き続き実行する場合は、通常どおりネットワークにアクセスできます。イブのアプリがジェイルブレイクアプリでない限り

あなたはrootアクセスを必要とするAppleのtechnical notes on Networking and Multitasking

  1. スニッフィングトラフィックに「応用編」読みたくて、それを実行することはできません。記事Wireshark CapturePrivilegesのセクション「(マックOS Xを含む)BSD」では

、それは(読み:スニフのネットワークトラフィックを)BSDシステムでは、我々はパケットをキャプチャするためにBPFデバイスにアクセスする権限を持っている必要があることを述べます。ルート(または任意のスーパーユーザ)だけがBPFデバイスにアクセスできます。また、他のユーザにもアクセスできます。

+0

優れた答え。これは私の疑惑を確認します。 Jailbrokenアプリが私の主な関心事なので、これは非常に関連性の高い情報です。ボブがこれを心配していた場合、HTTPSなどを使用してトラフィックを保護することが最善の選択肢になると思われます。 –

+0

悪意のあるアプリが別のアプリのサーバーに接続したり、別のアプリのサーバーをバックグラウンドでスプーフィングして被害者がバックグラウンドの悪意のあるサーバーに接続したりするというセキュリティ上の問題があるため、Appleがこれまで対処しているかどうかは分かりますか?たとえば、Win10アプリ(電話機を含む)にはデフォルトでサンドボックスネットワークがあることがわかっています。 Appleは何か類似したものを追加しましたか – CBHacking

関連する問題