google / safeside

Understand and mitigate software-observable side-channels
BSD 3-Clause "New" or "Revised" License
498 stars 54 forks source link

Run Spectre V1 demo as a smoke test #98

Closed mmdriley closed 5 years ago

mmdriley commented 5 years ago

Seems like this will be useful as an integration test to make sure e.g. our CacheSideChannel flush+reload code is working. Next tests to add will be others that work across most/all platforms.

For now, I added a very quick and dirty test runner that just probes for all the places the built Spectre V1 demo could be.

I had to add 32-bit runtime files for the Linux x86_64 worker. It's obvious in hindsight why they're necessary, but the error message you get when they're not present is just "file not found" which is a bit obscure. Turns out the binary's header points to an ELF interpreter (/lib/ld-linux.so.2) that doesn't exist until libc6:i386 is installed.

Once that's in place, the binary can actually try to load and get far enough to complain about the missing libstdc++.

mmdriley commented 5 years ago

Quite right. Updated to V1 PHT SA, which works on all targets.