カーネル支援スーパーユーザー (KernelSU)

Magisk とは異なり、KernelSU はカーネル自体に root を取得する機能を組み込みます。 シェルを騙して、/system/bin/su がデバイス上に存在すると認識させます。

XDA にとって、root は非常に特別なものです。 これにより、ユーザーは自分のデバイスを制御し、通話録音、テーマ、高度なバッテリー監視など、常に利用できるとは限らない機能を追加できます。 何年にもわたっていくつかの root 実装が行われてきましたが、最も人気のあるのはおそらく SuperSU です。 しかし、最近では、SafetyNet の導入と root 化されたデバイスに対する制限の強化により、Magisk が root 実装になっています。 Magisk Hide 機能を使用すると、ユーザーは Netflix や Google などのアプリから root を持っているという事実を効果的に隠すことができるため、最適です。 支払う。 ただし、Magisk Hide の実装と機能は、Google がパッチを適用し、Magisk がそのパッチを回避するといういたちごっこです。

Magisk は、いわゆるユーザー空間で実行されます。 ここは、ゲーム、音楽プレーヤー、フィットネス トラッカーなど、携帯電話上のほとんどのプログラムが実行される場所でもあります。 これは、デバイスのオペレーティング システムのユーザー向けの「スペース」です。 ユーザースペースは、Magisk Hide をめぐる戦いのほとんどが行われる場所でもあります。 残念ながら、時間が経つにつれて、Google が Magisk Hide のメソッドにパッチを当てていくにつれて、非表示にできるスペースはどんどん少なくなっていきます。 将来的には、Magisk はルートを完全に隠す機能を失う可能性があります。

この事態に備えて計画を立てる、XDA 認定開発者 zx2c4 (Jason Donenfeld)、XDA では次のように知られています。 WireGuard に関する彼の取り組み そして、 OnePlus ブートローダーの脆弱性、 作成しました カーネル支援スーパーユーザー (カーネルSU)。

Magisk とは異なり、KernelSU はカーネル自体に root を取得する機能を組み込みます。 ここでは、システムコールをハイジャックして、シェルに思考を誘導します。

/system/bin/su 実際には存在しないにもかかわらず、デバイス上に存在します。 次に、次のコマンドを実行します。 su 通常のコマンドであるかのように実行できますが、root 権限が必要です。 このプロセスは SELinux では防ぐことができません。カーネルは必要に応じて SELinux を無効にすることもできます。また、root ステータスをユーザー空間、つまり SafetyNet から隠す機能はほぼ無制限です。

ただし、KernelSU は完成には程遠いです。 現時点では、アクセス制御メカニズムは導入されていません (Magisk Manager を思い浮かべてください)。 このため、KernelSU は現在、ユーザーではなくカーネル開発者にとって最も役立ちます。 カーネルを構築するプロセスでは、開発者はバグや機能をテストして修正するためにブート イメージを常に再構築してロードする必要がありますが、root があればこれがはるかに簡単になります。 ただし、Magisk や SuperSU などの root オプションを使用すると、root が機能するためにビルドのたびにブート イメージにパッチを適用する必要があり、開発プロセスに大きな影響を与える可能性があります。 一方、KernelSU はビルド時に統合されることを目的としており、ビルド後のパッチ適用は必要ありません。 開発者にとって KernelSU の統合を簡単にするために、単純な 1 行のコマンドが利用可能です。

curl -LsS "https://git.zx2c4.com/kernel-assisted-superuser/plain/fetch-and-patch.sh" | bash -

これが実行されると、通常のビルド プロセスの一部として KernelSU をカーネルに組み込むことができます。 つまり、開発者は root の追加を気にすることなく、カーネルを簡単に構築してテストできるということです。

KernelSU は初期段階にあり、完全な機能を実現するにはさらなる作業が必要ですが、興味深いプロジェクトです。 私たちは話しかけました マジスク-クリエイター、XDA 認定開発者 トップジョンウ、KernelSU について説明しましたが、彼もそれが興味深いと感じ、KernelSU はカーネル レベルで動作するため、次のように述べています。 Magisk Hide の機能が追加されればさらに信頼性が高まり、「楽しいものになる」 埋め込む。"

KernelSU に興味のあるカーネル開発者または ROM 開発者の方は、以下をチェックしてください。 XDAスレッド そしてその プロジェクトのホームページ 詳しく知ることができ。