专栏首页CNCFFalco安全审计

Falco安全审计

作者:Michael Ducy

定期审计代码库是发布安全软件的一个重要过程。对于依赖于来自各种贡献者的代码的开源项目,审计可能特别重要。我们很高兴地宣布Falco首次安全审计的发布,这是Falco作为CNCF沙箱项目参与完成的。非常感谢CNCF对审计工作的赞助,也非常感谢Cure53团队对审计工作的支持。

https://cure53.de/

总的来说,安全审计发现了3个潜在的漏洞(1个关键的,2个高的)和2个杂项问题(低的)。您可以在完整发布的报告(pdf)中找到审计的细节和漏洞。下面您可以找到每个漏洞的简要描述,以及实现的补救措施。除了实现的补救之外,这些问题还帮助我们更好地理解Falco团队如何重构Falco架构来减少安全漏洞的机会。

https://github.com/falcosecurity/falco/blob/dev/audits/SECURITY_AUDIT_2019_07.pdf

鼓励用户升级到Falco 0.18.0,其中包含针对以下每个问题的修复。

漏洞发现

FAL-01-001 Driver: Undetected crash disables Falco monitoring (Critical)

除了Falco审计之外,Sysdig(公司)还赞助了Sysdig OSS(开源项目)的类似审计。目前Falco直接依赖于sysdig OSS,特别是Falco利用libscap、libsinsp、内核模块和eBPF探测。FAL-01-001是关于内核模块可能由于整数溢出而崩溃的漏洞。libscap和libsinsp库没有检测到崩溃的内核模块,因此这就禁用了Falco用来检测异常行为的系统调用流。

FAL-01-002 Falco: Bypassing various rules with different techniques (High)

该漏洞涵盖了可以绕过规则的各种方法。Cure53发现,在Falco规则的默认设置中所做的各种假设忽略了允许绕过规则的几个边缘情况。为了更好地检测这些边缘情况,对默认规则进行了更改,Falco社区不断更新默认规则,以处理各种边缘情况,比如在审计中发现的情况。

FAL-01-003 Falco: HTTP request with incorrect data leads to crashes (High)

Falco包含一个嵌入式HTTPs服务器作为Kubernetes审计日志事件的后端。此web服务器的请求处理程序需要JSON格式的数据。Cure53发现请求处理程序没有正确地检查正确格式的JSON传入请求。此外,请求处理程序没有正确检查传入数据的类型(整数、字符串等)。这导致Falco守护进程崩溃,并禁用Falco提供的保护,直到systemd或Kubernetes重新启动Falco守护进程。

杂项问题

FAL-01-004 Falco: Dependencies pulled via hard-coded HTTP links (Low)

Falco利用cmake构建Falco及其依赖项。作为这个过程的一部分,如果本地操作系统不能提供所需的依赖项,cmake将下载它们。对于一些依赖项,cmake使用HTTP而不是HTTPs来下载依赖项。理论上,这将允许攻击者执行中间人攻击,用恶意包替换下载的包。但是,在实践中,cmake还验证下载依赖项的SHA256总和,以防止MITM攻击。

FAL-01-005 Falco: Security flags not enforced by Makefile (Low)

现代编译器提供的标记可以减少基于内存损坏的攻击的可能性。Falco没有在项目的CMakeLists.txt中显式地设置这些标志。为了实现这些标志,Falco需要上游依赖项(即sysdig OSS)也支持这些标志。Falco团队正在与sysdig OSS项目团队一起实现这些更改。

作为Falco团队持续致力于提高项目安全性的一部分,我们还发布了一个安全漏洞报告流程。我们再次感谢CNCF对Falco安全审计的赞助以及Cure53团队对我们的审计。让CNCF项目通过这些安全审计,允许项目构建和发布更安全的软件,并为CNCF中的项目提供信心。我们期待定期重复这一过程,并邀请Falco社区的任何人参与未来的审计。

https://github.com/falcosecurity/.github/blob/master/SECURITY.md

本文分享自微信公众号 - CNCF(lf_cncf),作者:Falco

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-12-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 使用Kind演示如何将Falco指标输出到Prometheus和Grafana

    Kind是一个使用Docker容器“节点”运行本地Kubernetes集群的工具,可以用于本地开发或CI。它还提供了在Kubernetes集群中安装Falco并...

    CNCF
  • Minikube>=1.8.0版本封装了Falco内核模块

    Minikube是一个工具,在macOS、Linux和Windows通过一个简单的命令行实现了一个本地Kubernetes集群。它被社区成员广泛使用来尝试Fal...

    CNCF
  • Istio技术与实践04:最佳实践之教你写一个完整的Mixer Adapter

    Istio的功能与作用在之前的文章中已经向大家展示了,基于Istio的微服务治理也必将登上广大云服务供应商的舞台。本文中,我们将会为您重点介绍一下Istio的核...

    CNCF
  • 5 个非常有用的 Rust 小技巧

    自从做了 https://github.com/chainx-org/ChainX 项目以后,主力语言就转到了 Rust,今天刚好这个文章,比较剪短,跟大家分...

    用户1558438
  • JavaScript立即执行函数的解释分析(2)—函数表达式与函数声明的区别

    上次我们聊了聊表达式与语句的区别,这次我们说说函数表达式与函数声明,上次虽然提到过这两点,但是并没有很详细的讲,这次要专门聊聊了!

    FEWY
  • Spring Boot 最核心的 3 个注解详解

    最近面试一些 Java 开发者,他们其中有些在公司实际用过 Spring Boot, 有些是自己兴趣爱好在业余自己学习过。

    Java技术栈
  • Spring Boot 最核心的 3 个注解详解

    最近面试一些 Java 开发者,他们其中有些在公司实际用过 Spring Boot, 有些是自己兴趣爱好在业余自己学习过。

    用户5224393
  • 立即执行函数

    这两种格式都能保证函数立马执行,这也是立即函数的基础常见的格式,()运算符加上匿名函数,还有另外几种格式也能立即执行:

    wade
  • 海尔造机器人:制造企业跨界能搞出名堂吗?

    格力手机又跳票了,海尔要造机器人了。这是上周两个热度相差很大的新闻,放在一起读却有点黑色幽默。这是怎么了,老牌的家电企业都要转行了吗?雷军做手机火了,引的董小姐...

    机器人网
  • 清华学霸直博简历火了:CPU、操作系统、编译器全自己写

    近日,知乎上有条帖子火了,有人提问:清华大学计算机专业本科这位在「自己写的 CPU 上运行自己写的操作系统」的同学是什么水平?

    Java技术江湖

扫码关注云+社区

领取腾讯云代金券