实验环境
Section outline
-
本实验在我们预先构建好的 Ubuntu 16.04 和 Ubuntu 20.04 VM 当中都测试可行。
在进行此实验时,请注意以下几点:首先,尽管 Spectre 漏洞是 Intel、AMD 和 ARM CPU 共同的设计缺陷,我们只测试了在 Intel CPU 上的效果。其次,Intel 正在努力修复他们的 CPU 中的这个问题,因此如果学生的计算机使用的是新型 Intel CPU,攻击可能不会生效。代码编译
针对 Ubuntu 16.04 操作系统。对于我们的大部分任务,你需要在使用 gcc 编译代码时添加 -march=native 参数。该参数告诉编译器启用本地机器支持的所有指令子集。例如,我们可以通过下面的命令来编译 myprog.c:$ gcc -march=native -o myprog myprog.c
针对 Ubuntu 20.04 操作系统。在 Ubuntu 20.04 操作系统中,添加 -march=native 参数可能会导致某些计算机出现错误。经过我们的调试努力,发现似乎这个选项已经不再需要了。因此,如果你确实因为这个选项遇到了错误,请尝试不使用该选项来编译代码:$ gcc -o myprog myprog.c