电子发烧友网报道(文/周凯扬)随着Arm近日公开TCS23方案,可以看出Arm在移动SoC的计算核心上,已经全面走向了Armv9.2架构,无论是大核Cortex-X4、中核Cortex-A720还是小核Cortex-A520,都是基于Armv9.2-A的。
而在发布的新闻中,Arm重点强调了内存标签扩展(MTE)这一安全特性。其实MTE已经不是什么新特性了,早在Armv8.5推出之际就已经面世,如今更是完全融入了兼容Armv9架构的CPU中。
MTE提供的内存安全保障
内存已经成了近几个世纪以来最大的漏洞来源之一,比如谷歌Chromium团队就表示70%的重度安全漏洞都与内存安全有关。而MTE则是一个用来检测内存错误和内存安全违规的工具,对于软件开发者来说可以用于及时发现应用中存在的问题。
MTE会利用额外的元数据,对每次内存的分配/取消分配进行标记,并将标记内存位置与引用该内存位置的指针关联,这样在运行时,CPU就会检查指针与元数据标记是否匹配,从而帮助开发者检测缓冲区溢出这类常见的内存安全bug。
根据Arm的说法,MTE对于智能手机生态系统来说至关重要,因为MTE可以帮助开发者在部署之前和之后检测到内存安全问题。部署前检测到安全漏洞将降低代码受到攻击的可能性,而在部署之后检测到安全问题可以帮助开发者更灵活地修复这些漏洞。
MTE软硬件结合
需要注意的是,要想获得MTE的内存安全保护,不是单靠Armv9架构的CPU就能实现的,MTE是一套软硬件结合的实现方案,所以也需要操作系统的支持。比如谷歌在安卓12中加入了初步的MTE实现,可以用来检测示范后使用(UAF)和缓冲区溢出这样的常见bug。
除了谷歌之外,荣耀也在其MagicOS 6.x和MagicOS 7设备实现了MTE,允许开发者通过Honor SkyNet和诊断工具来检测内存安全问题。诸如快手这样的应用,由于大部分代码库都是基于C++这样的非内存安全语言,已经在利用MTE技术检测软件开发中的内存安全bug,提高检测速度的同时,也避免软件上架前出现严重内存漏洞。
可以看出,MTE需要操作系统的协作才能同步保证内存的安全,但为何目前没有更多的系统跟进MTE呢?答案是MTE虽然保证了安全性,但也一定程度影响了性能。谷歌在安卓13版本的开发者选项中,提供了一个重启并启用MTE的选项,从而在那些硬件支持MTE但并没有启用的设备上打开这一功能。
谷歌强调,这一选项的目标受众属于那些希望使用MTE来测试其软件的应用开发者。而且谷歌会在这一选项开启后提示,MTE可能会对系统性能和稳定性产生负面影响,且该选项将在下一次重启后重置。
话虽如此,相比传统的内存安全分析工具来说,MTE的性能开销已经算很小了,尤其是在非对称模式下,也不用再一遍遍地重新编译源代码。开发者可以在检测到Bug后再切换到同步模式,确保Bug检测的精度。更何况Arm也在和谷歌合作,力求在未来的安卓版本中减少MTE的内存占用,相信MTE会给未来移动软件生态开发的安全提供更多助力。
而在发布的新闻中,Arm重点强调了内存标签扩展(MTE)这一安全特性。其实MTE已经不是什么新特性了,早在Armv8.5推出之际就已经面世,如今更是完全融入了兼容Armv9架构的CPU中。
MTE提供的内存安全保障
内存已经成了近几个世纪以来最大的漏洞来源之一,比如谷歌Chromium团队就表示70%的重度安全漏洞都与内存安全有关。而MTE则是一个用来检测内存错误和内存安全违规的工具,对于软件开发者来说可以用于及时发现应用中存在的问题。
MTE会利用额外的元数据,对每次内存的分配/取消分配进行标记,并将标记内存位置与引用该内存位置的指针关联,这样在运行时,CPU就会检查指针与元数据标记是否匹配,从而帮助开发者检测缓冲区溢出这类常见的内存安全bug。
根据Arm的说法,MTE对于智能手机生态系统来说至关重要,因为MTE可以帮助开发者在部署之前和之后检测到内存安全问题。部署前检测到安全漏洞将降低代码受到攻击的可能性,而在部署之后检测到安全问题可以帮助开发者更灵活地修复这些漏洞。
MTE软硬件结合
需要注意的是,要想获得MTE的内存安全保护,不是单靠Armv9架构的CPU就能实现的,MTE是一套软硬件结合的实现方案,所以也需要操作系统的支持。比如谷歌在安卓12中加入了初步的MTE实现,可以用来检测示范后使用(UAF)和缓冲区溢出这样的常见bug。
除了谷歌之外,荣耀也在其MagicOS 6.x和MagicOS 7设备实现了MTE,允许开发者通过Honor SkyNet和诊断工具来检测内存安全问题。诸如快手这样的应用,由于大部分代码库都是基于C++这样的非内存安全语言,已经在利用MTE技术检测软件开发中的内存安全bug,提高检测速度的同时,也避免软件上架前出现严重内存漏洞。
可以看出,MTE需要操作系统的协作才能同步保证内存的安全,但为何目前没有更多的系统跟进MTE呢?答案是MTE虽然保证了安全性,但也一定程度影响了性能。谷歌在安卓13版本的开发者选项中,提供了一个重启并启用MTE的选项,从而在那些硬件支持MTE但并没有启用的设备上打开这一功能。
谷歌强调,这一选项的目标受众属于那些希望使用MTE来测试其软件的应用开发者。而且谷歌会在这一选项开启后提示,MTE可能会对系统性能和稳定性产生负面影响,且该选项将在下一次重启后重置。
话虽如此,相比传统的内存安全分析工具来说,MTE的性能开销已经算很小了,尤其是在非对称模式下,也不用再一遍遍地重新编译源代码。开发者可以在检测到Bug后再切换到同步模式,确保Bug检测的精度。更何况Arm也在和谷歌合作,力求在未来的安卓版本中减少MTE的内存占用,相信MTE会给未来移动软件生态开发的安全提供更多助力。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。
举报投诉
-
ARM
+关注
关注
134文章
9105浏览量
367895
发布评论请先 登录
相关推荐
城中村充电桩搭载智能安全用电消防系统:守护绿色出行的新防线
充电桩的安全性能,智能安全用电消防系统的引入成为了守护绿色出行的新防线。 电盾智能城中村充电桩搭载智能安全用电消防系统,意味着充电桩不仅具备
基于Armv9架构的MediaTek天玑8400移动芯片问世
如今,基于 Armv9 CPU 技术构建的人工智能 (AI) 旗舰智能手机立于技术前沿,为 AI 创新提供了前所未有的机遇。为了应对持续增长的 AI 工作负载的计算强度及复杂度,Armv9.2 CPU 集群带来了更强性能、更高效率,以及更多功能,为新一代 AI 奠定了扎实
电梯应急救援处置系统:守护安全的智慧防线
在现代社会,电梯已成为人们日常生活中不可或缺的一部分,特别是在高楼大厦和大型公共设施中,其重要性尤为凸显。然而,电梯的安全问题也一直是社会关注的焦点。为了保障乘客的人身安全,电梯应急救援处置系统
电梯应急救援终端:守护安全的智慧防线
在高层建筑林立、电梯成为日常出行重要工具的今天,电梯的安全性和可靠性显得尤为重要。电梯应急救援终端,作为电梯安全管理体系中的关键一环,正以其智能化、高效化的特点,成为守护电梯安全、快速响应紧急情况的智慧
新能源光伏工厂的安全防线——安科瑞母线槽红外测温上线
难题,成为了保障工厂安全的关键防线。随着技术的不断发展和应用,相信这一安全防线将更加坚固,为我国新能源光伏产业的蓬勃发展保驾护航,助力国家早日实现碳达峰、碳中和目标。
纯净IP:守护网络安全的重要道防线
纯净IP,作为守护网络安全的道防线,扮演着至关重要的角色。它不仅关乎网络流量的顺畅与高效,更是确保用户数据安全、防止恶意攻击和非法访问的关键所在。
Armv9 CPU中SVE2的实际用例
随着每一代新产品的推出,Arm CPU 都会实现代际性能提升,并引入架构改进,以满足不断演进的计算工作负载的需求。本文将重点介绍三个用例,以展示 Armv9 CPU 的架构特性在实际场景中产
PCM1864采样音频数据的谐波及底噪可能会是由什么引入的呢?
把ADC教接地,也有-60dB左右底噪。
请问
1.有办法测试codec I2S输出数据噪声,谐波数据吗?(方便判断是PCM1864引入还是DSP C5517引入)
2.谐波及底噪可能会是由什么引入的呢?
发表于 10-15 06:17
PI-MTE3大画幅X射线相机介绍
PI-MTE3真空CCD相机专为VUV、EUV和X射线成像中的直接检测而设计,其能量范围大约为10 eV至30 keV。PI-MTE3中的背照式CCD提供了超过95%的峰值量子效率,高效的液体冷却
移动端芯片性能提升,Armv9架构新升级引发关注
“数码博主”5月17日的最新爆料指出,联发科积极推进Armv9新一代IP BLACKHAWK“黑鹰”的架构设计,预计天玑9400芯片将采用这一架构,有望以“全大核”设计再度领跑移动SoC CPU性能榜单。
联发科参与设计Armv9新旗舰架构BlackHawk黑鹰,天玑9400拉满顶级天赋预定芯皇
最近,有关联发科下一代旗舰芯片的消息频传,天玑9400已成为数码圈的讨论焦点。前不久,知名大V数码闲聊站爆料,为了确保天玑9400性能和能效都稳赢对手,联发科深度参与设计了Armv9新一代
知语云智能科技揭秘:无人机威胁如何破解?国家安全新防线!
方法,为国家安全筑起新的防线。
一、无人机威胁的现状与挑战
近年来,无人机滥用事件频发,从非法航拍到侵犯隐私,再到恐怖袭击和走私活动,无人机的潜在威胁不容忽视。这些事件不仅侵犯了公民的合法权益,也
发表于 02-27 10:41
Git开发者关注内存安全问题,探讨引入Rust语言
根据最新披露的邮件讨论,Git开发团队热议在Git项目中引入Rust的可行性。作为一种开源的分布式代码版本管理工具,广泛运用于各种开发项目。尽管现在Git项目主要以C与Python为主要开发语言,但探讨显示,引入Rust能显著降低内存
评论