16 Spectre/Meltdown Checker #
spectre-meltdown-checker 是一个外壳脚本,用于测试您的系统是否容易受到多种推测执行漏洞的影响,这些漏洞在过去 20 年制造的所有 CPU 中普遍存在。这是一种硬件缺陷,攻击者可能会利用它来读取系统上的所有数据。在云计算服务中,如果多个虚拟机位于一台物理主机上,攻击者可以获取对所有虚拟机的访问权限。修复这些漏洞需要重新设计并更换 CPU。在采取此措施之前,可以通过多个软件补丁来缓解这些漏洞。如果您经常在更新 SUSE 系统,应该已安装了所有这些补丁。
   
spectre-meltdown-checker 会生成详细的报告。它不能为您的系统提供安全保证,但会显示采取了哪些缓解措施以及潜在的漏洞。
   
16.1 使用 spectre-meltdown-checker #
安装该脚本,然后不指定任何选项以 root 身份运行它:
#zypper in spectre-meltdown-checker#spectre-meltdown-checker.sh
您将看到如图 16.1 “spectre-meltdown-checker 的输出”中所示的彩色输出:
spectre-meltdown-checker.sh --help 会列出所有选项。此命令可用于将非彩色纯文本输出导出到文件中:
  
# spectre-meltdown-checker.sh --no-color| tee filename.txt
   上述示例是在运行中的系统上执行的情况,这是此脚本的默认运行方式。您也可以指定内核、配置和 System.map 文件的路径来脱机运行 spectre-meltdown-checker:
  
#cd /boot#spectre-meltdown-checker.sh \ --no-color \ --kernel vmlinuz-6.4.0-150700.38-default \ --config config-6.4.0-150700.38-default \ --map System.map-6.4.0-150700.38-default| tee filename.txt
其他有用的选项如下:
- --verbose、-v
- 提高详细级别;重复此选项可以进一步提高详细级别,例如 - -v -v -v
- --explain
- 列显直观易懂的说明 
- --batch [short] [json] [nrpe] [prometheus]
- 以各种机器可读格式设置输出格式 
spectre-meltdown-checker.sh --disclaimer 提供有关该脚本能够和不能提供的功能的重要信息。
   
16.2 更多信息 #
有关详细信息,请参见以下参考:
- SUSE 知识库文章 #7022937 Security Vulnerability: Spectre Variant 4 (Speculative Store Bypass) aka CVE-2018-3639:https://www.suse.com/support/kb/doc/?id=7022937 
- GitHub 上的 speed47/spectre-meltdown-checker 源代码,包括相关公共漏洞和暴露 (CVE) 的详细参考:https://github.com/speed47/spectre-meltdown-checker 
- SUSE 博客文章 Meltdown and Spectre Performance:https://www.suse.com/c/meltdown-spectre-performance/ 
- SUSE 知识库文章 #7022512,其中提供了有关体系结构、CVE 和缓解措施的信息:https://www.suse.com/support/kb/doc/?id=7022512 
