URLスキームハイジャックに注意

(2019/7/20追記)この記事は特定のMUSIC FMアプリのURLスキームハイジャックについて書いたものですが、記事が公開されてから2日後に該当アプリは削除されました。すべてのMUSIC FMアプリにこの問題が有るわけではありません。
記事内容を修正しました。


2019/7/18時点のiPhoneのAppStoreの無料APPのランキング2位に不適切なアプリが掲載されていました。該当アプリの音楽ダウンロード Music FMは、URLスキームハイジャックという方法で広告費を稼いだり、ユーザの情報を盗もうとするアプリです。

ユーザが簡単にできる対策は、アプリを入手する前に最新のレビューを確認する事です。

音楽ダウンロード Music FM

最近流行りの無料で音楽が聞けるアプリです(著作権的にグレーな雰囲気がします)

このアプリにはURLスキームハイジャックという不適切な仕掛けが入っており、iPhoneでリンクをクリックすると思っていたアプリではなく、このアプリが開くことが起こります。

その結果、MusicFM内の広告を見せられる事と、プライバシーの問題が生じます。
MusicFM内の広告を見せられるのは、不適切な広告での稼ぎ方ですが、ユーザにとってはそれほど大きな問題でないかと思います。

プライバシーについては大きな問題ですので、以下プライバシーの問題(URLスキームハイジャック)について書きます。

URLスキームとはiPhoneの機能で、Safariや他のアプリからアプリを開くことが出来ます。例えばホームページのLINEのアイコンを押せばLINEアプリが開いたり、Youtubeのリンクを押すとYoutubeアプリが開きます。
これはリンクにそれぞれのアプリに対応したURLスキームが指定されており、そのURLスキームが設定されたアプリが開くという仕組みです。
基本的にはアプリの設計時にオリジナルのURLスキームを設定し、他のアプリとURLスキームが被らないようにします。

もしも1台のiPhoneに同じURLスキームのアプリが2つある場合、そのURLスキームを指定したリンクを押した時、どちらのアプリが開くかはわかりません。

ちなみにこのMusicFMには有名なアプリと同一のURLスキームが3000以上設定されています。

このアプリをインストールすると、例えばsafariからLINEにURLやメッセージを送ろうとすると、LINEアプリではなくMusicFMが開く事がまれに起こります。
この時送ろうとしたURLや入力していた内容をMusicFMが収集できます。これをURLスキームハイジャックといいます。

URLスキームハイジャックを想定していないアプリではURLスキームにユーザ情報やログイントークンを追加してやり取りする事があります。そうなるとそれらの情報がMusicFMに盗まれます。(#3)

アプリに不適切なURLスキームハイジャックが仕込まれているかは、アプリのinfo.plistというものを確認すればわかるのですがこれは一般ユーザが簡単に出来ることではありません。

ユーザが出来る対策としては、iPhoneの操作中に想定外のアプリが開くことがあればまずURLスキームハイジャックを疑ってください。
次に想定外に開いたアプリのAppStoreでの最新レビューを確認して同様の事が他のユーザでも起こっていたらそのアプリは削除しましょう。そして可能ならレビューに起こったことを書いておきましょう。

Appleがすべきなのは、URLスキームに制約を加えることと思います。1つのアプリに設定できるURLスキーム数に上限を作ることや、スキーム名に開発者IDなどの制限を加えて同一のURLスキームが設定できないようにすべきと考えます。

 

<参考リンク>

「ポケモンGOマップ」アプリがモンストが開くはずのURLスキームを乗っ取り全画面広告に転送してくるので注意
https://did2memo.net/2016/08/14/pokemon-go-pokemon-go-map-url-scheme/

(#3)iOS URL Scheme Susceptible to Hijacking – TrendLabs Security Intelligence Blog
https://blog.trendmicro.com/trendlabs-security-intelligence/ios-url-scheme-susceptible-to-hijacking/