Android Authorityがこのほど、「Here's how Android apps are getting better at detecting sideloading」において、アップデートされたGoogle Play Integrity APIを使うことで、Andoridアプリの開発者が簡単にサイドローディングをブロックできるようになったと伝えた。
最近導入されたPlay Integrity APIの新機能では、整合性の判定に問題があった場合に、Playストア経由で正規にアプリを入手することを促す修正ダイアログを表示可能になった。これによって、明示的にサイドローディングされたアプリを正規のアプリに入れ替えさせることができる。
修復ダイアログで正規インストールを促す
Play Integrity APIは、不正行為や不正アクセスといった不正な操作を検出し、アプリやゲームを潜在的な危険から保護するAPI。アプリの開発者は、サーバ側のプログラムでクライアント側のコードがPay Integrity APIを呼び出すよう指示できる。APIはGoogle Playサーバに対してデバイスとバイナリが信頼できるかどうかを問い合わせ、判定結果と暗号化されたレスポンスを受け取る。クライアントのコードはレスポンスをサーバに転送し、サーバ側ではその内容によってアプリの処理を続けてもよいかどうかを判断できる。
Googleは今年5月のGoogle I/Oで、Play Integrity APIに特定の修正ダイアログを表示する機能を発表した。Play Integrity APIを使えば、ユーザーが実行しているアプリがPlayストアからインストールした正規にライセンスされたものであるかどうかを判別できる。新機能では、このステータスに応じてPlayストアからアプリを入手するよう促す修正ダイアログを表示できるもの。
ユーザーは修復ダイアログから直接Playストアのランディングページを開いてアプリを再インストールできる。この場合、インストール済みの不正なバージョンのアプリは関連するデータとともに削除されるという。
もしユーザーが指示に従ってPlayストアからアプリを再入手すれば、以後はPay Integrity APIによる整合性判定をクリアできる。修正ダイアログには何もせずに閉じるオプションもあるが、開発者は引き続きアプリをブロックするかどうかを選択できる。
ユーザーがアプリをサイドローディングするにはさまざまな理由がある。特に悪意はなくても、使いたいアプリが自身のデバイスやバージョンをサポートしていない場合などは、OSをroot化してアプリを強制インストールすれば解決できることがある。しかし、このような形で不正規にアプリをインストールすることは、マルウェアへの感染をはじめとする多くの潜在的な危険を含んでいる。
Play Integrity APIの検出メカニズムが強化されることは、パワーユーザーにとっては不都合なこともあるかもしれない。しかし本質的には、アプリのユーザーと開発者の双方を保護する有効な手段だと言えるだろう。