首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >启用对ARM Cortex A9上的性能计数器的访问对安全性有什么影响?

启用对ARM Cortex A9上的性能计数器的访问对安全性有什么影响?
EN

Security用户
提问于 2013-04-16 00:06:17
回答 1查看 516关注 0票数 4

在ARM Cortex A9核心上,必须执行特权指令,以便非特权代码可以使用性能计数器。例如,使用这个GCC内联代码,它必须在内核中运行:

代码语言:javascript
运行
复制
/* Allow access to perf counter */
__asm__ __volatile__ ("\tMCR p15, 0, %0, C9, C14, 0\n" :: "r" (1));

/* Turn off counter overflow interrupts */
__asm__ __volatile__ ("\tMCR p15, 0, %0, C9, C14, 2\n" :: "r" (0x8000000f));

如果未启用访问,则尝试访问循环计数器的用户程序将收到“非法指令”异常,当然用户程序无法运行启用序列。

我的问题是,是否有保护柜台的安全理由?

我所能想到的是,在可信的计算类型环境中,非特权代码可以获得关于调用某些安全敏感代码的非常精确的定时信息。

在将这样的代码添加到内核的启动代码之前,我希望获得尽可能多的信息,客户可以将这些代码集成到具有严格安全性要求的最终产品中。

EN

回答 1

Security用户

回答已采纳

发布于 2013-04-16 01:49:11

在执行侧信道攻击时,非常精确的定时信息非常有用。一些著名的例子(在实验室条件下)包括窃取由其他进程使用的加密密钥,在我们看不到的数据上(既不是明文也不是密文)。这可以用于检测L1缓存错误,或者检测CPU中的跳转(Mis)预测。禁止进入循环计数器将使这种攻击更加困难(不是不可能,而是更困难)。

如果在同一个CPU上运行的并发进程没有潜在的敌意(这种情况包括两台共享相同硬件的不同虚拟机),那么几乎没有理由禁用循环计数器。

票数 5
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/34404

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档