KEDA安全审计结果
作者:Amir Montazery,OSTIF。文章在OSTIF 博客[1]交叉发布
KEDA[2],或“基于 Kubernetes 事件驱动自动缩放(Kubernetes-based Event Driven Autoscaling)”项目,在 2022 年底由Trail of Bits[3]进行安全审计。由于战略合作伙伴 OSTIF 的帮助,KEDA 加入了越来越多的 CNCF 项目审计名单,以改善安全状况,并帮助达到毕业阶段。威胁建模、手动代码审查和自动化测试工具的组合被用于这项工作。
审计发现了 Redis Scalers 中的一个重大缺陷,该缺陷可能会影响系统的机密性、完整性或可用性。这个问题与加密和绕过 TLS 有关,从而允许潜在的 MitM(中间人)攻击。以下是调查结果和安全改进的概述:
基于审计结果的修复更新
- https://github.com/kedacore/keda/pull/3966;
- https://github.com/kedacore/keda/pull/3989;
- 通过https://github.com/kedacore/keda/pull/4091解决。该Prometheus服务器已被弃用,并将根据项目的弃用政策[4]在两个版本中完全移除,以支持operator的Prometheus服务器(来自operator-sdk);
- https://github.com/kedacore/keda/pull/3985;
- https://github.com/kedacore/keda/pull/4007;
- https://github.com/kedacore/keda/pull/4006;
- 通过首先添加启用了“security-and-quality”查询的 CodeQL 进行补救,并修复了报告的问题:(1) https://github.com/kedacore/keda/pull/4133 和 (2) https://github.com/kedacore/keda/pull/4142;
- 由于针对审计结果#3 实施了修复,已得到补救。
工具更新和安全状况改进
- 引入semgrep 作为工具[5](与 GitHub 集成),启用所有 golang 规则 + https://github.com/dgryski/semgrep-go规则,以及2个自定义规则,一个用于检测连接字符串(由审计团队提出),另一个用于检测错误的错误包装(使用该工具并检查其工作方式)。大多数规则都处于评论模式,以便在PR中发现并提出修改建议,同时修复所有检测到的警报,如在https://github.com/kedacore/keda/pull/3998;
- 另一个重要的安全改进是证书管理。所有 KEDA 通信(K8s API 服务器和指标服务器之间、K8s API 服务器和 webhooks 之间,以及 KEDA operator 和 KEDA 指标服务器之间),以及 KEDA operator gRCP 服务器中的 KEDA 指标服务器认证(服务器暴露 TLS 端点,并要求 TLS 客户端认证)都引入了 TLS 证书。
“借助 KEDA,我们努力通过使用广泛的安全工具套件,来提供安全的应用程序自动扩展解决方案,并为我们的最终用户,提供各种方式来验证他们的依赖性,并满足企业要求。由于审计,我们能够修补一些小漏洞,并增加我们现有的安全工具链,以防止引入新的漏洞。” Tom Kerkhove——KEDA 维护者,微软高级软件工程师
“我们非常感谢 OSTIF 和 Trail of Bits 对 KEDA 进行了彻底的安全审计,并给予我们出色的合作。KEDA 社区一直在努力为我们的用户提供更好、更安全的项目,审计中提供的见解将帮助我们实现这一目标。” Zbynek Roubalik——KEDA 维护者,Red Hat 首席软件工程师
鸣谢
我们感谢 Jorge Turrado、Tom Kerkhove、Zbynek Roubalik,以及所有 KEDA 维护人员在此次项目中的帮助和合作。
特别感谢 CNCF 赞助审计并委托 OSTIF 完成工作。我们非常感谢有机会帮助关键的云计算基础设施变得更加安全和可永续。
参考资料
[1]
OSTIF 博客: https://ostif.org/our-audit-of-kubernetes-event-driven-autoscaling-keda-is-complete/
[2]
KEDA: https://keda.sh/
[3]
Trail of Bits: https://github.com/trailofbits/publications
[4]
弃用政策: https://github.com/kedacore/governance/blob/main/DEPRECATIONS.md
[5]
semgrep 作为工具: https://github.com/kedacore/keda/issues/3961
相关文章
- 在 Go 里用 CGO?这 7 个问题你要关注!
- 9款优秀的去中心化通讯软件 Matrix 的客户端
- 求职数据分析,项目经验该怎么写
- 在OKR中,我看到了数据驱动业务的未来
- 火山引擎云原生大数据在金融行业的实践
- OpenHarmony富设备移植指南(二)—从postmarketOS获取移植资源
- 《数据成熟度指数》报告:64%的企业领袖认为大多数员工“不懂数据”
- OpenHarmony 小型系统兼容性测试指南
- 肯睿中国(Cloudera):2023年企业数字战略三大趋势预测
- 适用于 Linux 的十大命令行游戏
- GNOME 截图工具的新旧截图方式
- System76 即将推出的 COSMIC 桌面正在酝酿大变化
- 2GB 内存 8GB 存储即可流畅运行,Windows 11 极致精简版系统 Tiny11 发布
- 迎接 ecode:一个即将推出的具有全新图形用户界面框架的现代、轻量级代码编辑器
- loongarch架构介绍(三)—地址翻译
- Go 语言怎么解决编译器错误“err is shadowed during return”?
- 敏捷:可能被开发人员遗忘的部分
- Denodo预测2023年数据管理和分析的未来
- 利用数据推动可持续发展
- 在 Vue3 中实现 React 原生 Hooks(useState、useEffect),深入理解 React Hooks 的