A Measurement Study on the Adoption of Pledges and Unveils in the OpenBSD Operating System
摘要
论文是 OpenBSD pledge 与 unveil 系统调用采用的纵向测量研究,这些系统调用用于沙箱程序与库。数据涵盖 19 个版本,许多程序与库已在官方引入前就修改使用这些系统调用。采用率呈稳步增长的线性趋势,线性趋势提供了一个粗略但有意义的启发式方法。虽然 /usr/bin 和 /usr/sbin 中的程序已被修改使用这些系统调用,但程序和库的大小与调用 pledge 与 unveil 系统调用的次数不相关。对于 pledges,标准输入输出操作被频繁请求,尽管 OpenBSD 已充分利用了 pledge 提供的完整细粒度工具。同样地,读取给定路径的操作也被频繁 unveil。总的来说,测量结果表明,系统调用最小化和沙箱技术的采用并非文献中常讨论的那样麻烦。
荐读理由
在OpenBSD中已有大量程序在pledge和unveil系统调用引入前就修改使用了,表明在实际产品项目中可以优先采用这些sandboxing技术,而非等官方发布后才跟进
原文(据论文摘要)
The paper presents a longitudinal measurement study on the adoption of the pledge and unveil system calls in OpenBSD. These system calls are used to sandbox programs and libraries. Given a dataset covering 19 releases, many programs and libraries were modified to use the system calls already before their introductions in official releases. The adoption rates have also steadily grown; a linear trend provides a coarse but sensible heuristic. Although particularly programs residing in /usr/bin and /usr/sbin have been modified to use the system calls, the sizes of programs and libraries do not correlate well with the amounts of pledge and unveil system calls invoked. Regarding the pledges made, standard input and output operations have frequently been requested, although the full fine-grained arsenal offered by pledge has generally been utilized in OpenBSD. The same observation is seen in that particularly read operations to given paths have frequently been unveiled. All in all, the measurement results indicate that the adoption of system call minimization and sandboxing techniques is not necessarily as troublesome as has often been discussed in the literature.
这条对你有帮助吗?