HuaweiのスマホにGoogleアプリをインストールするインターネットの恐ろしい方法

HuaweiのスマホにGoogleアプリをインストールするインターネットの恐ろしい方法

ご存知の通り、トランプ政権は数ヶ月前に米国企業によるHuaweiとの取引を禁止しました。先日、HuaweiはMate 30 Proという大きなスマートフォンを発表しました。これは、輸出禁止措置の影響でGoogleアプリを搭載しない初のHuawei製スマートフォンです。Googleアプリの非搭載は、このデバイスにとって深刻な汚点です。Androidアプリのエコシステムに加え、Playストア、Gmail、Googleマップ、YouTube、Chrome、Googleアシスタントといった主要なGoogleアプリも搭載されていない状態で出荷されたのです。

インターネットでは、よくあることですが、Mate 30 ProでGoogleアプリをインストールするための回避策が次々と考案されています。Googleアプリのグレーマーケット流通はAndroidの改造シーンにおいて既に確立されており、Amazon Kindle Fire端末、オープンソースのAndroidコード(LineageOSなど)をベースにしたカスタムROM、そしてGoogleフリーの中国市場向けに輸入された端末など、通常はGoogleアプリが付属しないデバイスでもGoogleアプリをインストールするのは比較的簡単です。

残念ながら、これらの方法はどれもMate 30 Proでは機能しません。これらの方法は、通常は読み取り専用のシステムパーティションにGoogleアプリをフラッシュできるアンロックされたブートローダー、またはデバイスメーカーがGoogleアプリ専用にシステムパーティションに残した「スタブアプリ」のいずれかに依存しています。スタブアプリは、サイドロードされたバージョンが動作に必要なシステムレベルの権限を取得できるようにします。Mate 30では、どちらの方法も利用できません。

従来の手法がすべて使えなくなった今、Mate 30にGoogleアプリをインストールするインターネットの全く新しい方法は、Lzplay.netというウェブサイトを使うことです。ほぼすべての主要Androidニュースサイトで、このサイトを宣伝するニュース記事を見ることができます。「mate 30 pro プレイストアをインストール」とGoogle検索したところ、文字通り1ページ目のすべての検索結果でLzplay.netが推奨されていました。Lzplayがなぜ広く使われているのかは簡単に分かります。ウェブサイトにアクセスしてアプリをインストールし、「次へ」を数回連打するだけで、GoogleアプリがHuaweiデバイスにインストールされるのです。

まるでユーザー操作をほとんど必要とせず、瞬く間に6つのシステムアプリをインストールしてしまうようです。Googleアプリは本来動作に必要なシステムレベルの権限を取得できないはずなのに、このアプリのおかげでなぜか取得できてしまうのです。まるで魔法のようです。

Lzplayは高速で使いやすく、GoogleアプリをHuaweiデバイスにインストールする点では問題なく動作します。しかし、Androidの改造に関するセキュリティ上の悪夢としては、私が今まで見た中で最悪のものです。いや、これは誇張ではありません。

ヒント:ランダムな中国語ウェブサイトをスマートフォンのリモート管理者に設定しない

Lzplay.netは、Androidのモバイルデバイス管理(MDM)APIに接続します。このAPIは、Android for Workなどのエンタープライズサービスや企業のIT部門向けに設計されています。これは、IT部門が企業支給のデバイスを完全に制御できるようにするためのリモート管理APIです。IT部門が、基本的に目の前のデバイスと同じくらいリモートでデバイスを制御できるようにすることで、アプリのインストールとアンインストール、ロック画面のパスワード変更、デバイスのリモートワイプなど、数え切れないほど多くの操作を実行できるようになります。

アプリをダウンロードした後、動画ガイドのいずれかを見ると、「デバイス管理者を有効化しますか?」というポップアップ画面が表示されます。そこには、恐ろしい権限がすべて列挙された、巨大なスクロールリストが並んでいます。この時点で、これらの権限を未知の組織に付与することが本当に良い考えなのか、よく考えてみてください。(絶対にダメです。)

以前は「デバイス所有者」と呼ばれていたこの権限セットは、100%信頼できる組織にのみ付与する必要があります。例えば、GoogleのAndroid for Workのようなアプリ、会社支給のスマートフォン用の会社のMDMプロバイダーのアプリ、あるいは個人的にリモート管理したいAndroid搭載のキオスクやIoTデバイスなどです。これらの選択肢は問題ありません。Lzplay.netのようなランダムなウェブサイトにこれらの権限を付与するのは問題です。

Huawei Technologies Co.の新しいMate 30スマートフォンのOLED画面にアプリアイコンが配置されている

写真:ミカエラ・ハンドレック=レーレ/ブルームバーグ/ゲッティイメージズ

巷にある記事や動画の多くは、Lzplay の仕組みやアクセスできる権限の数について軽々しく説明しています。Web サイトにアクセスして Lzplay アプリをインストールし、超強力なデバイス管理者権限を付与すると、アプリが自動的に Google アプリをインストールします。この時点で、ほとんどのガイドでは、作業はほぼ完了し、その後デバイスをリセットする必要がある場合があるという説明が続きます。Lzplay.net アプリがデバイスの管理者として設定されたままになることや、アンインストールしない限り、このランダムなサードパーティがあなたの携帯電話にバックドアを持つことになるということについて触れているものはほとんどありません。デバイス管理者アプリのアンインストールも、通常のアプリのアンインストールほど簡単ではありません。まず設定を調べて管理者として削除しない限り、アプリを削除することはできません。

Androidのモッディングシーンは、常にセキュリティ上の問題を抱えてきました。モッディングには、強力なルート権限を持つアプリのインストールを人々に促すことが伴うことが多く、そうしたアプリは、望めばスマートフォンに対して非常に厄介で悪意のある操作を実行できます。コミュニティが通常この問題を回避する方法は、誰でもコードを監査して動作を確認できるオープンソースのアプリをインストールするか、何年も存在し、コミュニティに実績のある、信頼できる少数のルートアプリ開発者を使用することです。Googleアプリのインストールの場合、Open Gappsなどの通常のGoogleアプリディストリビューターは、システムパーティションにワンタイムパッケージをフラッシュするだけで完了します。これを行うスクリプトはオープンソースであり、AndroidのAPK署名により、インストールされる独自のGoogleアプリが改ざんされていないことを確認できます。

Lzplay.net の方法は、こうしたコミュニティのセーフティネットを一切利用できません。前述の通り、このサイトは開設から3ヶ月しか経っておらず、中国でホストされており、所有者も不明です。しかし、本当にひどいのは、ほとんどのガイドが推奨するように、Lzplay をスマートフォンにインストールしたままにしておくと、このリモートバックドアのような状況が発生することです。Lzplay は今日は悪意のあることをしないかもしれませんが、デバイス管理者権限を保持しているため、明日にはスマートフォンにビットコインマイナーを仕込んだり、ランサムウェアをリモートでインストールしたり、スマートフォンを壊滅させたりすることが容易に考えられます。この方法は全くお勧めしません。この非常に強力なアプリをスマートフォンに永久にインストールしておくことは、セキュリティ上の大きな問題です。

Lzplayの非常に疑わしい手法と起源

Lzplay がここ 1 ~ 2 週間で急速に人気が高まった理由の 1 つは、Google アプリを Huawei Mate 30 にインストールするのに非常に優れているためです。他に代替手段はありません。Google アプリは、他のアプリにサービスを提供できるようにシステムのみの権限にアクセスするように設計されています。1 つの例は、他のすべてのアプリのログイン業務を処理する統合 Google アカウント APK ですが、通常のユーザー空間アプリとしてこれを行うことはできません。Google アプリは常にシステム パーティション上の電話の一部として出荷されるため、これらの追加権限に依存することは問題ありません。ただし、通常のアプリのようにサイドロードすることはできません。また、Mate 30 には、ユーザーがシステム パーティションを変更できるロック解除されたブートローダーがないため、Mate 30 に Google アプリをインストールする方法はないはずです。しかし、どういうわけか、Lzplay はそれをうまく機能させています。どのように?

答えはかなり怪しい。LzplayはHuawei Mate 30にのみ存在する特殊な権限を利用している。この権限により、サイドロードされたアプリは「システム」アプリとしてフラグ付けされ、通常は付与されない権限を付与される。つまり、HuaweiはAndroidの権限システムを破壊する独自のバックドアを追加し、Lzplayはそれを利用しているのだ。この一連の動きは驚くほど迅速に起きた。Lzplay.netが立ち上がり、Mate 30が発売される前に記事がインターネット上に流れたのだ。Mate 30は中国で9月26日に発売されたが、ニュース記事が出回ったのは9月23日だった。うーん。

Androidセキュリティ研究者であり、ルート権限取得を可能にするAndroidアプリ「Magisk」の開発者であるジョン・ウー氏は最近、LzplayアプリとHuawei(中国語!)の開発者向けドキュメントを詳しく調べ、その背後で何が起こっているのかを詳しく解明しました。HuaweiはAndroidのMDM APIを実装しましたが、Lzplayのようなデバイス管理者向けアプリに2つの追加権限を追加しました。「com.huawei.permission.sec.MDM_INSTALL_SYS_APP」(おそらく「システムアプリのインストール」)と「com.huawei.permission.sec.MDM_INSTALL_UNDETACHABLE_APP」(「取り外し不可能なアプリ」をインストールするための権限)です。

サードパーティ製アプリによるシステムパーティションの変更を許可することは特に深刻な問題です。Mate 30にはロック解除可能なブートローダーがないため、新品同様の状態に戻す手段がないからです。Huaweiの「Install_sys_app」権限はそれほど悪くありません。Wu氏によると、Huaweiのシステムパーティションは依然として読み取り専用であり、サードパーティ製アプリは実際にはシステムアプリではないにもかかわらず、システムアプリとしてフラグ付けされる可能性があります。これらのアプリはシステムパーティションには入りませんが、HuaweiのOS追加機能により、システムレベルのパーティションが確保されます。

これはGoogle Play搭載のスマートフォンでは決して起こり得ないことです。Google Playアプリのライセンス要件の一つに、Android互換性定義文書(CDD)への準拠が定められているからです。CDDは権限システムの仕組みを完全に成文化しており、具体的な引用としては、第9.1条第3項「保護レベルがPROTECTION_FLAG_PRIVILEGEDの権限は、システムイメージの特権パスにプリインストールされたアプリにのみ付与されなければならない」が挙げられます。つまり、システムパーティション上にいない場合は、システムレベルの権限を持つことはできないということです。Huaweiのシステム権限を昇格させる「フラグ付け」方法は明確に禁止されています。

しかし、Googleアプリがないため、CDDは適用されず、Huaweiはセキュリティを脅かすような変更を好きなだけ行うことができます。Googleの膨大なAndroidルールがなぜ必要なのかを実例で知りたい方は、OEMがGoogle以外のスマートフォンをたった一度リリースしただけで、Androidのセキュリティモデルが崩壊したという事実を思い出してください。

John Wu が書いているように、この API はどのサードパーティ開発者でも利用できるわけではない。

中国語のみで書かれた資料によると、サードパーティの開発者/企業は、SDKへのアクセスを得るために、法的契約書に署名し、Huaweiに提出する必要があります。開発者はプロジェクトごとに、正当な理由と付与する権限のリストを添えてリクエストを提出する必要があります。さらに、各リリースのAPKバイナリはHuaweiにアップロードされ、審査を受け、Huaweiの特別なキーで署名されます。

ウー氏はさらにこう述べている。「現時点では、Huaweiがこの「LZPlay」アプリの存在を十分に認識しており、その存在を明示的に許可していることは明らかです。このアプリの開発者は、何らかの形でこれらの文書化されていないAPIを認識し、法的契約に署名し、数段階の審査を経て、最終的にHuaweiの承認を得る必要があります。」念のため付け加えておきたいのは、これらはすべてMate 30の一般発売の少なくとも3日前に完了していたということです。Lzplayはどういうわけか、発売のかなり前にこれらすべてについて十分に把握しており、アプリを開発し、Huaweiのプロセス全体を経て、ウェブサイトを立ち上げる時間がありました。改めて考えてみると、うーん。

Huaweiは既にLzplayの背後に同社がいるかどうかの問い合わせを受けており、正直なところ、Lzplayの強力さを考えると、現時点ではそれが最良のシナリオと言えるでしょう。しかしHuaweiはこの考えを否定し、Android Centralに対し次のように声明を発表しました。「Huaweiの最新Mate 30シリーズにはGMSがプリインストールされておらず、Huaweiはwww.lzplay.netに一切関与していません。」

Wu氏が述べているように、Lzplayアプリは「奇虎加固(QiHoo Jiagu)によって難読化/暗号化されており、リバースエンジニアリングは容易ではない」ため、現時点では更なる調査は不可能です。つまり、誰かがわざわざLzplayの仕組みを隠蔽しようとしたため、それがどのように機能するのか、誰が作ったのか、私たちには全く分からないのです。

LzplayとMate 30の不安定な未来

この記事を書いている間ずっと、Lzplay.net がまだ生きているかどうか確認するために、時々更新していました。復旧している時もあれば、復旧していない時もあり、アプリのダウンロードがうまくいく時もあれば、うまくいかない時もありました。確かに、このサイトは現在、何らかの問題を抱えているようです。理由は不明です。

本稿執筆時点で、Mate 30をめぐるGoogleエコシステムも崩壊しつつあるようだ。GoogleアプリをインストールしたMate 30は、初期レビュー機において、Googleの「SafetyNet」デバイス整合性チェックを不可解にもパスした。これは、Google Payや一部の銀行アプリといった高セキュリティ決済アプリを実行するために必要なものだ。Googleのドキュメントにあるように、SafetyNetは「正規のAndroidデバイスで動作している正規のアプリとサーバーが通信しているかどうかを判断するために」存在するため、Mate 30がパスするはずはなかった。しかし、このスマートフォンはAndroid CDDに合格していないため、Androidデバイスではない(商標はGoogleが所有)。SafetyNetは、改造版やルート化版のAndroidが特定のアプリにアクセスするのを阻止するために存在している。

昨日、Mate 30が突然SafetyNetのチェックを通過できなくなり、Google Payなどの銀行アプリも動作しなくなりました。そもそもなぜ通過できたのかは謎でした。しかし、注目すべきは、1週間は正常に動作していたにもかかわらず、ウー氏がTwitterでこのアプリにフラグを立てた後、SafetyNetのチェックを通過できなくなったことです。もしかしたらGoogleが聞いていたのかもしれません。

現時点ではMate 30は中国でのみ販売されており、中国ではGoogleのサーバーの大部分がブロックされているため、今回の騒動がセキュリティ上の懸念事項として広く知られることはないだろう。Huaweiは米国ではあまり事業を展開していないものの、欧州では大きな存在感を示しており、Samsungに次ぐスマートフォンメーカー第2位で、市場シェアは18%に上る。欧州での公式発売日はまだ発表されていないものの、Mate 30 Proの欧州への出荷はほぼ確実と言えるだろう。もしLzplayが生き残ってGoogle非搭載のスマートフォンがGoogleアプリを必要とする地域に進出した場合、多くの人があの魅力的なGoogleアプリへのアクセスのためだけに、正体不明の企業にスマートフォンを明け渡すことになるかもしれない。

Huaweiと提携関係にある企業が、Mate 30の潜在顧客のGoogleアプリへの不安を軽減するためにLzplayを開発したとしたら、今やその狙いは裏目に出てしまったようだ。Google Payのようなアプリの将来像は流動的であり、LzplayはGoogleエコシステムの外側での生活がいかに不透明で危険になり得るかを浮き彫りにしている。Huaweiは、ユーザーにデバイスを完全に制御させ、ブートローダーのロックを解除できるようにすることで、この問題を解決できたはずだ。つまり、通常のGoogleアプリのフラッシュ手法が機能するはずだが、今のところHuaweiはそうするつもりはないようだ。

このストーリーはもともと Ars Technica に掲載されました。


WIREDのその他の素晴らしい記事

  • 金持ちの人たちはなぜそんなに意地悪なのでしょうか?
  • 都市は都市の野生生物の進化の道筋をどのように変えるのか
  • 知っておくべきiOS 13のプライバシーとセキュリティ機能
  • 「スマートキッチン」はとても愚かだ
  • 人工知能は「再現性」の危機に直面
  • 👁 機械はどのように学習するのか?さらに、人工知能に関する最新ニュースも読んでみましょう
  • 🏃🏽‍♀️ 健康になるための最高のツールをお探しですか?ギアチームが選んだ最高のフィットネストラッカー、ランニングギア(シューズとソックスを含む)、最高のヘッドフォンをご覧ください。