SELinuxを使用してKVM / QEMUの0day VMエスケープ攻撃に対する追加の保護層を追加できますか?

SELinuxを使用してKVM / QEMUの0day VMエスケープ攻撃に対する追加の保護層を追加できますか?

私のホストはFedoraで、ホストでコードを実行する可能性がある0day KVM / QEMUの脆弱性に対する追加の保護層を追加したいと思います。たとえば、一部のCVEでは、特別に作成された悪意のあるWindows実行可能ファイルをWindows仮想マシンで管理者として実行すると、ホストマシンでコードが実行されます。

時々マルウェアを分析し、未知のマルウェアを実行する必要があるため、できることはあまりなく、別のコンピュータを購入したくありません。

私の質問は、SELinuxを使用してこのタイプの攻撃から自分自身を保護できるかどうかということです。それとも、KVM / QEMUはこれらの攻撃から保護するためにすでにSELinuxを使用していますか?それとも、これらの攻撃から保護するより良い方法はありますか?

編集する:

semanage boolean -l | grep virt更新されたFedora 39の出力は次のとおりです。

virt_lockd_blk_devs            (off  ,  off)  Allow virt to lockd blk devs
virt_qemu_ga_manage_ssh        (off  ,  off)  Allow virt to qemu ga manage ssh
virt_qemu_ga_read_nonsecurity_files (off  ,  off)  Allow virt to qemu ga read nonsecurity files
virt_qemu_ga_run_unconfined    (off  ,  off)  Allow virt to qemu ga run unconfined
virt_read_qemu_ga_data         (off  ,  off)  Allow virt to read qemu ga data
virt_rw_qemu_ga_data           (off  ,  off)  Allow virt to rw qemu ga data
virt_sandbox_share_apache_content (off  ,  off)  Allow virt to sandbox share apache content
virt_sandbox_use_all_caps      (on   ,   on)  Allow virt to sandbox use all caps
virt_sandbox_use_audit         (on   ,   on)  Allow virt to sandbox use audit
virt_sandbox_use_fusefs        (off  ,  off)  Allow virt to sandbox use fusefs
virt_sandbox_use_mknod         (off  ,  off)  Allow virt to sandbox use mknod
virt_sandbox_use_netlink       (off  ,  off)  Allow virt to sandbox use netlink
virt_sandbox_use_sys_admin     (off  ,  off)  Allow virt to sandbox use sys admin
virt_transition_userdomain     (off  ,  off)  Allow virt to transition userdomain
virt_use_comm                  (off  ,  off)  Allow virt to use comm
virt_use_execmem               (off  ,  off)  Allow virt to use execmem
virt_use_fusefs                (off  ,  off)  Allow virt to use fusefs
virt_use_glusterd              (off  ,  off)  Allow virt to use glusterd
virt_use_nfs                   (on   ,   on)  Allow virt to use nfs
virt_use_pcscd                 (off  ,  off)  Allow virt to use pcscd
virt_use_rawip                 (off  ,  off)  Allow virt to use rawip
virt_use_samba                 (off  ,  off)  Allow virt to use samba
virt_use_sanlock               (off  ,  off)  Allow virt to use sanlock
virt_use_usb                   (on   ,   on)  Allow virt to use usb
virt_use_xserver               (off  ,  off)  Allow virt to use xserver

Windows VMを無効にすることなく、KVM / QEMUの脆弱性に対する追加の保護を追加するためにこれらのいずれかをオンまたはオフにする必要があるかどうかを説明できますか? Windows VM の基本的な使用法は、一部の VM ではコードを記述し、分析のために他の VM ではマルウェアを実行し、VM にインターネット接続が必要ないことです。これらのルールはそのシナリオで機能しますか?正しく設定されていますか?それともどうすればいいですか?もっと安全にしますか?

デフォルトでは、SELinux ルールを使用して KVM/QEMU を保護する任務を引き受けた場合、セキュリティを強化するためにどの SELinux ルールをオフまたはオンにしますか?

Allow virt to rw qemu ga data上記の規則のいくつかに関する情報(「何が正確にはどういう意味ですか?」)に関する情報は、インターネットにはほとんどありません。ガーデター?

答え1

私のホストはFedoraで、ホストでコードを実行する可能性がある0day KVM / QEMUの脆弱性に対する追加の保護層を追加したいと思います。

うわー!これらはすべて珍しい。それにもかかわらず、0daysの特性は、メカニズムを事前に知ることができないということです。したがって、実際にやるべきことは、a)その機能を使用しないこと、またはb)その機能をバージョンと同期させることです。

私の質問は、SELinuxを使用してこのタイプの攻撃から自分自身を保護できるかどうかということです。

頼る! qemu実行可能ファイルはSELinuxコンテキストで実行されるため、許可された操作のみを実行できます。

ただし、0dayがKVM、カーネルなどに影響を与える場合、セキュリティ境界はありません。

それとも、これらの攻撃から保護するより良い方法はありますか?

正直に言うと、国家予算規模の専門家が高価値目標にどのような活用をしているのかを分析していない場合は、心配せずに最新バージョンのLinuxを使用することをお勧めします。 Linuxは、悪用されたり、悪用された機能に対するパッチを定期的にリリースしたりできるため、定期的にリリースします。

AWSやNSAなどの高価なターゲットを対象に、国家予算規模のエキスパートグループが利用しているものを分析できる場合は、Air-Gapネットワークの特別なコンピュータを使用して作業を行わないのはなぜですか?

関連情報