2017年12月25日

本当に安全?そのiOS構成プロファイル

テクノロジー 脅威

2017年も魅力的なデバイスが発表されたiOSですが、今年のiOSに対する脅威を振り返ってみると、「iOS構成プロファイル」という、普通はあまりなじみのない設定ファイルを悪用した事件が日本で発生したことが思い出されます。スマートフォンは便利ですが、実は使っている中で知らないことも多いと思います。危険は忘れたころにやってくる、ではないですが、今回はあまりに簡単に設定できてしまう割に知られていないことを取り上げ、安全を確認する習慣が大切である、という当然のことに焦点を当ててみます。

悪い冗談… iOSで発生してしまったiXintpwn(YJSNPI)事件

YJSNPIは、悪意あるJavaScriptとiOS構成プロファイルのペアであり、わずらわしいアイコンを大量に作るプロファイルをインストールさせるジョークプログラムの1つです。今年9月、TrendMicroはこの悪意あるスクリプトと構成プロファイルについて、同社ブログにて解説しました。

感染媒介となるのは「iOS構成プロファイル」と呼ばれる単なるXMLファイル(.mobileconfig ファイル)で、iOS構成プロファイルの仕様に沿って各種設定が記載されています。「iXintpwn(YJSNPI)」は基本的に、このiOS構成プロファイルを乱用したものです。特徴としては、mobileconfigファイルを消せない、わずらわしいアイコンが大量に現れてしまう、ホームスクリーン上に作られてしまったWebクリップアイコンを消せない、Webクリップから望まないURLへリダイレクトされる、などです。iOS構成プロファイル中のUUIDはJavaScriptからランダムに生成され、このプロファイルの消去をより困難にしています。

mobileconfig インストール後の画面

一方で、我々は開発者のものらしき以下のページを見つけました。

開発者募集を告知するページ

内容からすると、開発者はこれらをより洗練されたマルウェアにするため、共犯者を必要としていたようです。

iXinput(YJSNPI)の模倣犯?

YJSNPIで使われていたTwitterアカウントはすでに停止させられており、活動も停止している様子でした。しかし我々はまた、このジョークプログラムに関連した別の開発プロジェクトを見つけました。

他の開発者によるiOS構成プロファイル生成用ページ

このWebサイトはテスト用のJavaScriptを用意し、ダウンロードできるように実装されていました。そのスクリプトはYJSNPIと同じようなiOS構成プロファイルのXMLを生成するように記述されており、YJSNPIの設定のいくつかを修正したもののように見えました(アイコンの生成数、表示名、ペイロードの名称、Webクリップのアクセス先URLなど)。

他の開発者の wiki

しかしながら、公開されたコードは壊れているように見えました。このプロジェクトはYJSNPIとほぼ同等にしつらえてあり、おそらくソースコードからいくつかアイデアをコピーしただけだと思われます。

海外を見回してみると、iXintpwnで使われたiOS構成プロファイルを元にして、ドクロアイコンに入れ替えて試した画像が公開されていました。

改変した mobileconfig のデモ

iOS構成プロファイルは40MBほどもあり、そのほとんどはサイズの大きい画像とアイコンタイトルで埋め尽くされていました。実際にインストールした様子を示す動画では、デバイスの操作が極端に遅くなり不安定になると述べています。さらには端末が熱くなってくるなどの症状が出ていたとのコメントがあります。

以上のことから、このiOS構成プロファイルを使ったいたずらは、簡単に模倣できることが分かります。そのため、mobileconfigを悪用した模倣犯が現れてくる可能性はまだあると思われます。

以前から警告はあった

2013年の時点で、SkycureがiOS 構成プロファイルを利用した悪用の可能性について警告しています。

そこでは、得体のしれないiOS構成プロファイルをインストールしてしまうことによるリスクが述べられています。「これをインストールすると無料でサービスを受けられる」など、いかにも利用者の利益になるような文面が添えられたWebサイトなどを媒介に、人間心理を突いて怪しいiOS構成プロファイルをインストールするよう仕向ける手段が現れる可能性が指摘されています。

iXintpwnは、iOSのJailbreak(脱獄)を支援すると謳っていました。簡単に脱獄したいがために、どのような設定がされるかを確認せずにインストールをする人々がいることを、開発者は予測していました。

脱獄支援を騙るiXintpwn ダウンロードページ

では実際に、iOS構成プロファイル乱用の影響として、どのようなことが考えられるのでしょうか。すでに他のブログ記事でも指摘されているように、VPNの設定変更などでインターネットへの経路変更を行い、通信からデータを盗み取るなどの害を及ぼすことが考えられます。また、不正なiOS構成プロファイルによって作成されたWebクリップをタップすることで、ユーザーの意図しない不正なサイトへアクセスさせることも可能です。アクセス先がフィッシングサイトなら、アクセス専用ページと偽ってユーザーアカウントの窃取を行うことや、不正なJavaScriptの実行も考えられます。その他にも、Safariのアイコンを見えなくする、カメラを使用禁止にするなど、制限設定のいくつかもiOS構成プロファイルを通して設定されてしまう可能性があります。

デバイスを保護するには

どんなものであれ、自分のデバイスに何かをインストールする際に、基本となる姿勢は次のとおりです。

  • そもそも、信頼できないものは利用しない。
  • iOS構成プロファイルが必要な場合、信頼できるソースによって提供されているかどうかを確認する。自分が所属する企業のIT管理部や、ISP企業から提供される場合もありますが、本当に信頼できる相手が送ってきているのか(名乗るとおりの相手から送られてきているか)を必ず確認してください。
  • 不正な利用(脱獄など )の目的でデバイスを使用しない。怪しいものには近づかないことです。

Apple自体も、iOS構成プロファイルのインストールに際しては、複数回の確認手段を実装していますし、そもそも自動ではインストールされません。万が一、不正なiOS構成プロファイル(mobileconfigファイル)をインストールしてしまった場合には、Apple Configurator 2を使って設定を回復させることができます。

目の前のしたいことにかられてインストールしてしまうのを防ぐには、利用者自身が安全を確認する姿勢を身につけて行動するしかありません。

なお、カスペルスキー製品はiXinput(YJSNPI)を「 Constructor.JS.YJSNPI.a 」として検知・ブロックします。