Arm Community
Arm Community
  • Site
  • User
  • Site
  • Search
  • User
  • Groups
    • Research Collaboration and Enablement
    • DesignStart
    • Education Hub
    • Innovation
    • Open Source Software and Platforms
  • Forums
    • AI and ML forum
    • Architectures and Processors forum
    • Arm Development Platforms forum
    • Arm Development Studio forum
    • Arm Virtual Hardware forum
    • Automotive forum
    • Compilers and Libraries forum
    • Graphics, Gaming, and VR forum
    • High Performance Computing (HPC) forum
    • Infrastructure Solutions forum
    • Internet of Things (IoT) forum
    • Keil forum
    • Morello Forum
    • Operating Systems forum
    • SoC Design and Simulation forum
    • 中文社区论区
  • Blogs
    • AI and ML blog
    • Announcements
    • Architectures and Processors blog
    • Automotive blog
    • Graphics, Gaming, and VR blog
    • High Performance Computing (HPC) blog
    • Infrastructure Solutions blog
    • Innovation blog
    • Internet of Things (IoT) blog
    • Operating Systems blog
    • Research Articles
    • SoC Design and Simulation blog
    • Smart Homes
    • Tools, Software and IDEs blog
    • Works on Arm blog
    • 中文社区博客
  • Support
    • Arm Support Services
    • Documentation
    • Downloads
    • Training
    • Arm Approved program
    • Arm Design Reviews
  • Community Help
  • More
  • Cancel
中文社区
中文社区
中文社区博客 Arm A-Profile构架发展: Armv8.5-A
  • Blogs
  • Forum
  • 视频和文件
  • Members
  • Mentions
  • Sub-Groups
  • Tags
  • Jump...
  • Cancel
  • New
中文社区 requires membership for participation - click to join
More blogs in 中文社区
  • ARM中国大学计划博客

  • Arm新闻

  • 中文mbed博客

  • 中文社区博客

  • 恩智浦汽车电子MCU讨论区博客

 

Tags
Actions
  • RSS
  • More
  • Cancel
Related blog posts
Related forum threads

Arm A-Profile构架发展: Armv8.5-A

Zenon Xiu (修志龙)
Zenon Xiu (修志龙)
February 2, 2021
Less than one minute read time.

本文翻译自 https://community.arm.com/developer/ip-products/processors/b/processors-ip-blog/posts/arm-a-profile-architecture-2018-developments-armv85a

原作者:Matthew Gretton-Dann  2018年9月17日

译者: Zenon Xiu

Arm和arm构架授权客户,生态伙伴一起,将arm构架持续演进,开发新的构架功能以满足新的和现存的市场需求。

这篇博客讨论在2018年增加的A-profile构架关键功能,也就是Armv8.5-A.

完整的指令集和系统寄存器信息可以在我们的技术网站上找到。完整的包含Armv8.5-A和更早功能的arm构架参考手册(ArmARM)会在2019年第一季度末公布。(译者:这篇翻译发布时,ArmARM已经包含了Armv8.5-A扩展,https://developer.arm.com/products/architecture/cpu-architecture/a-profile)

其他更早的A-Profile构架的详细信息可以在这里找到Armv8.1-A, Armv8.2-A, Armv8.3-A, and Armv8.4-A.

在讨论这些功能时,我们也在做相关开源软件项目,以便在新的硬件可用时,这些软件对这些必要的构架支持已经准备好了.

安全:漏洞检测

在过去的12个月里,Spectre和Meltdown的发现占据了安全相关的主要议题。 但是,它们不是我们当前面临的仅有的安全挑战,arm一直和合作伙伴一起开发硬件工具以帮助软件抵御攻击。

许多常见的软件漏洞是由缓冲区溢出(buffer overrun)和 释放后使用(use-after-free)编程错误导致的。buffer overrun指一个程序试图访问超过其本来边界的内存。use-after-free发生在一个程序访问和重用它已经释放的内存时。通常,这些错误是情景相关的,需要特定的环境才会发生。非常有名的发生在1988年的Morris的蠕虫是有记载的第一个使用buffer overrun来制造病毒的。

Memory Tagging(内存标签)

Armv8.5-A引进一个叫Memory Tagging 的新功能。 当使用Memory Tagging时,每个内存分配(memory allocation)都会分配一个标签(tag). 所有内存必须通过有正确标签的指针来访问。 错误的标签会被注意到,操作系统可以选择马上汇报这个问题给用户,或是通知进程发生过这个问题,以便后面去研究。

比如,在下面的图中,对0x8000的内存访问没有问题,因为用来访问的指针有和被访问的内存有相同的标签(用颜色来表示)。但是,对0x9000的访问会失败,因为指针和被访问的内存用不同标签。

内存标签技术可以用在很多场合。在开发阶段,它可以在测试环境中用来检测内存错误问题。在产品量产阶段,它可以在线检测问题,并将反馈提供给开发者。一旦受到反馈,可以分析这个漏洞,并在它被攻击者发现之前修复它。

安全:限制利用(Exploits)

一旦攻击者发现可以利用的漏洞,他们下一步的目标就是能执行代码来获取机器的控制权。攻击者可以使用ROP和JOP(Return- and Jump-Oriented Programming)的工具方式,这些技术通过发现有漏洞程序中一个个小段代码片段(叫做gadgets),并将它们连接起来形成攻击者想要的代码运行。这种方式可以被利用,因为构架没有限制跳转指令可以跳转的地址,也没有限制代码可以从哪里跳转过来。这使攻击者可以使用这些代码片段,做他们想做的事情。

在Armv8.3-A中,我们引入了指针鉴权(Pointer Authentication)功能,我们可以用这个功能保证函数返回到程序期望的地址。

在Armv8.5-A中,我们引入了Branch Target Indicators (BTI).  支持BTI的系统可以强制非直接跳转只能跳到一小部分允许的指令上(译者:BTI指令,和一些PAC Signing指令). 这可以减少攻击者执行任意代码的能力。

指针鉴权和BTI功能一起使用,可以显著减少攻击者能用的gadget的数量。剩下可用的gadget的代码大小就比较大,这使攻击者想去使用这些gadget更加困难,即使他们发现了一个可以获得机器控制的漏洞。

其他功能

Armv8.5-A也包含一些小功能:

  • Cache clean到Point of Deep Persistence – 用来支持新兴的Persistent Memory标准
  • 细化的虚拟化trap控制 -用来提供虚拟机的性能
  • 支持debug over power down -用来使机器在下电复位过程中可以做外部调试
  • 随机数指令 – 提供符合各个国家和国际标准的确定性随机数和真随机数(Deterministic and True Random Number)

总结

这篇博客提供了简要的Armv8.5-A构架功能介绍。更多的信息可以在我们的开发者网站找到。下一步是和我们包括Linaro的生态伙伴一起,保证使能开源软件项目,以便当硬件可用时软件可以使用这些功能。更多的细节我们会在2018年9月17-21日的Linaro Connect in Vancouver 大会做演讲。(译者:该slide和video可以在https://connect.linaro.org/resources/yvr18/sessions/yvr18-104/ 浏览和下载)

Anonymous
  • Operating  Dog System
    Offline Operating Dog System 2 months ago

    大佬,关于Pointer Authentication解密失败的异常。看您之前翻译的8.1说A核会报同步异常或Translation异常,在8.6架构中则针对PAC实现了FPAC相关的标志(同步异常)。

    1、这两种异常现在还都会产生吗?

    2、8.6之前的架构PAC同步异常异常标志是什么呢?

    期待大佬的回复,感谢!

    • Cancel
    • Up 0 Down
    • Reply
    • More
    • Cancel
中文社区博客
  • Arm A-Profile构架2022扩展

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文:Arm A-Profile Architecture Developments 2022 - Architectures and Processors blog - Arm Community blogs - Arm Community  作者:Martin Weidmann翻译:修志龙(Zenon Xiu) 与arm构架授权和生态伙伴一起,arm持续演进其构架,开发新功能以满足现有和新市场的要求…
    • October 17, 2022
  • 深入理解 Arm A-profile的non-maskable interrupt -NMI

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/a-profile-non-maskable-interrupts  翻译: 修志龙 Zenon Xiu Arm A-profile构架一个长久以来的局限性是:缺乏对non-maskable interrupt (NMI…
    • August 24, 2022
  • Arm A-Profile 构架2021扩展

    Zenon Xiu (修志龙)
    Zenon Xiu (修志龙)
    原文: https://community.arm.com/arm-community-blogs/b/architectures-and-processors-blog/posts/arm-a-profile-architecture-developments-2021 Martin Weidmann September 8, 2021 翻译注释:Zenon Xiu Arm与arm构架授权公司及生态伙伴一起…
    • August 17, 2022