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

DetTrace Running on Cloud Platforms #249

Open
gatoWololo opened this issue Oct 16, 2019 · 2 comments
Open

DetTrace Running on Cloud Platforms #249

gatoWololo opened this issue Oct 16, 2019 · 2 comments

Comments

@gatoWololo
Copy link
Collaborator

DetTrace may not work on all cloud platforms.

We currently use Azure and it works. @wangbj has shown it doesn't work properly on AWS firecracker-microvm/firecracker#1330

We should probably list all cloud platforms we hope to support, and have a CI check for all platforms to ensure DetTrace continuous to work.

@rrnewton
Copy link
Member

Does "work" in this case basically just mean "intercept CPUID and thereby disable rdrand"? Or are there other failures under VMs that we have seen?

There were some mentions on the call of other approaches (aka hacks) for nixing rdrand on such platforms... hmm what could those be? Maybe @devietti was alluding to super dirty hacks like patching known uses of rdrand inside cpp standard lib or something...?

@wangbj
Copy link
Collaborator

wangbj commented Oct 16, 2019

On AWS EC2 (t2.micro), it reports cpuid_fault is supported; however, it does nothing. hence even arch_prctl(ARCH_SET_CPUID) returns success, the system still cannot trap cpuid instruction. As a result, we won't see any arch_prctl failure, but we won't be able to intercept rdrand, so random_device.cpp (or std::random) returns non-deterministic random numbers.

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

3 participants