AppleはなぜiOSアプリの「ホットパッチング」を禁止したのか:セキュリティ上のリスクが増大
Appleは、モバイルアプリ開発者によるホットパッチングの利用を禁止した。この技術は、審査済みのアプリの挙動を変更できるからだ。
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のアプリケーションを含め、指定されたコンテナエリア外に対するデータの読み書き、またはエリア外からのコードのダウンロード、インストール、実行は許可されません」(訳注:なお、審査ガイドラインの引用部分は、こちらを参照しています)
併せて読みたいお薦め記事
Apple製品を襲うセキュリティリスク
- iOSとmacOSの“PPTP突然打ち切り”に振り回されるAppleユーザーたち
- Appleが方針転換を迫られた、iOSアプリの残念な現状
- Apple「WebKit」の脆弱性を悪用してスマホから勝手に電話、その手口は
Apple製品のセキュリティリスクを回避する取り組み
- iPhone/Androidの“危ないWebアプリ作者”にならないための「5つのやることリスト」
- 「残念なiPhone管理者」「危険なAndroid使い」を見破る5つの質問
- iPhoneのバグ発見で2000万円ゲット? Apple「報奨金プログラム」の気になる中身
ホットパッチングは、エンドユーザーにとって透過的なリモート更新プロセスを指す。モバイルアプリケーションの脆弱(ぜいじゃく)性を緊急に修正する必要がある場合など、開発者とエンドユーザーの両方にとって、大半の状況で優れたアプローチだ。だが、ホットパッチングは、「App Store」などのアプリケーションエコシステムでは、問題視される可能性がある。ホットパッチングによって、AppleのApp Store審査後にアプリの挙動や機能を変更できるからだ。これにより、悪意ある開発者や中間者攻撃を行う者は、Appleの監督を回避して、思い通りにコードを注入または変更できる。
悪意あるコードについての自分の知識と、人々のシステムのセキュリティやプライバシーを侵害しようとするハッカーや政府機関の数を考え合わせると、この件に関するAppleの判断は責められない。App Storeのセキュリティは常に厳重に監視されており、開発者にホットパッチングの利用を認め続ければ、Appleがユーザーの利益を最優先して行ってきた取り組みが、無駄になるかもしれない。
Appleがこうしたパッチングを認める決定を下した当時は、悪意ある者が悪用する可能性を考慮していなかったのだろう。この決定の下でホットパッチングを直接利用してきたのは、モバイルアプリユーザー数全体と比べると比較的少ない開発者だ。だが、Appleはビジネス上の判断として、全体のリスクを最小限に抑えるために、その利用を禁止するに至った。
では、この変更はエンタープライズ環境にどのような影響を与えるだろうか。
Copyright © ITmedia, Inc. All Rights Reserved.