cd safeside cmake -B build . make -C build # Everything should be built now. ./build/demos/spectre_v1_pht_sa ./build/demos/spectre_v1_btb_ca # You need to load the kernel module before running this sudo ./build/demos/meltdown ./build/demos/spectre_v4 ./build/demos/ret2spec_sa etc.
The naming scheme is heavily influenced by A Systematic Evaluation of Transient Execution Attacks and Defenses. So for example, spectre_v1_btb_ca.cc
is a demonstration of using a mistrained speculative branch (Spectre v1) via mistraining the branch target buffer (BTB) to transmit data cross-address-space (CA). (As for what counts as Spectre v1, see the discussion in PR #12.)
We currently test our changes on: