ホームページ » の仕方 » SafetyNetがAndroidペイや他のアプリが根ざした機器で機能しない理由を説明

    SafetyNetがAndroidペイや他のアプリが根ざした機器で機能しない理由を説明

    あなたのAndroidデバイスを根づかせることはあなたがより多くの種類のアプリとAndroidシステムへのより深いアクセスへのアクセスをあなたに与えます。しかし、GoogleのAndroid Payのようないくつかのアプリは根ざしたデバイスではまったく動作しません。.

    GoogleはSafetyNetと呼ばれるものを使用して、デバイスが根付いているかどうかを検出し、それらの機能へのアクセスをブロックします。グーグルは唯一のものではなく、他の方法でルートの存在をチェックするかもしれないが、たくさんのサードパーティのアプリも根ざしたAndroidデバイスでは動作しないだろう。.

    SafetyNet:Android携帯を根付かせたことをGoogleがどのように認識しているか

    Androidデバイスは「SafetyNet API」を提供します。これは、Googleが承認したAndroidデバイスにインストールされたGoogle Play Servicesレイヤの一部です。 Googleによると、このAPIは「Androidデバイスの健康と安全性を評価するのに役立つGoogleサービスへのアクセスを提供します」。あなたがAndroid開発者であれば、あなたはあなたのアプリでこのAPIを呼び出して、あなたが実行しているデバイスが改ざんされているかどうかを確認することができます。.

    このSafetyNet APIは、デバイスが改ざんされているかどうか、ユーザーが根ざしているか、カスタムROMを実行しているか、または低レベルのマルウェアに感染しているかなどをチェックするように設計されています。.

    GoogleのPlayストアと他のアプリがインストールされた状態で出荷されるデバイスは、GoogleのAndroid「Compatibility Test Suite」に合格する必要があります。デバイスを根絶したりカスタムROMをインストールしたりすると、デバイスが「CTS互換」になるのを防ぐことができます。これは、SafetyNet APIが自分が根付いているかどうかを判断する方法です。単にCTSの互換性を確認するだけです。同様に、中国の工場から直接出荷された20ドルのタブレットのうちGoogleのアプリのようなものが付属していないAndroidデバイスを入手した場合、たとえ根付いていなくても「CTS互換」とは見なされません。.

    この情報を取得するために、Google Play Servicesは「snet」という名前のプログラムをダウンロードして、デバイスのバックグラウンドで実行します。プログラムはあなたのデバイスからデータを収集し、Googleに定期的に送信します。 Googleは、より広いAndroidエコシステムの写真を取得することから、デバイスのソフトウェアが改ざんされているかどうかを判断することまで、さまざまな目的でこの情報を使用します。 Googleは、snetが探しているものを正確に説明していませんが、システムパーティションが工場出荷時の状態から変更されているかどうかはsnetチェックである可能性があります。.

    SafetyNet Helper SampleやSafetyNet Playgroundなどのアプリをダウンロードして、デバイスのSafetyNetステータスを確認できます。このアプリは、GoogleのSafetyNetサービスにデバイスのステータスを問い合わせ、Googleのサーバーからの応答を通知します。.

    技術的な詳細については、ソフトウェアセキュリティ会社Cigitalの技術ストラテジスト、John Kozyrakisが書いたこのブログ記事を読んでください。彼はSafetyNetを掘り下げ、それがどのように機能するかについてもっと説明します.

    それはアプリ次第です

    SafetyNetはアプリ開発者にはオプションであり、アプリ開発者はそれを使用するかどうかを選択できます。 SafetyNetは、アプリの開発者が根ざしたデバイスで動作させたくない場合にのみ、アプリの動作を妨げます。.

    ほとんどのアプリはSafetyNet APIをまったくチェックしません。上記のテストアプリのようにSafetyNet APIをチェックするアプリでも、悪い応答があっても機能しなくなりません。アプリの開発者はSafetyNet APIを確認して、デバイスのソフトウェアが変更されたことを知った場合はアプリが機能しないようにする必要があります。グーグル自身のAndroid Payアプリがその実例です。.

    Androidの支払いは根ざしたデバイスでは動作しません

    GoogleのAndroid Payモバイル決済ソリューションは、根ざしたAndroidデバイスではまったく機能しません。起動しようとすると、「Android Payは使用できません」というメッセージが表示されます。 Googleは、お使いのデバイスまたはデバイスで実行されているソフトウェアがAndroidと互換性があることを確認できません。」

    それは応援することだけではありません、もちろんカスタムROMを実行することはまたあなたをこの要求から遠ざけるでしょう。デバイスに付属していないカスタムROMを使用している場合、SafetyNet APIは「Android互換」ではないと主張します。.

    覚えておいて、これは応援を検出するだけではありません。お使いのデバイスがAndroid Payや他のアプリをスパイする機能を持つシステムレベルのマルウェアに感染している場合、SafetyNet APIはAndroid Payの機能を妨げる可能性もあります。これは良いことです。.

    デバイスを根付かせると、Androidの通常のセキュリティモデルが破られます。 Android Payは通常、Androidのサンドボックス機能を使用してあなたの支払いデータを保護しますが、アプリケーションは根ざしたデバイス上のサンドボックスから抜け出すことができます。 Googleが特定のデバイスに根付いているか未知のカスタムROMを実行している場合、Android Payがどの程度安全であるかを知る方法はないため、Googleはそれをブロックします。 Android PayのエンジニアがXDA開発者フォーラムで問題を説明しています。.

    アプリがルートを検出できるその他の方法

    SafetyNetは、アプリが根ざしたデバイスで実行されているかどうかを確認するための1つの方法です。たとえば、Samsungのデバイスには、KNOXという名前のセキュリティシステムが含まれています。あなたがあなたのデバイスを根絶するなら、KNOXセキュリティはトリップされます。 Samsung独自のモバイルペイメントアプリであるSamsung Payは、根ざしたデバイスでは機能しません。 SamsungはこれにKNOXを使用していますが、SafetyNetを使用することもできます。.

    同様に、多くのサードパーティ製アプリがそれらの使用を妨げることになりますが、それらすべてがSafetyNetを使用するわけではありません。彼らは単にデバイス上の既知のルートアプリやプロセスの存在をチェックするかもしれません.

    デバイスが根ざしていると機能しないアプリの最新リストを見つけるのは困難です。ただし、RootCloakにはいくつかのリストがあります。これらのリストは古くなっているかもしれませんが、それらは私たちが見つけることができる最高のものです。その多くは銀行取引やその他のモバイルウォレットアプリで、銀行取引情報を他のアプリに取り込まれることから保護するために根ざした電話でのアクセスをブロックします。ビデオストリーミングサービス用のアプリも、保護されたビデオストリームを録画しないようにするために、ある種のDRM対策として根ざしたデバイス上で機能することを拒否することがあります。.

    一部のアプリはだまされる可能性がある

    GoogleはSafetyNetを使って猫と猫のゲームをしています。たとえば、Android開発者のChainfireは、システムパーティションを変更せずにAndroidデバイスを根付かせる、「システムレスルート」と呼ばれる新しい方法を開発しました。 SafetyNetは当初、そのようなデバイスが改ざんされていることを検出しませんでした。AndroidPayは機能しましたが、SafetyNetは最終的にこの新しい発根方法を検出するように更新されました。これは、Android Payがシステムレスルートと連携しなくなったことを意味します。.

    アプリがどのようにルートアクセスをチェックするかに応じて、あなたはそれをだますことができるかもしれません。例えば、KNOXのセキュリティを破らずにSamsung製のデバイスを根絶する方法が報告されています。これにより、Samsung Payを使い続けることができます。.

    システム上のルートアプリをチェックするだけのアプリの場合、RootCloakという名前のXposed Frameworkモジュールがあります。これはDirecTV GenieGo、Best Buy CinemaNow、Flixsterによる映画などのアプリで動作します。これらは通常、根ざしたデバイスでは動作しません。ただし、これらのアプリがGoogleのSafetyNetを使用するように更新された場合、このようにトリックするのはそれほど簡単ではありません。.


    あなたのデバイスを根付かせると、ほとんどのアプリは通常どおり動作します。モバイル決済アプリケーションは大きな例外です。他の銀行や金融アプリケーションも同様です。有料ビデオストリーミングサービスは時々あなたも彼らのビデオを見ることからあなたをブロックしようとします.

    あなたが必要とするアプリがあなたの根ざしたデバイスで機能しない場合、あなたはそれを使うためにあなたのデバイスのルートをいつでも解除することができます。あなたのデバイスを安全な工場出荷時の状態に戻した後も、アプリは動作するはずです。.

    画像のクレジット:FlickrのDanny Choo