本周摘要的主题包括 Linux Perf 子系统中的竞赛条件、BIND 中的拒绝服务以及基于 OWASP 风险评级方法的风险评估计算器。
Linux Perf 子系统中的竞赛条件
Linux 中的Perf子系统是一个基于内核的子系统,为硬件和软件性能分析与监控提供了一个框架。它最初是在版本 2.6.31中并入 Linux 内核的,并有一个与内核子系统接口的用户空间实用程序(perf)。用户空间 perf 工具可以记录、计算 b 和采样硬件事件(CPU 寄存器执行的上下文切换和指令)和软件事件(通过软件计数器和跟踪点)。
被归类为CWE-362的CVE-2022-1729漏洞是perf_event_open系统调用中的一个竞赛条件,由 Norbert Slusarek 发现。根据手册页面,"调用 perf_event_open() 会创建一个文件描述符,用于测量性能信息。每个文件描述符对应一个被测量的事件;这些文件描述符可以组合在一起,以便同时测量多个事件"。
该竞赛条件似乎从内核v4.0-rc1 开始就存在,可能导致权限升级和任意代码执行。该漏洞的补丁是 Linux 内核5.17.10-rc1发布周期的一部分。
此外,RedHat 提出的一种缓解方法建议通过 sysctl 将kernel.perf_event_paranoid变量设置为 "3",以限制无权限用户访问内核中的 Perf 子系统。
BIND 中的拒绝服务
ISC 上周发布了一份安全公告,指出 BIND9.18.0至9.18.2版本以及 9.19 开发分支的 9.19.0版本存在严重漏洞。该漏洞最初由 Thomas Amgarten 发现,可通过网络利用,ISC 将其 CVSS 分值定为 7.0。
如果客户端与 http TLS 监听器的 TLS 连接过早被破坏,在某些情况下成功利用漏洞会导致命名守护进程因断言失败而终止(导致拒绝服务)。存在漏洞的系统包括启用了 HTTPS DNS 的 BIND 服务器,这些服务器在其命名配置的 listen-on 语句中包含了对 http 的引用。根据公告,仅使用 DNS over TLS 的配置不受此漏洞影响。
目前还没有已知的解决方法,但 ISC 建议分别升级到稳定分支的v9.18.3 和开发分支的v9.19.1以缓解问题。
风险评估计算器
在漏洞管理生命周期中,重要的是要估算与可能影响组织基础设施的新漏洞相关的技术和业务影响。
风险评估方法考虑了各种因素,如被利用的可能性、对手的技术水平和发现的难易程度等等。
OWASP 提出的一种方法就是根据这些因素计算总体风险严重性。
Ivan Markovic 根据 OWASP 风险评级方法设计的风险评估计算器是一款开源工具。风险计算公式如下
风险 = 可能性 * 影响
在上述公式中,开发的可能性取决于进一步考虑相关因素的几个因素:
- 威胁人员:技能水平、动机、机会和威胁人员的规模。
- 漏洞因素:发现和利用的难易程度;对漏洞的认识;入侵检测系统对漏洞利用的检测。
同样,影响脆弱性总体影响的因素包括
- 技术影响因素:失去保密性、完整性、可用性,以及威胁行为者行动的责任性。
- 商业因素:财务和声誉受损;不合规;侵犯隐私。
因此,漏洞的总体风险评分能让所有者做出明智的决定,并有助于确定修补漏洞的优先次序。
注释