Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Protect cross-userspace Spectre attacks (both variant 1 and 2) #86

Open
DemiMarie opened this issue Apr 3, 2018 · 5 comments
Open

Protect cross-userspace Spectre attacks (both variant 1 and 2) #86

DemiMarie opened this issue Apr 3, 2018 · 5 comments

Comments

@DemiMarie
Copy link

DemiMarie commented Apr 3, 2018

Userspace processes need to be protected against Spectre attacks by other such processes. While the seL4 security claim does not extend to covert channels, timing attacks are a significant threat when untrusted code and trusted code are running on the same system.

Domains, while awesome for high-integrity software development where all trusted code is known a priori, do not suffice for this use case, because they are too strict: the number of domains, and the fraction of the CPU allocated to each, must be set at compile time (at least if I am reading the documentation correctly). As such, e.g. a version of QubesOS on seL4 would not be able to use them.

This issue also applies regarding cross-VM, VM→user, and user→VM attacks.

@AdrianDanis
Copy link
Contributor

Can you elaborate on which platform you would like this for? This is already done for x86.

@DemiMarie
Copy link
Author

@AdrianDanis I did not know that, sorry. I knew the kernel was protected, but I did not know that user programs were protected from each other.

@AdrianDanis
Copy link
Contributor

Be aware that the user space protections are off by default due to their extremely high expense. You can enable them in the menuconfig.

@DemiMarie
Copy link
Author

DemiMarie commented Apr 5, 2018 via email

@DemiMarie
Copy link
Author

DemiMarie commented Apr 5, 2018 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants