情報科学屋さんを目指す人のメモ

方法・手順・解説を書き残すブログ。私と同じことを繰り返さずに済むように。

【iPhone】AppStore以外のiOSアプリインストールページに要注意

iLoveMusic (24) iOS (65) iPhone (750) セキュリティ (62)

AppStoreから削除された状態のiLoveMusicが、アプリ内からアップデート先として、AppStoreに似せたウェブページからインストールさせるようにしています。実際に、AppStoreではないそのページから、iPhone(iOS7)に、簡単にアプリをインストール・実行できてしまいました。こういうAppStore以外からのアプリインストールは脱獄なしにはできないと思っていました。そこで、リジェクト状態のアプリがAppStore外でのアプリ配布をどうやっているのかについて、ちょっと覗いてみたので、メモしておきます。

iLoveMusicは、このインストール方法を使っている具体例にすぎず、アプリに問題があるのかどうかは別の話になるのですが、今後同じような"偽AppStore"的なウェブページから、悪意のあるアプリをインストールさせる例が出てくるかもしれないので、注意が必要と感じています。

AppStoreに偽装された配布サイト

現在iLoveMusicは、「http://ilovemusic.pw/sp/app_dl.html」というAppStoreではないURLへ、アプリから誘導し、最新版のiLoveMusic(ver1.3)を配布しています。

このダウンロードページは、非常にAppStoreに似ているので私も混乱してしまいましたが、フォントの違いなどからなんとか気がつくことができました。意外と上部にURLが表示されていることになかなか気が付きませんでした。

ilovemusic-download-page

とても似ています

レビューには高評価が並びます。

丁寧にも、画面下の「おすすめ」「ランキング」「近くで人気」「検索」「アップデート」ボタンも再現されています(※これはタップしても使えない)。

iLoveMusicは現在AppStoreから削除された状態が継続しているため、その代わりのダウンロードページとして利用しているようです。

HTMLソース

このAppStore似のHTMLソースを見てみました。

itms-servicesを利用

jQueryでインストールボタンのクリックイベントにハンドラを登録しています。そこから、次のURLへジャンプするようになっていました。

location.href="itms-services://?action=download-manifest&url=https%3A//s3-ap-northeast-1.amazonaws.com/ilovemusic-app/ilovemusic.v1.2.1.plist";

「itms-services://」というURLスキームを利用していることが分かりました。

「action=download-manifest」で、「download-manifest」というマニフェストファイルのダウンロードという動作を指定していて、そのダウンロード先URLを「url」で「https%3A//s3-ap-northeast-1.amazonaws.com/ilovemusic-app/ilovemusic.v1.2.1.plist」と指定しているようです。

.plistには.ipaファイルの指定

.plistを見てみると、ipaファイルのURLが記述されていました。

https://s3-ap-northeast-1.amazonaws.com/ilovemusic-app/ilovemusic.v1.2.1.ipa

ここから、アプリがs3-ap-northeast-1.amazonaws.comドメインから配布されていることがわかりました。このドメイン名は、警告文の表示と一致します。

ilovemusic-download-page-message

ここで、「あれ?いつものAppStoreと違うなぁ」と気がつけばセーフですが、あまり考えずに「インストール」を押してしまう人が少なくなさそうです。

※起動時に、もう一度類似のダイアログが表示されます。

AppStore外で配布する方法について調べてみる

このソースを読む前にAppStore以外での配布方法について調べても、今回のパターンに当てはまりそうな情報がなかったのですが、このURLスキーマで検索してみると、情報がありました。

このようなインストール方法は、OTA(Over the Air) と呼ばれる方法のようです(良い事ずくめのAdHoc配布方法OTA)。

プログラマ以外の協力者にテストしてもらう再にOTAはとても便利です。

URLスキームをメール内に書き、インストールするデバイスで受信してもらえばメールアプリでURLスキームをタップするだけでインストールできます。 引用元

とされており、AppStoreでリジェクトされた(or 未申請の)アプリであっても、このOTAを使えば配布できそうです

リンク先によると、プログラマ以外のベータ版協力者へアプリを配布する方法としてとても便利とされており、それが正しい使い方のようです。

AdHocについて調べてみると台数制限の話たくさんが見つかるが…

AdHocについて調べてみると、100台制限やUDID登録の話が複数サイトで出てきます。

しかし、当然UDIDを教えたわけではないですし、Twitter上の反応やアプリ内のお知らせを見ても、100人限定には見えません。

参考:【iLoveMusic】最新版がインストール・アップデートできるAppStore似ウェブページについて

こう考えると、今回のOTAはまた別物、もしくは仕様変更があったと考えるほかありません。

Apple Developer Enterprise

コメント欄にて、Apple Developer Enterpriseではないかという情報提供がありました。詳細はコメント欄を参照してください。

AppStore以外で配布されているアプリに要注意

iPhoneについて、今まで「AppStore経由でアプリをインストールするから、だいぶ安全性が高い」と思っていました。

しかし、今回のようなことがあったので、警戒心やセキュリティ意識の低いユーザーは、このようなAppStoreに似たダウンロードページへ誘導されてしまい、危険なアプリをインストールさせられてしまうということがよくわかりました。

現在既に多いのかよくわかりませんが、今後このようにAppStoreに似せたデザインのページが増えたとしたら、かなり危険なことだと思います。よく吟味したインストール、というより、AppStore外からのアプリダウンロードは極力避けるようにしてください。

iPhoneの設定で、デフォルトでAppStore以外のインストールを拒絶すれば良いと思うのですが、現在はダウンロード時に1回、初回実行時に1回警告が表示されるのみでした。警告といっても、デザインは普段のYes/Noダイアログなので、あまり考えずに進めてしまいそうです。

おまけ:LINE用語としての「トロイの木馬を送る」という攻撃方法の一部は本当にこういうページを作り、そのURLを送信してアプリをインストールさせるというのも含まれていたのかも、と思い出しました。この方法なら、だいぶ現実味があります。

コメント(2)

  1. toshi
    2014年7月3日(木) 07:37

    これは Apple Developer Enterprise ライセンス物ですね。
    企業内利用に限って、無制限でアプリを配布できるようになるものです。
    この利用用途は不特定多数に配っているので規約違反です。
    Apple社に連絡すれば不正利用を認めて開発者アカウントは停止されるとは思います。
    でもイタチごっこでしょうね。
    国内外問わず名前だけで生存して売りに出してる会社なんて星の数ほどあるでしょうから、そういうところに金を渡して新しくアカウントを解説すればよいだけですし。

  2. haru
    2015年7月28日(火) 16:23

    海外のアプリは外国語なので、わかりにくいし、
    わからないから怖いです。

    ありがとうございます(^^)

    中国語の勉強したくて、アプリを入れて、キーボードにも中国語を追加しました。
    キーボードは、この先も必要となりますので
    Sina weibo と Tencent weibo は削除してもまた現れると思います。

    タップしなければ、置いておいても大丈夫でしょうか?

新しいコメントを投稿