web-dev-qa-db-ja.com

Linuxの "Dirty COW" Exploitは、SE保護が適用された状態で特権の昇格を許可しますか?

脆弱性CVE–2016–5195は、Linuxシステムでの権限昇格を扱います。私が知る限り、これは、攻撃者が読み取り専用権限しか持っていない可能性がある場合に、書き込み権限を取得できることによるものです。

しかし、この脆弱性は、SE Linuxのセキュリティ構造によって可能になった2次保護レイヤーを回避することにもなりますか?つまり、LinuxカーネルとSEアクセス許可システムの両方によって読み取り専用としてマークされている場合でも、Dirty COWは書き込み操作を許可しますか?

3
Verbal Kint

短い答え:SELinuxは、SELinuxが提案された変更とこの変更で更新されたカーネルを実装しない限り、「Dirty Cow」の悪用から保護できません。

デフォルトのインストール(特にRedHat Linux)では、SELinuxはユーザーレベルの制限を使用しません。ユーザーとそのシェルは制限なしで実行されるため、/ proc/self/memにアクセスして、「Dirty Cow」特権昇格攻撃を悪用することができます。

SELinuxがこれをブロックするには、ユーザーが/ proc/self/memにアクセスできないように制限する必要があります。

ただし、SELinuxはカーネルによるメモリの処理に関するセキュリティを提供せず、単にプロセスの実行とメモリの使用を提供します。 SELinuxは、主にファイルシステムにセキュリティを適用します。 COW(コピーオンライト)の悪用の場合、カーネルによって処理されたメモリが特権昇格のために悪用されています。 SELinux保護を回避します。

/ proc memファイルの保護をサポートするようにSELinuxを変更することは可能であり、これは SELinuxメーリングリスト で議論されています。

2
Herringbone Cat