Android rootingのWikipediaページによると、
ルート化のプロセスはデバイスによって大きく異なりますが、通常はデバイスのファームウェアのセキュリティの弱点を悪用し、
su
バイナリを現在のプロセスのPATHの場所(など/system/xbin/su
)にコピーし、chmod
コマンドを使用して実行権限を付与します。SuperUserやSuperSUなどのスーパーバイザアプリケーションは、他のアプリケーションからの昇格されたアクセス許可要求を規制および記録できます。多くのガイド、チュートリアル、および自動プロセスが人気のあるAndroidデバイス用に存在し、迅速かつ簡単なルート化プロセスを促進します。
さて、このプロセスでどのエクスプロイトが使用されているのか知りたいと思ったので、調べ始めました。私はAndroidエクスプロイト(特にRageAgainstTheCode)への参照をいくつか見つけましたが、ここに関するいくつかの質問(これとアプリのアクセス許可を規制する方法は?)は、実際のエクスプロイトが実行されていないという印象を与えます。
私が集めたものから、プロセスはそのように機能します:
- ブートローダーのロックを解除します(セキュリティ上の理由からデバイスをワイプします)
- カスタムリカバリをインストールします(任意のZIPファイルをフラッシュできます)
- カスタムリカバリでのSuperUserまたはSuperSUのzipファイルのフラッシュ。
私が理解しているように、カスタムリカバリは、ZIPファイルがROMよりも低いレベル(いわば)に存在するため、ROMを変更してsu
バイナリおよびSuperUserアプリをインストールできるため、ZIPファイルをフラッシュできます。つまり、ルートを取得するために実際のエクスプロイトは使用されていません。
ここで何かが著しく失われていますか?これらのステップのいずれかで、いくつかのエクスプロイトが暗黙的に実行されていますか?
メモとして、私はユーザーが電話をルートすることについて話しているのであり、悪意のあるコードがルートアクセスを取得することについてではありません。