首先介绍CPU漏洞的采集方式,然后进行分类并简要介绍各漏洞的利用过程。
CPU漏洞收集渠道
可以通过搜索CPU厂商公开的漏洞信息和互联网上开源的CPU漏洞信息。
- CPU厂商定期发布的安全更新以及漏洞披露,例如Intel官网的安全中心在2017年5月份发布安全更新Intel-SA-00075披露了CVE-2017-5689的漏洞详情。
Intel安全中心:https://www.intel.com/content/www/us/en/security-center/default.html - 研究团队在学术会议上或者行业研讨会上发布的CPU漏洞研究成果,例如 2018年底Google Project Zero等安全研究团队联合发布了熔断漏洞的研究论文。
熔断漏洞的研究论文: https://meltdownattack.com/meltdown.pdf
幽灵漏洞的研究论文:https://spectreattack.com/spectre.pdf - 在互联网开源社区上公开的CPU漏洞研究项目,如 Christopher Domas 2017年在githup上公开了memory sinkhole 的漏洞利用源码。
memory sinkhole 的漏洞利用源码:https://github.com/xoreaxeaxeax/sinkhole - 通用漏洞纰漏(Common Vulnerabilities and Exposures, CVS)、美国国家漏洞数据库(National Vulnerability Database,NVD)等公开漏洞库中涉及的CPU漏洞。
CVS:https://cve.mitre.org/
NVD:https://nvd.nist.gov/
主要从以上四中渠道进行CPU漏洞数据的收集,并收集以下四类信息。 - 漏洞的概念性验证代码(Proof of Concept,POC),POC是对漏洞进行实际测试验证的直接前提,收集POC可以为后续漏洞分析和特征提取提供支撑作用。
- 受影响的CPU型号以及版本范围数据,这些数据可以和POC交叉印证作为检测CPU漏洞的特征。
- 漏洞分析详情,在互联网上有研究人员热衷于分析这些漏洞并分享,这些分析详情可以辅助后续对特定漏洞的实例分析和特征提取。
- 漏洞的缓解措施以及可能得修补方案,仅仅检测出漏洞对于提升CPU安全并没有任何帮助,需要给出对应的解决方案。
CPU典型漏洞
推测执行(Speculative execution)是当今主流处理器(包括AMD、ARM和Intel)中广泛采用的一项优化技术。但自2017年底起,这项优化技术不断爆出严重漏洞,截止到2019年