MIT 发现苹果 M1 中新型硬件漏洞:可不留痕迹攻破安全机制

麻省理工学院计算机科学和人工智能实验室(CSAIL)的科学家发布了一项研究称,他们发现了一种可以绕过 Apple M1 CPU 上的指针验证机制的新型硬件攻击,称为 PACMAN

根据介绍,M1 芯片使用了指针认证的功能,该功能是针对典型软件漏洞的最后一道防线。在启用指针认证后,通常会危及系统或泄漏私人信息的漏洞会被拦截在其轨道上。目前,苹果已经在其所有基于 ARM 的定制芯片上实施了指针认证。

而 MIT 新发现的这一漏洞,则可以在不留痕迹的情况下攻破这最后一道防线。此外,鉴于 PACMAN 利用的是硬件机制,因此没有任何软件补丁可以对其进行修复。MIT 方面表示,苹果的 M2 芯片也支持指针认证,但他们还没有针对其进行相关的攻击测试。

研究指出,攻击者可通过猜出指针认证码(Pointer Authentication Code,PAC)的值并将其禁用来实现 PACMAN 攻击。PAC 是一种加密签名,可以用来确认一个应用程序有没有被恶意篡改。猜测出正确值的难度也并不高,攻击者可以通过 hardware side channel 来检验猜测结果的正确性。“鉴于 PAC 可能的值数量只有这么多,他们发现可以尝试所有的值以找到正确的值”。最重要的是,由于猜测都是在推测执行下发生的,所以攻击不会留下任何痕迹。

“指针认证背后的想法是,如果所有其他的方法都失败了,你仍然可以依靠它来防止攻击者控制你的系统。我们已经证明,作为最后一道防线的指针认证并不像我们曾经认为的那样绝对。当引入指针认证时,一大类 bug 突然变得更难用于攻击。而随着 PACMAN 加重这些 bug 的严重程度,整体攻击面可能会更大。”

不过,PACMAN 并不会完全绕过 M1 芯片上所有的安全设施;它只能利用指针认证可防止的现有漏洞,并通过找到正确的 PAC 来释放该漏洞在攻击中的真正潜力。正由于 PACMAN 无法在没有现有软件错误的情况下破坏系统,因此研究人员认为大家可以不必恐慌。“到目前为止,还没有人利用 PACMAN 创建端到端攻击。

值得注意的是,指针认证主要用于保护核心操作系统内核。研究指出,PACMAN 攻击甚至对内核有效,这“对所有启用指针认证的 ARM 系统上的未来安全工作具有重大影响。未来的 CPU 设计人员在构建未来的安全系统时应该注意考虑这种攻击,开发人员应注意不要仅仅依靠指针认证来保护他们的软件。”

MIT CSAIL 计划在 6 月 18 日的国际计算机架构研讨会上正式介绍这一研究。苹果方面在得知此发现后则发布声明表示,“我们要感谢研究人员的合作,因为这个概念证明推进了我们对这些技术的理解。根据我们的分析以及研究人员与我们分享的细节,我们得出的结论是,这个问题不会对我们的用户构成直接风险,而且不足以自行绕过操作系统的安全保护。”

优秀的个人博客,低调大师

微信关注我们

原文链接:https://www.oschina.net/news/199375/mit-hardware-vulnerability-m1

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。