ルート化アプリが機能しなくなったのはなぜですか?


10

数年前は、どのデバイスでもroot化するのは簡単でした。KingRoot、KingoRoot、または同様のアプリをインストールし、大きなROOTボタンを押して、あとはすべて任せてください。約5分後、緑色の「Root Succeeded!」プロンプトが表示され、ルートアプリを保持するか、それをアンインストールしてSuperSU / Superuserなどのクリーンなルートマネージャーアプリをインストールするかを選択できます。

それらはどのように機能しますか?なぜ彼らはもう働いていないのですか?そして、それらが機能する場合、それらを使用する必要がありますか?


2
これは、特に次のVERIFIED / SECURE BOOTセクションで役立ちます:forum.xda-developers.com/android/general/…–
Irfan Latif

回答:


16

数か月前にこの質問があり、いくつかの調査でこの回答を見つけたので、オンラインで偽の情報を考慮し、質問に回答してこのサイトで私の調査を共有することを考えました。(たとえば、公式のKingoRootサイトでは、Android Oreoルート化できると記載されていますが、これは完全に間違った情報です)

応援アプリはどのように機能しますか?

非常に多くのルートアプリ、KingRoot、KingoRoot、Z4Root、Root Genius、Universal Androotがあり、人気のある/人気のあるアプリとして使用されています。それらすべては、Android OSのエクスプロイト/脆弱性/抜け穴を使用して、システムアプリまたはAndroid OS自体に予約された特権を自分自身に与えます。そして/system、システムを実行するために必要なプロセスとシステムアプリを格納するという名前のディレクトリを読み取り/書き込みとしてマウントし、ディレクトリの場所にという名前のバイナリを配置しsuます/system/bin/su。一部のアプリがルートを必要とする場合、アプリはそのバイナリを実行し、ルートアクセスを許可するか拒否するかのプロンプトが表示されます。

発見されたエクスプロイト/脆弱性にはCVEIDが付与され、CVE Webサイトで詳細が示され、Android Security Bulletinsで修正されます。例としては、CVEIDを与えられた悪名高いDirtyC0W脆弱性がありCVE-2016-5195、これは古いLinuxカーネルを悩ませ、今なお悩ませています。上記のほとんどすべてのアプリがこの脆弱性を悪用します。

ルート化アプリが機能しなくなったのはなぜですか?

上記の速報で言及されているように、GoogleはAndroidの一連の問題を毎月修正しています。したがって、脆弱性の範囲は大幅に減少しています。ルート化アプリがこれまでに使用したすべての脆弱性は、2018年1月頃のセキュリティパッチで修正されました

しかし、一部のメーカーはパッチを忘れていました。彼らをどう思いますか?

Android 6.0.0以降では、デバイスが起動しなくなります。この理由を理解するには、チェーンオブトラストという概念を検討する必要があります。

Chain of Trustは、CoTと略され、ウイルスや不正な変更からAndroid OSを保護するために導入されたセキュリティメカニズムです。これは、ハードウェアとソフトウェアのチェーンのように機能し、各部分が次の部分を検証します。ステップバイステップで:

  1. デバイスの電源を入れると、ハードウェア機能(ブートROMと呼ばれることもあります)が開始されます。ブートROMはハードウェアに書き込まれ、変更できません。
  2. ブートROMは、CoTの最初のソフトウェア、つまり、ローローダーのバイナリブロブであるブートローダーを検証します。これは、プリローダーと呼ばれることもあります。(また、ブートROMは、ベンダーによっては、特別なカスタムパーティション/バイナリをロードして使用する場合があります)ブートローダーが検証に合格しない場合、デバイスはシャットダウンします。合格すると、ブートROMがブートローダーを実行します。
  3. ブートローダーは、ブートROMから渡されたオプションをチェックし、適切なブートモードを選択します。ほとんどすべてのデバイスに存在する通常のブートモードは、通常のAndroidブート、リカバリ、Fastboot / Downloadです。

ブートローダーがロックされている場合は、実行するCoTの次の部分が完全であるかどうかが確認れ、そうである場合は、ブートローダーが実行されます。そうでない場合、デバイスモデルに応じて、シャットダウン、再起動、または特殊なブートローダーモードでスタックする可能性があります。

ブートローダーがロック解除されている場合、 CoTの次の部分は検証されず、直接ロードされます。

  1. 次の部分は、ブートパーティションと呼ばれます。システム自体を起動する方法を処理します。6.0.0(Lollipop)以降のAndroidバージョンでは、システムに損傷がないかどうかも確認され、変更されている場合はシャットダウンされます。

最初に述べたように、これらのルートアプリは脆弱性を悪用して変更します/system。これは、上記のステージ4で述べたように、ブートパーティションによって検証されます。したがって、変更を加えるとデバイスが起動しなくなります。この状態は一般に「ソフトブリック」と呼ばれ、再フラッシュによってのみ修正できます。

そのため、デバイスをルート化する場合は、新しいデバイスでブートローダーのロックを解除する必要があります。これらのデバイスは、通常のカスタムリカバリと呼ばれる通常のリカバリ(TWRP、ClockWorkModなど)よりも多くのオプションを使用してリカバリをフラッシュし、それを使用してブートパーティションを変更する(そしてシステム検証を無効にする)ことでルート化されます。また、カスタムリカバリを行わずにブートパーティションを直接変更することもできます。

ブートローダーのロックを解除する方法を提供しているメーカーもあれば、そうしていないメーカーもあります。ブートロードがロックされている人気のあるデバイス(たとえば、米国のキャリアがロックしたSamsung Sデバイス)は、Androidの改造コミュニティによって悪用される傾向があります。

私のデバイスはまだAndroid 5.1.1以前です!ルートにこれらを使用する必要がありますか?

これらの古いデバイスのほとんどは、応援アプリによって応援することが可能です。だから、できます。しますか?それはあなたの好みに依存します。ルートアクセスは、OSのすべての機能に権限を与えます。ルートアクセスを使用すると、通常、デバイスが再起動しないことを確認するのにマイクロ秒もかかりません。応援アプリがこれを行わない可能性は非常に高いですが、可能です。また、rootを使用すると、アプリはデバイスが実行するすべてのもの、およびクレジットカード情報やパスワードなど、メモリに保持されているすべてのものにアクセスできます。それがプライバシーに対する深刻な脅威のように思われる場合は、rootアプリを使用しないでください。それが気にならなければ、試すことができます。

あなたが十分に精通している場合、それらのルートアプリが使用するほとんどすべてのエクスプロイトのソースがあります。それらをCVEIDで検索してGitで探し、コンパイルして実行し、ルートシェルを取得すると、suバイナリと他の依存関係を自分でインストールできます。

また、KingoRootはIMEIやシリアル番号などの機密性の高いデータをサーバーに送信することで知られています。彼らはそれらを決して使用しない可能性がありますが、それは最終的にあなたの決定です。また、KingRootは、SDKにバックドアをインストールすることで知られています。これにより、一部のアプリがrootアクセスをユーザーに許可されないようにできます。

結論

応援アプリの時代はもう終わりました。ルート権限を取得したアプリは機能しなくなり、新しいバージョンのAndroidでそれらを使用すると、デバイスがソフトブリックされ、おそらくすべてのデータが失われる危険があります。サポートされているAndroidバージョンでそれらを使用する場合、ほとんどの場合機能しますが、続行する前に考慮すべきプライバシーとセキュリティの問題があります。

私の研究が将来私と同じ問題を抱える誰かを助けることを願っています。:)


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.