主要观点:
- LWN.net 依赖订阅维持运营,呼吁订阅。
- 内核执行文件有规范,某些系统安全策略会限制执行特定程序,而脚本可绕过,Mickaël Salaün 多年致力于弥补此漏洞。
- 有两种执行包含恶意 Python 代码文件的方式,内核对其检查不同。
- Salaün 先后尝试通过添加新标志给 openat()和 trusted_for()系统调用来解决问题,均未成功,最终采取给 execveat()添加 AT_CHECK 标志的方式。
- 还添加了新的 securebits 标志来控制语言解释器对文件的执行,包括 SECBIT_SHOULD_EXEC_RESTRICT 和 SECBIT_SHOULD_EXEC_CHECK 等。
- 关于这些标志的语义在讨论中引起了一些混淆,Salaün 提出了不同的操作模式,包括 SECBIT_EXEC_RESTRICT_FILE 和 SECBIT_EXEC_DENY_INTERACTIVE 等。
- 讨论仍在进行中,虽看似最终可能让此功能进入内核,但之前 trusted_for()也曾看似达成共识却最终受阻。
关键信息:
- LWN.net 运营依赖订阅:https://lwn.net/Promo/nst-nag...
- 内核执行文件的规范及漏洞:需检查执行权限和咨询安全策略,脚本可绕过
- Salaün 的尝试及最终方式:先给 openat()添加标志,后给 execveat()添加 AT_CHECK 标志
- securebits 标志及其作用:控制解释器对文件的执行,有多种标志及不同设置的效果
- 讨论中的混淆及提议:对标志语义的讨论及 Salaün 提出的不同操作模式
- 之前类似情况及当前进展:trusted_for()曾看似达成共识却受阻,此功能有望进入 6.12 内核开发周期
重要细节:
- 关于 openat()的相关信息:https://man7.org/linux/man-pa...
- 关于 execveat()的相关信息:https://man7.org/linux/man-pa...
- 关于 capabilities man page 的相关信息:https://man7.org/linux/man-pa...
- 讨论中的相关邮件提及:如 https://lwn.net/ml/linux-kern... 等
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。