lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Thu, 23 Sep 2021 14:08:56 +0200 From: Paolo Bonzini <pbonzini@...hat.com> To: Jarkko Sakkinen <jarkko@...nel.org>, linux-kernel@...r.kernel.org, kvm@...r.kernel.org Cc: x86@...nel.org, linux-sgx@...r.kernel.org, dave.hansen@...ux.intel.com, yang.zhong@...el.com Subject: Re: [PATCH 1/2] x86: sgx_vepc: extract sgx_vepc_remove_page On 21/09/21 21:44, Jarkko Sakkinen wrote: > "On bare-metal SGX, start of a power cycle zeros all of its reserved > memory. This happens after every reboot, but in addition to that > happens after waking up from any of the sleep states." > > I can speculate and imagine where this might useful, but no matter > how trivial or complex it is, this patch needs to nail a concrete > usage example. I'd presume you know well the exact changes needed for > QEMU, so from that knowledge it should be easy to write the > motivational part. Assuming that it's obvious that QEMU knows how to reset a machine (which includes writes to the ACPI reset register, or wakeup from sleep states), the question of "why does userspace reuse vEPC" should be answered by this paragraph: "One way to do this is to simply close and reopen the /dev/sgx_vepc file descriptor and re-mmap the virtual EPC. However, this is problematic because it prevents sandboxing the userspace (for example forbidding open() after the guest starts, or running in a mount namespace that does not have access to /dev; both are doable with pre-opened file descriptors and/or SCM_RIGHTS file descriptor passing)." > Even to a Linux guest, since EPC should stil be represented in the > state that matches the hardware. It'd be essentially a corrupted > state, even if there was measures to resist this. Windows guests > failing is essentially a side-effect of an issue, not an issue in the > Windows guests. Right, Linux is more liberal than it needs to be and ksgxd does the EREMOVE itself at the beginning (__sgx_sanitize_pages). Windows has stronger expectations of what can and cannot happen before it boots, which are entirely justified. Paolo
Powered by blists - more mailing lists