GNU/Linux >> Linux の 問題 >  >> Linux

侵害されたカーネルは、デバイスを完全に制御できますか?

「カーネル空間」でコードを実行するということは、リング 0 空間で実行することを意味します。言い換えれば、それは「完全なコントロールを持つ」ことの厳密な定義です.

唯一の例外は、ハイパーバイザーを実行している場合です。このような場合、仮想化された OS のリング 0 でコードを実行すると、実行されているハイパーバイザー (リング -1 で実行されていると言われます) ではなく、仮想化されたデバイスの完全な制御が「のみ」得られます。そこに到達するには、別のエスケープ エクスプロイトが必要です。


<ブロック引用>

これにより、攻撃者は電話を完全に制御できますか?たとえば、キーロガーやその他のマルウェアをインストールできますか?

これは可能です。パーミッション チェック (つまり、ファイル アクセス、キーボードへのアクセスなど) はカーネル内で行われるため、カーネル内で実行されているコードは、これらのチェックを実行せずに、必要なアクションを直接呼び出すことができます。

<ブロック引用>

侵害されたデバイスは、他のデバイスに対して同じ方法で OTA 攻撃を実行できますか (ワームになる)?

別のデバイスを侵害するために使用できる、操作されたネットワーク パケットを作成する機能など、一部のアクションでカーネル アクセスが必要になる可能性があります。しかし、これは、そのような攻撃に対して常にカーネル アクセスが必要であることを意味するわけではありません。つまり、通常は root アクセスで十分であり、正確な攻撃によっては、通常のユーザー プロセスでさえアクセスできる場合があります。

<ブロック引用>

これらの懸念は、SELinux、dm-verity などの他のセキュリティ機能によって軽減されていますか?

攻撃者がカーネルにアクセスできるようになると、これらの手法は役に立ちません。ただし、攻撃者がカーネルにアクセスできないようにするために役立つ場合があります。しかし、それらが役立つかどうかは、正確な攻撃ベクトルによって異なります。たとえば、特定のネットワーク パケットによってトリガーされる可能性がある Broadcom ネットワーク ドライバーの最近の脆弱性では役に立ちません。


Linux
  1. 実行中のプロセスのユーザーとカーネルの時間を取得しますか?

  2. 特定のデバイスのカーネルモジュールを見つける方法は?

  3. Web 上で Qt アプリを実行する

  1. SSH 経由でデバイスを使用しますか?

  2. Windows Subsystem for Linux は、ネイティブ Windows プログラムの実行に対して追加のセキュリティ (VM のような分離) を提供しますか?

  3. kernel.unprivileged_userns_clone を有効にするとどうなりますか?

  1. XEN で実行されているゲストを特定する:HVM または PV ゲスト

  2. Linux カーネルはマイクロカーネル アーキテクチャと比べてどうですか?

  3. カーネルはどのようにルート パーティションをマウントしますか?