/proc/interrupts 是世界可读的有什么原因吗?

信息安全 linux 权限 核心
2021-08-14 14:28:41

阅读这篇关于如何使用信息/proc/interrupts来攻击系统的最新研究论文,我想知道是否有一个特殊的原因/proc/interrupts可以让世界可读。事实上,我的 Arch Linux 机器报告

ls -al /proc/interrupts 
-r--r--r-- 1 root root 0 24. Mai 18:03 /proc/interrupts

让这个文件只对 root 可读有影响吗?

2个回答

它现在是世界可读的,因为它在大约 20 年前创建时就已成为世界可读的。我没有研究过历史(它可能只存在于 Linus Torvalds 的脑海中),但这个文件很可能是世界可读的,因为没有明显的理由让它如此。毕竟,它不包含任何机密信息:只是一些系统配置和一些性能统计......

微妙之处在于,虽然拍摄一张快照/proc/interrupts是无害的,但在一个紧密的循环中读取它却不是,因为这会揭示击键的速度,这反过来又会泄露相当多的关于输入内容的信息。

直到几年前,旁通道在密码学之外并没有得到太多关注,当时应用市场成为主流,每个人和他们的祖母都运行从 App Store 或 Google Play 等阴暗网站下载的代码。因此,这些问题(在 1990 年代典型的多用户系统中已经存在)现在在智能手机的背景下得到宣传和更深入的研究,我并不感到惊讶。

改变现状并不是一个容易的决定,因为 Linux 内核具有很强的向后兼容性倾向。中的信息在/proc/interrupts调试应用程序或驱动程序代码或系统性能问题时很有用。

限制访问/proc/interrupts不会完全阻塞侧通道,只是一种比较方便的观察方式。还可以通过观察何时安排读取它们的进程来观察击键时间,攻击者需要做的或多或少是top程序需要的(并显示,如果你只是增加默认的 1Hz 刷新率)。

该问题似乎早在 2011 年就已报告。此外,还提出了一个/proc/interrupts只能由 root 读取的补丁。

通过阅读该线程,他们似乎认为发行版应该更改/proc/interrupts他们想要的权限。提出了一个问题,即强制每个安装 procfs 的人更改权限可能很麻烦。补丁的作者还为什么这不是默认设置,但没有提供答案(据我所知)。