検索
特集/連載

AppleはなぜiOSアプリの「ホットパッチング」を禁止したのかセキュリティ上のリスクが増大

Appleは、モバイルアプリ開発者によるホットパッチングの利用を禁止した。この技術は、審査済みのアプリの挙動を変更できるからだ。

Share
Tweet
LINE
Hatena

関連キーワード

Apple | iOS | iPhone | 脆弱性


Appleの「方針変更」が開発者やIT管理者、そしてユーザーを振りまわすのも事実だが、それが結果的に全体のメリットとなることもある

 Appleは2017年3月から、「Rollout.io」や「JSPatch」のようなフレームワークを通じてホットパッチングを利用しているモバイルアプリ開発者に対し、Appleの規定に違反していると警告し始めた。

 Appleは開発者に送信した電子メールの中で、次のように述べている。「あなたのアプリケーション、拡張、またはリンクされたフレームワークは、アプリケーション審査の承認後にあなたのアプリケーションの挙動や機能を変更できるように明確に設計されたコードを含んでいるようです。これは、Apple Developer Programライセンス契約の3.3.2と、App Store審査ガイドライン2.5.2に違反しています」

 ガイドライン2.5.2は、次のように定められている。「アプリケーションはバンドル内で自己完結している必要があります。別のiOS、watchOS、macOS、tvOSのアプリケーションを含め、指定されたコンテナエリア外に対するデータの読み書き、またはエリア外からのコードのダウンロード、インストール、実行は許可されません」(訳注:なお、審査ガイドラインの引用部分は、こちらを参照しています)

 ホットパッチングは、エンドユーザーにとって透過的なリモート更新プロセスを指す。モバイルアプリケーションの脆弱(ぜいじゃく)性を緊急に修正する必要がある場合など、開発者とエンドユーザーの両方にとって、大半の状況で優れたアプローチだ。だが、ホットパッチングは、「App Store」などのアプリケーションエコシステムでは、問題視される可能性がある。ホットパッチングによって、AppleのApp Store審査後にアプリの挙動や機能を変更できるからだ。これにより、悪意ある開発者や中間者攻撃を行う者は、Appleの監督を回避して、思い通りにコードを注入または変更できる。

 悪意あるコードについての自分の知識と、人々のシステムのセキュリティやプライバシーを侵害しようとするハッカーや政府機関の数を考え合わせると、この件に関するAppleの判断は責められない。App Storeのセキュリティは常に厳重に監視されており、開発者にホットパッチングの利用を認め続ければ、Appleがユーザーの利益を最優先して行ってきた取り組みが、無駄になるかもしれない。

 Appleがこうしたパッチングを認める決定を下した当時は、悪意ある者が悪用する可能性を考慮していなかったのだろう。この決定の下でホットパッチングを直接利用してきたのは、モバイルアプリユーザー数全体と比べると比較的少ない開発者だ。だが、Appleはビジネス上の判断として、全体のリスクを最小限に抑えるために、その利用を禁止するに至った。

 では、この変更はエンタープライズ環境にどのような影響を与えるだろうか。

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る