ARMv9能给ARM带来新一轮腾飞吗?(安全篇)

ARMv9能给ARM带来新一轮腾飞吗?(安全篇)

接上文

  在上一篇文章中,讲了下ARM在ARMv9中人工智能领域的相关技术SVE2,以及其他人工智能相关的布局。对于ARMv9是否能给ARM带来腾飞,仅根据SVE2,我认为是不够的。
  ARMv9另一大技术点是安全,本文会重点介绍ARMv9的CCA(Confidential Compute Architecture)技术和MTE(Memory Tagging Extension)技术。最终,结合两大方向,给出我对这个问题的结论。

安全,永远的安全

  随着越来越多的设备连在网上,随着越来越多的数据被采集,随着人们隐私意识的不断增强,安全问题不断成为社会议论的焦点,相关的软硬件技术也在不断产生和迭代。赛门铁克仅在2020第一季度,就在IoT的Honypots中侦测到近1亿9千万次攻击,平均每秒超过100次[1]
  作为芯片IP提供设计者,ARM在其中扮演的角色至关重要。硬件的安全方案是软件无法攻克的,因此ARM有责任为当前社会的安全问题提供安全的硬件底座。这也就是为什么TrustZone技术被ARM在ARMv6中发布以来,已经被广泛的使用,提供可靠的安全启动,加解密等服务。下面我们先简单介绍下TrustZone的基本原理。

另一个世界(TrustZone)

  TrustZone最核心思想就是在真实的世界(normal world)之外并行的增加了一个安全世界(secure world),两个世界都是完整的(都有硬件,操作系统,应用软件)。安全世界是全知全能的,但真实世界则对安全世界不感知的。创世纪(系统启动)先从安全世界开始,真实世界被安全世界定义后才被启动。而当待定的事件(比如特定的异常)在真实世界中被触发后,真实世界会被暂停,切换到安全世界来处理完成后再切换回真实世界,这段逝去的时间对于真实世界是无感的。
  有了这样的硬件设计,就可以把一些敏感重要的 ARMv9能给ARM带来新一轮腾飞吗?(安全篇)

图1 CCA架构图 [2]
  前文说TrustZone是增加了一个并行的安全世界,在CCA中,更是增加了一个Realm的概念,也就是可以给应用创建一个单独的世界,这个世界对于其他的Realm,操作系统,hypervisor甚至是安全世界都是不透明的。所以那些商业软件就可以运行在这个世界中,这样那些商业敏感数据和代码是被硬件隔离保护的。即使其他的应用被攻破,这些商业软件的敏感信息也是安全的。   在CCA技术中,hypervisor仅仅用于资源分配和调度,而Realm是被Realm Manager管理的。应用会被Realm Manager认证是不是可信的。通过使用Realm,信任链变短了,可信应用可以跑在任意的设备上,而不需要考虑底层的操作系统,这样整个系统的安全设计会大大简化。在最近的一份调查报告显示,91%的被调查企业表示,通过CCA,企业的机密数据得到保护的话,会大大提高企业的创新能力 [3]。   迄今为止,ARM并未发布CCA的详细资料。但既然CCA的开发是ARM和微软合作的结果,相信微软未来会基于CCA的硬件推出其完整的软硬件协同的安全解决方案的。 ## C/C++语言的新生(MTE)   相信使用C/C++的工程师都曾经或者正在被各种内存问题困扰,特别是use-after-free,简直是无解问题。同样在安全领域,内存安全问题也是安全漏洞是内存安全问题 [4]。谷歌安卓项目发现超过75%的漏洞是内存安全问题 [5]。   针对内存安全问题,ARM在ARMv8.5中作为可选扩展首次发布MTE(Memory Tagging Extension)技术,在ARMv9中成为默认配置。

ARMv9能给ARM带来新一轮腾飞吗?(安全篇)

图2 MTE原理 [6]
  MTE简单来说就是在内存上打标记(tag),而后续的内存访问操作同样也是带标记的,如果标记不匹配,则会发生异常被操作系统捕获进而采取相应的处理。   MTE的实现是有硬件开销的,对每16Byte内存打一个4bit的Tag。另外,针对性能问题,MTE提供了精确检查(precise check)和非精确检查(imprecise check),精确检查可以定位具体出问题的内存访问指令,而非精确检查可以定位出问题的线程。因此在实际的使用中,可以按需配置。   谷歌已经宣布要在安卓里面使用MTE技术 [7],相信在未来会有更多的系统会采用这个技术,提供内存安全的检测,从而减少漏洞。 # 结论   如文章开头所说,ARM在过去10多年间取得了举世瞩目的发展,其中ARMv8的64bit和ARMv8-M的TrustZone起到了重要的作用。但本次ARMv9的发布,至少从目前放出的资料看,所发布的技术并没有像64bit这样亮眼的技术,而更像是一些小功能的集合。   当我们回想ARM过去的成功时,技术在其中并不是唯一的因素。ARM的License授权的商业模式,CISC精简指令集和不保证前向兼容的决策带来的优秀的性能功耗比,智能手机和物联网的蓬勃发展的时代契机,都在其中扮演了至关重要的角色。   从软银的2020年度报告中,我们可以看到ARM的未来10年的规划:

ARMv9能给ARM带来新一轮腾飞吗?(安全篇)

图3 ARM未来10年规划 [8]
从图中可以看到,除了保持智能手机和IoT上的霸主地位外,ARM会在网络设备,数据中心,云端服务器和车联网领域发力,这也就不难理解ARMv9除了不断提升性能外,为何要在AI和安全领域不断投入了。   个人认为,ARMv9的发布,技术上并没有太大的突破,无法让ARM保持前些年快速发展的势头。但ARM在CPU/GPU/NPU上已经有了完整的装备,在各拓展领域中会保障其稳步发展。ARM的最大威胁不是来自当前各IP巨头,反而可能是RISC-V。RISC-V更友好的开源模式,更轻的历史包袱,都可能会使其成为下一个腾飞的ARM。到底未来如何,让我们拭目以待。

引用

  1. https://www.arm.com/blogs/blueprint/armv9
  2. https://www.anandtech.com/show/16584/arm-announces-armv9-architecture/2
  3. https://armkeil.blob.core.windows.net/developer/Files/pdf/graphics-and-multimedia/confidential-computing-pulse-survey.pdf
  4. https://msrnd-cdn-stor.azureedge.net/bluehat/bluehatil/2019/assets/doc/Trends%2C%20Challenges%2C%20and%20Strategic%20Shifts%20in%20the%20Software%20Vulnerability%20Mitigation%20Landscape.pdf
  5. https://security.googleblog.com/2019/05/queue-hardening-enhancements.html
  6. https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/enhancing-memory-safety
  7. https://security.googleblog.com/2019/08/adopting-arm-memory-tagging-extension.html
  8. https://group.softbank/system/files/pdf/ir/financials/annual_reports/annual-report_fy2020_01_en.pdf
版权声明:玥玥 发表于 2021-05-12 19:48:53。
转载请注明:ARMv9能给ARM带来新一轮腾飞吗?(安全篇) | 女黑客导航