armv8.5-a 构架:增强安全和性能

微信公众号

armv8构架从8.0/8.1/8.2/8.3/8.4/8.5持续演化,增强安全和性能。

在armv8.5中,引进了以下功能:

  1. Memory Tagging

  2. 跳转目标标识

  3. 真随机数产生器

  4. KASLR保护构架扩展

  5. Spectre和Meltdown相关的扩展

  6. 对虚拟化的细微扩展(Trap cache和TLB操作相关)

  7. 进入异常时不做Context Change的同步

  8. 数据cache clean到深层presistence

  9. 代码运行时被修改的一致性改进

其中1-5是对安全性的增强。

memory tagging通过对分配的内存进行标志,从而可以避免因为stack overflow, 或是usafter free的攻击带来的漏洞的危害,且有助于检测潜在的问题。

armv8.3-a引进的pointer authentication功能通过对指针(包括函数返回地址)的认证,可以抵御ROP攻击。

BTI通过限制跳转可以跳转的位置,抵御JOP攻击。

结合pointer authentication和BTI,可以很大程度上避免可能的ROP和JOP攻击。

代码运行时被修改的一致性改进可以避免需要通过ISB进行指令同步操作,对JIT的生产并执行代码过程行为规范化和简化,有助于提供JIT的代码性能。

有关详细内容,请参见arm构架部门产品经理 Matthew在Linaro connect 2018上的分享:

更多内容请关注微信公众号

猜你喜欢

转载自blog.csdn.net/weixin_39366778/article/details/83546133
8.5