Root化またはカスタムROMのインストール後にAndroidでSafetyNetを通過する方法

root化やカスタムROMのインストールなどの大規模な改造を行った後でも、SafetyNetを通過することは可能です。 その方法をここで確認してください。

クイックリンク

  • セーフティネットとは何ですか?
  • SafetyNet のトリップとその影響
  • Android デバイスで SafetyNet 証明書に合格する方法
  • 検証

SafetyNet バイパスは、長い間、Google と Android のアフターマーケット MOD コミュニティの間でいたちごっこでした。 いじくり回す人は携帯電話のソフトウェアを変更するのが大好きです。このプロセスには通常、最初のステップとしてブートローダーのロック解除が含まれます。 しかし、これにより SafetyNet がトリップし、いくつかの人気のある重要なアプリが停止する可能性があります。 電話で作業している人もいますが、当然のことながら、改ざん防止環境に依存している人もいます。 実行。

正確に言うと、セーフティネットは アプリ開発者向け, ただし、それを使用するかどうかは選択できます。 ただし、通常のエンド ユーザーの場合は、Android のモッディングの可能性を諦めて SafetyNet 互換性テストに合格するか、アプリ発行者から追放され続けるかのどちらかです。 root化した後でもSafetyNetを通過する方法が気になる場合は、 カスタムROMのインストール お使いのデバイスでは、このガイドがそれを解決するのに役立ちます。

セーフティネットとは何ですか?

Android は、エンド ユーザーに基盤となるサブシステムに対するいかなる特権制御も与えずに実行できるように設計されています。 Android デバイスを操作している人が同様の管理アクセス権 (別名) を取得できる場合 「スーパーユーザー」) 権限は Linux と同様で、基本的にコア システム アプリケーションを変更または置き換えることができ、 設定。 アプリ開発者の観点から見ると、これは、アプリが実行されているデバイスが侵害される可能性があることを意味します。 デバイスのソフトウェアとハ​​ードウェア環境を検査し、アプリ開発者にすべてが正常であることを保証する、ある種の不正使用検出システムが必要です。 ここでセーフティネットが登場します。

モッディングは Android エコシステムの不可欠な部分ですが、セキュリティ ポリシーの制約を満たすために OS に高度な厳密性が必要な場合があります。 SafetyNet は、Google Play Services に存在する不正行為検出 API のセットです。 電話をかけることで、

SafetyNet 認証 API、サードパーティのアプリケーションは、デバイスのソフトウェア環境が何らかの方法で改ざんされていないかどうかを確認できます。 API は、ブートローダーのロック解除ステータス、スーパーユーザー バイナリの兆候など、さまざまなことをチェックして、 ターゲット Android デバイスの現在の状態を確認し、環境の整合性を既知の「安全な」値と照合して検証します。 サーバ側。

SafetyNet アテステーション API プロトコル

注目すべきことに、Google はすでに次の計画を発表しています。 セーフティネットの段階的廃止. に置き換えられます。 Play Integrity API 2024年までに。 それにもかかわらず、SafetyNet は依然として多くのアプリ開発者によって改ざん検出のために使用されており、これは、MOD 愛好家にとって確かに厳しいハードルであることを意味します。

SafetyNet のトリップとその影響

Android デバイスの標準設定からの多数の逸脱イベントは、最終的に SafetyNet のトリップにつながります。 携帯電話のブートローダーのロックを解除しただけで、工場出荷時にインストールされた OS をそのままにしても、「CTS プロファイルの不一致」が発生する可能性があります(CTS は C互換性 TEST(東部基準時 Sスイート) エラーにより、SafetyNet チェックが失敗します。 もし、あんたが Android デバイスを root 化する またはストックファームウェアを カスタムROM場合、ほとんどの場合、SafetyNet 失敗ステータスが表示されます。 その結果、デバイス上で SafetyNet 検証を使用するアプリやゲームを使用できなくなります。 これは、銀行やその他の金融アプリに特に当てはまります。 Google Payこれは、SafetyNet Attestation の結果に厳密に依存しており、セキュリティのために、一見改ざんされた環境でユーザーがアプリを操作することを許可しないためです。

ゲームに関しては、開発者は SafetyNet を使用してデバイスの完全性を評価し、不正なプレイヤーが不公平な利益を得るためにゲーム内変数を不正行為したり変更したりすることを防ぎます。 最後になりましたが、パブリッシャーが単に Google の改ざん検出メカニズムの悪用 実際的な理由はないため、パワーユーザーは検出ルーチンを回避したいと考えます。

一言で言えば、Mod コミュニティはルート/カスタム ROM/カーネルなどへのアクセスのいずれかを選択する必要があります。 またはお気に入りのアプリやゲーム。 これで Android でのアフターマーケット開発は終わりのように聞こえるかもしれませんが、希望はあります。

Android デバイスで SafetyNet 証明書に合格する方法

Google は SafetyNet Attestation API のバックボーンを定期的に更新するため、チェックを回避する真の普遍的な方法はありません。 制限は多くの要因に依存するため、次の方法で MOD 環境で SafetyNet を渡すことができます。 従来のデバイスでは最も重要なパラメータを偽装しますが、同じトリックは新しいデバイスではまったく機能しない可能性があります 電話。 アフターマーケット開発コミュニティは、SafetyNet チェックに合格するための多くのテクニックを考案しましたが、 不正行為防止 API は常に変化する性質があるため、汎用的な実装は不可能です. これは点と同点のゲームです。ある日は優位に立つこともあれば、別の日には優位に立たないこともあります。

に向けて徐々に移行していくことで、 ハードウェア認証 この戦略では、Google は改ざん検出のために携帯電話の信頼できる実行環境 (TEE) または専用のハードウェア セキュリティ モジュール (HSM) のセキュリティに依存しています。 デバイスの隔離された安全な環境で重大なセキュリティ脆弱性を発見し、それを悪用してなりすましを行う SafetyNet のクライアント側の応答は実現可能なアプローチではありませんが、これは XDA です。つまり、不足はないということです。 革新的な方法 障害物を乗り越えるために。

以下に、SafetyNet を通過するためのよく知られた方法をいくつか示します。

1. 元のファームウェアの復元とブートローダーの再ロック

これはおそらく、SafetyNet に合格する最も簡単な方法ですが、それ自体の長所と短所があります。 Android デバイスに適したファームウェアを見つけてフラッシュし、最後にブートローダーを再ロックするだけです。 もちろん、改造シーンの付加機能のほとんどが失われることになりますが、実際には、 厳格なセキュリティ ポリシーが適用された管理環境でデバイスを使用する必要がある場合、またはデバイスを販売しようとしている場合 デバイス。

携帯電話の再入荷手順がわからない場合は、XDA フォーラムにアクセスすることをお勧めします。 デバイスを検索し、公式ソフトウェアをインストールしてロックするためのガイドを探します。 ブートローダー。 私たちはチュートリアルを提供していますが、 点滅するサムスンギャラクシー そして Googleピクセル デバイスごとに異なるため、これに共通の方法はありません。 ストック構成を復元したら、何もいじらずに SafetyNet を通過できるはずです。

2. Magiskの使用

従来の Android スマートフォンをお持ちの場合は、 マジスク あまり手間をかけずに SafetyNet に合格するには、これが最善の策です。 Magisk の現在の安定版ビルドには (v24 リリース以降) MagiskHide が搭載されていませんが、v23.x バージョンをそのまま使用して、MagiskHide を利用してアプリから root ステータスを隠すことができます。 さらに、インストールできるのは、 Magiskモジュール のように MagiskHide 小道具構成 SafetyNet を通過させるためにデバイスの指紋を変更/なりすます。 詳細については、モジュール サポート スレッドを参照し、開発者が提供する指示に従ってください。

MagiskHide の非推奨について言えば、 拒否リスト Magisk の機能は興味深い開発で、ユーザーは、Magisk がそれ以上の変更を拒否し、行ったすべての変更を元に戻すプロセスのリストを割り当てることができます。 適切な構成を使用すると、一部のシナリオで SafetyNet を渡すために使用することもできます。

以下に、SafetyNet を渡すために DenyList を利用する一般的な手順を示します。

  1. Magisk アプリを開き、歯車アイコンをクリックして設定セクションにアクセスします。
  2. 下にスクロールして有効にします ジギスク そして DenyList を強制する.
  3. 次に、 拒否リストの構成 オプションで、上部にある 3 つの点をタップして選択します システムアプリを表示.
  4. Google Play ストアと Google Play サービスの DenyList を構成します。
    • 特定のアプリからルートステータスを非表示にする必要がある場合は、この段階でそれらも選択する必要があります。
  5. 案内する 設定 > アプリ そして、DenyList で設定したすべてのアプリのデータをクリアします。
  6. デバイスを再起動します。 起動後、インターネットに接続し、電話をしばらくアイドル状態にしてから、SafetyNet のステータスを確認します。

Magisk XDA フォーラム

3. ユニバーサルセーフティネット修正の使用

Google のハードウェアを利用した SafetyNet 認証技術をバイパスするのは少し難しいですが、完全に不可能というわけではありません。 の ユニバーサルセーフティネット修正 XDA上級会員によるプロジェクト kdrag0n は、ハードウェアによるチェックを超えて基本的な認証を強制することで、この偉業を巧みに達成しています。 簡単に言うと、Play Services プロセスにいくつかのコードを挿入し、本物のキーストア プロバイダーをオーバーライドする偽のキーストア プロバイダーを登録します。

特に、Universal SafetyNet Fix は、基本的な認証部分を渡す際に Magisk に依存しています。 開発者は Zygisk を最新バージョンに対してのみサポートしています。つまり、Zygisk を使用するには Magisk 24 以降が必要です。 そうは言っても、次のこともできます リル-互換性のあるレガシー ビルドは、以下のリンクのリポジトリにあります。

ユニバーサル セーフティネットの修正: GitHub リポジトリ ||| XDA ディスカッション スレッド

インストールプロセスは非常に簡単です。

  1. ターゲットデバイスにMagiskがインストールされていることを確認してください。
  2. MagiskHidePropsConfig モジュールがインストールされている場合は削除します。
  3. Universal SafetyNet Fix モジュールをインストールし、デバイスを再起動します。
    • 再起動後に GMS データを消去する必要がある場合があります。
  4. 利益!

特に、XDA 上級メンバー ディスプレース は、Play Integrity API をバイパスできる Universal SafetyNet Fix のフォークを考案しました。 これは、現行世代の Google Pixel ユーザーにとって特に便利です。 詳細については、以下のリンクをご覧ください。

Displax の Universal SafetyNet Fix フォーク: GitHub リポジトリ ||| XDA ディスカッション スレッド

4. シャミ子

また、Zygisk (zygote プロセスの Magisk) 上に書かれた開発中のモジュールである Shamiko もあります。 Magisk の拒否リストから非表示にするアプリのリストを読み取り、Magisk ルート、Zygisk 自体、Zygisk モジュールを非表示にして SafetyNet を回避します。 ただし、シャミコは DenyList 機能を無効にした後にのみ機能します。

Shamiko のプレリリース ビルドは、LSPosed の GitHub リポジトリからダウンロードできます。

ダウンロード

Shamiko は本質的に Magisk モジュールであるため、適用するのは非常に簡単です。

  1. Zygisk サポートが Magisk で有効になっていることを確認してください。
  2. Shamiko を通常の Magisk モジュールとしてインストールし、再起動します。
  3. DenyList を構成して、要件に応じて非表示にするためのプロセスを追加します。 ただし、電源を入れないでください。 DenyList を強制する オプション。
  4. ホワイトリスト モードを構成するには、次のように空のファイルを作成するだけです。 /data/adb/shamiko/whitelist
  5. それでおしまい!

5. ih8sn

SafetyNet 認証に合格するために Magisk に依存したくない場合は、次の名前の実験的なアドオンを試すことができます。 ih8sn. 適用後、MagiskHide Props Config モジュールのような SafetyNet チェックを回避するために、大量の prop 値を偽装する可能性がありますが、そもそも Magisk への依存関係はありません。

ih8sn ツールは 維持された 数人の LineageOS 開発者によって開発されましたが、LineageOS プロジェクトはまだこれを正式に承認していません。 さらに、すぐにフラッシュできるソリューションではないため、フラッシュする前に自分で設定する必要があります。 詳細については、以下のリンクからコードベースをご覧ください。

ih8sn GitHub リポジトリ

ih8sn のインストールを正常に実行するために従う必要がある手順は次のとおりです。

  1. ih8sn の最新リリースを次からダウンロードします。 ここ.
    • 最新の Android デバイスの場合は、aarch64 バリアントを選択してください。
  2. 適切なアーカイバーを使用して ZIP ファイルを開き、次の場所に移動します。 /system/etc/ih8sn.conf、テキストエディタでファイルを編集して、 BUILD_FINGERPRINT そして 商品名 変数。
    • デバイスのサブフォーラムを参照して、変数 duo に最も適切な値を取得します。
  3. 変更を保存し、次のようなカスタム リカバリを通じて変更した ZIP ファイルをインストールします。 TWRP.

検証

前述の SafetyNet 通過メソッドのいずれかを適用した後、結果を確認することができます。 Magisk アプリには、メイン メニューから直接 SafetyNet チェック ルーチンを開始するオプションが付属しており、これは非常に便利です。 という名前のオープンソース アプリを選択することもできます。 ヤスナック (略して Yなど S安全ネット テストステーション Checker) ステータスを確認し、(オプションで) JSON 応答を調べます。

YASNAC - セーフティネットチェッカー開発者: Xingchen & Rikka

価格:無料。

4.9.

ダウンロード

これにより、携帯電話で SafetyNet を通過できるようになります。 少しの時間と忍耐力があれば、SafetyNet Attestation の失敗を気にせずに Android の真の MOD 機能を復元することができます。 このガイドは、SafetyNet の通過方法をさらに追加して更新する予定ですので、今後もチェックしてください。