「カーネル空間」でコードを実行するということは、リング 0 空間で実行することを意味します。言い換えれば、それは「完全なコントロールを持つ」ことの厳密な定義です.
唯一の例外は、ハイパーバイザーを実行している場合です。このような場合、仮想化された OS のリング 0 でコードを実行すると、実行されているハイパーバイザー (リング -1 で実行されていると言われます) ではなく、仮想化されたデバイスの完全な制御が「のみ」得られます。そこに到達するには、別のエスケープ エクスプロイトが必要です。
<ブロック引用>
これにより、攻撃者は電話を完全に制御できますか?たとえば、キーロガーやその他のマルウェアをインストールできますか?
これは可能です。パーミッション チェック (つまり、ファイル アクセス、キーボードへのアクセスなど) はカーネル内で行われるため、カーネル内で実行されているコードは、これらのチェックを実行せずに、必要なアクションを直接呼び出すことができます。
<ブロック引用>侵害されたデバイスは、他のデバイスに対して同じ方法で OTA 攻撃を実行できますか (ワームになる)?
別のデバイスを侵害するために使用できる、操作されたネットワーク パケットを作成する機能など、一部のアクションでカーネル アクセスが必要になる可能性があります。しかし、これは、そのような攻撃に対して常にカーネル アクセスが必要であることを意味するわけではありません。つまり、通常は root アクセスで十分であり、正確な攻撃によっては、通常のユーザー プロセスでさえアクセスできる場合があります。
<ブロック引用>これらの懸念は、SELinux、dm-verity などの他のセキュリティ機能によって軽減されていますか?
攻撃者がカーネルにアクセスできるようになると、これらの手法は役に立ちません。ただし、攻撃者がカーネルにアクセスできないようにするために役立つ場合があります。しかし、それらが役立つかどうかは、正確な攻撃ベクトルによって異なります。たとえば、特定のネットワーク パケットによってトリガーされる可能性がある Broadcom ネットワーク ドライバーの最近の脆弱性では役に立ちません。