Arm芯片曝重大硬件漏洞,影响所有移动设备且无法软件修复

Arm芯片曝重大硬件漏洞,影响所有移动设备且无法软件修复,第1张

麻省理工学院的安全研究人员近日在一篇新论文中公布了一种一种新的攻击方法,该攻击方法利用 Arm 处理器中的硬件漏洞,通过一种被称为 PacMan 的新型硬件攻击来实现在系统上的任意代码执行,利用了推测性执行攻击绕过Arm指针身份验证的内存保护机制。

安全研究人员以苹果的M1处理器芯片进行了演示,通过PacMan攻击手法可以在macOS系统上执行任意代码。

目前该硬件漏洞已确认无法通过软件进行修复,麻省理工学院安全专家表示,如果不采取补救措施,该硬件漏洞将影响所有采用Arm芯片架构的移动设备,也将影响部分采用Arm芯片的PC电脑。

根据中国网络安全行业门户极牛网(GeekNB.com)的梳理,该漏洞源于指针身份验证代码 ( PAC ),这是 arm64e 架构中引入的一道安全防线,旨在检测和保护内存中指针(存储内存地址的对象)的意外更改或损坏。通常通过覆盖内存中的控制数据(即指针)来利用这些漏洞将代码执行重定向到攻击者控制的任意位置。

虽然已经设计了诸如地址岁闭空间布局随机化 ( ASLR ) 之类的策略来增加执行缓冲区溢出攻击的难度,但指针身份验证代码(PAC)的目标是以最小的性能损耗验证指针有效性,通过使用加密哈希为指针身份验证代码 (PAC)保护指针,以确保其完整性。

指针身份验证通过提供一个特殊的 CPU 指令在存储指针之前将加密签名添加到指针的未使用高位来实现,另一条指令从内存中读回指针后删除并验证签名。在写入和读取之间对存储值的任何更改都会使签名无效。CPU 将身份验证失败解释为内存损坏,并在指针中设置一个高位,使指针无效并导致应用程序崩溃。

PacMan攻击手法消除了在使用指针身孙喊份验证保护的平台上进行控制流劫持攻击的主要障碍,结合了内存损坏和推测执行来绕过安全验证功能,通过微架构侧通道泄漏指针身份验证代码(PAC)验证结果而不会导致应用程序崩溃。

简而言之,攻击方法可以区分正确的指针身份验证代码(PAC)和不正确的哈希,允许攻击者在防止应用崩溃的同时暴力破解正确的指针身份验证代码(PAC)值,并对启用 PA 的控制流劫持受害者的应用程序或 *** 作系统。

防止应乎凯裂用崩溃之所以能成功,是因为每个指针身份验证代码(PAC)值都是通过使用 Prime+Probe 攻击的转换后备缓冲区 ( TLB ) 利用基于时间的边信道来推测性地猜测的。推测执行漏洞将无序执行武器化,这种技术用于通过预测程序执行流的最可能路径来提高现代微处理器的性能。

麻省理工学院研究论文中还记录了对苹果M1处理器的内存层次结构所做的逆向工程,这反过来揭示了这种芯片架构许多以前从未公开的技术细节。

目前该硬件漏洞的波及面还在研究中,专家们还在研究制定修复方案,相关资讯极牛网将第一时间跟踪报道。

Virbox Protector ARM 加密工具

功能特点

反调试

拒绝调试器对当前应用的附加 *** 作,防止程序被恶意调试分析

快速完成加密

提供工具和命令行 *** 作,编译、加壳一体化快速完成

高兼容性

支持ARM32、ARM64、x86及64位多种CPU架构,支持常规的 ARM Linux *** 作系统,完美支持Android4.0到最新系统中雀

函数级保护

可对程序进行函数级的保护,实现代码加密、代码混淆

整体保护

实现租培宽智能压缩及反调试功能。

安全技术

1 高级混淆加密

通过VirboxProtector,开发者能够自由选择保护的函数,对指定函数进行高级混淆,有效防止 IDA 反编译,极大地增加了动态分析的难度。相比使用基于LLVM编译器的混淆,Virbox Protector的高级混淆功能以更少的指令达到更强的保护效果,耗电量更小。

2 基于 SMC 技术的代码加密

可以对指定函数进行代码片加密,只有程序运行的时候才能解密,破解者无法弊亮 Dump 出整体的内存,有效防止逆向工程工具对程序进行静态分析。

3 智能压缩

隐藏程序中的代码和数据,阻止 IDA PRO 等工具的反编译,并且有效的防止了加壳后的应用体积膨胀。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12541627.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-26
下一篇 2023-05-26

发表评论

登录后才能评论

评论列表(0条)

保存