为了不断提升微处理器的性能,现代微处理器当中包含了越来越多用于性能优化的部件,比如高速缓存,分支预测器,数据预取器等,这些性能优化部件在给微处理器带来可观的性能提升的同时,也引入了一定的安全隐患。比如高速缓存引入的侧信道,...为了不断提升微处理器的性能,现代微处理器当中包含了越来越多用于性能优化的部件,比如高速缓存,分支预测器,数据预取器等,这些性能优化部件在给微处理器带来可观的性能提升的同时,也引入了一定的安全隐患。比如高速缓存引入的侧信道,分支预测引入的“幽灵”漏洞等等,与上述两个性能优化部件类似,数据预取也存在安全隐患,然而却未引起足够的重视。数据预取的根本目的在于提升高速缓存命中率,主要通过观察程序的访存行为规律提前将所需的数据加载到高速缓存当中,是现今高性能微处理器当中重要的微处理器性能优化技术。近来有研究表明,数据预取会引入侧信道,造成信息泄露,对微处理器的整体安全性造成了一定的威胁,然而目前却鲜有关于如何对数据预取安全缺陷进行防御的相关研究。性能优化部件之所以引入安全风险的根本在于其具有推测性,当推测的处理器行为与实际的行为不符时,便会在处理器内部遗留下“脏数据”,这些“脏数据”有可能来自于越权或者越界访问。本文重点分析了硬件数据预取目前面临的安全风险及其产生原因,提出了安全的数据预取行为规范,在开源处理器BOOM(Berkeley Out of Order Machine)上实现了基于指令指针(instruction pointer)的步距预取器,同时依据上述安全的数据预取行为规范,实现了具有边界检测功能的安全数据预取系统,最后对其安全性和性能开销进行了简要评估。展开更多
文摘为了不断提升微处理器的性能,现代微处理器当中包含了越来越多用于性能优化的部件,比如高速缓存,分支预测器,数据预取器等,这些性能优化部件在给微处理器带来可观的性能提升的同时,也引入了一定的安全隐患。比如高速缓存引入的侧信道,分支预测引入的“幽灵”漏洞等等,与上述两个性能优化部件类似,数据预取也存在安全隐患,然而却未引起足够的重视。数据预取的根本目的在于提升高速缓存命中率,主要通过观察程序的访存行为规律提前将所需的数据加载到高速缓存当中,是现今高性能微处理器当中重要的微处理器性能优化技术。近来有研究表明,数据预取会引入侧信道,造成信息泄露,对微处理器的整体安全性造成了一定的威胁,然而目前却鲜有关于如何对数据预取安全缺陷进行防御的相关研究。性能优化部件之所以引入安全风险的根本在于其具有推测性,当推测的处理器行为与实际的行为不符时,便会在处理器内部遗留下“脏数据”,这些“脏数据”有可能来自于越权或者越界访问。本文重点分析了硬件数据预取目前面临的安全风险及其产生原因,提出了安全的数据预取行为规范,在开源处理器BOOM(Berkeley Out of Order Machine)上实现了基于指令指针(instruction pointer)的步距预取器,同时依据上述安全的数据预取行为规范,实现了具有边界检测功能的安全数据预取系统,最后对其安全性和性能开销进行了简要评估。