上下文

必威国际有限公司Jenkins是一种CI/CD解决方案,因此,至关重要的是,作为其组成部分的开放源码插件不能让它们所使用的系统暴露任何安全风险和漏洞。正是在这种环境下,我们作为一个审计/代码评审团队来跟踪和报告这样的缺陷和有问题的实践。

我们与Jenkins安全团队成员Wadeck Follonier必威国际有限公司合作,作为我们最后一年研究项目的一部分硕士学位-可靠性和IT安全在艾克斯-马赛大学

项目目标

这个项目的主要目标是让我们在一个广泛使用的软件解决方案的背景下发现和处理各种安全漏洞,为了实现这个目标,我们必须将项目分成多个目标:

  • 学习一些最常见的漏洞,以及它们在Jenkins实例及其插件上可以找到的形式。必威国际有限公司

  • 对应用程序执行代码审查和技术审计,并作为安全团队的一部分来编译我们的结果。

  • 向Jenkins团队和插件维护者报告我们的发现,同时有时帮助必威国际有限公司后者纠正这些漏洞。

知识共享

在项目初期,我们通过Slack和谷歌Meets与导师建立了沟通渠道,并同意安排每周一次的会议。这些会议的目的是让我们更多地了解Jenkins的功能和我们可能遇到的漏洞类型,并让我们就我们的发现提出更具体的问题。必威国际有限公司

感谢我们的良师益友模拟插件编译各种经典漏洞及其几种实现,包括服务器端请求伪造(SSRF)、跨站脚本(XSS)和XML外部实体(XXE),我们已经能够通过实践来学习。它允许我们分析代码的上下文,以及可以使用Jelly框架显示信息的不同方式,扩展有效负载选项,并让我们在代码审查期间更清楚地看到要寻找的模式。

我们也有机会了解通过Jira问题向维护人员报告漏洞的过程,以及纠正它们或提供纠正步骤的一些方法。

搜索和编译

起初,我们决定作为一个相当松散的团队工作,每个成员都致力于不同的插件,并重新组合我们的发现,以确认或拒绝他们,同时保持经常联系,询问彼此的问题。这使我们能够扩大搜索范围,这也是为什么我们能够找到数量更多的漏洞的原因,这些漏洞存在于受欢迎程度大不相同的插件中,而不是我们从一开始就一起工作。

我们使用一个文件来编译我们审计的插件和我们的发现,使我们的导师更容易审查它们并给我们反馈。查明导致问题的代码的特定部分,并尽可能清晰地提供复制步骤,这对报告过程是有用的,从而使批准和纠正更快。

在这个项目的最后三分之一,我们开始一起工作更大的插件,为了有更多的观点来反映相同的问题。通过不同的分析,我们能够得出新的有效载荷,有时还会出现新的漏洞,我们只能分别找到一个。

报告和纠正漏洞

所有的报告都是通过Jira问题完成的,这使得Jenkins团队可以集中和分类漏洞。必威国际有限公司一旦我们提供了必要的信息以及复制步骤,Jenkins安全团队的一名成员就联系了插件维护者,并指导他们完成了该过程的下一步,希望他们能够回答。必威国际有限公司

我们也尝试着让维护人员的工作更轻松,进行一些修复工作。为了实现这一点,我们不仅深入研究了易受攻击的插件的功能,还研究了我们在Jenkins文档中或在导师的帮助下找到的一些缓解过程。必威国际有限公司

我们的每一个修改都在本地进行了测试,以评估漏洞是否仍然存在,以及功能是否没有被更改。然而,我们审计的一些插件需要更复杂的修复,由于它们的内在逻辑,或其开发人员的思维过程,这导致我们无法提供一个清晰的修复。

考虑到这一点,为了不干扰插件的逻辑,我们能够提供的修复只是给维护人员的建议,供他们作为灵感或模板使用。

结论

通过这个项目,我们能够像一个团队一样工作,深入研究一些安全工程师必须面对的不同问题,以及他们可以使用的缓解这些问题的方法。这让我们可以从更实际的方面补充我们的研究,否则我们不可能有,并过渡到我们现在实习的公司。这一经历强烈鼓励我们在网络安全这一分支上改进和记录自己,这将对我们的职业未来产生重大影响。

来自导师的信息

我没想到会有四个学生这么渴望学习新事物,新技巧。他们的好奇心帮助他们找到了许多漏洞,这些漏洞已经导致了14篇发表的cve。这段经历很棒,我祝愿他们的职业生涯和对知识的无止境追求一切顺利。

如果你是学生,实习生,或者只是对安保感兴趣的人尤其是詹金斯,请联系我们,看看是否有可能组织一些活动。必威国际有限公司邮件列表:必威国际有限公司jenkinsci-cert@googlegroups.com

关于作者
贾斯汀•菲利普

Justin是一名网络安全工程师,他在硕士的最后一年参与了一个与Jenkins安全相关的项目。必威国际有限公司

凯文Guerroudj

凯文是一名网络安全工程师,他在硕士的最后一年参与了一个与詹金斯安全相关的项目。必威国际有限公司

昆汀Parra

昆汀是一名网络安全工程师,在硕士的最后一年,他参与了一个与詹金斯安全相关的项目。必威国际有限公司

Marc Heyries

马克是一名网络安全工程师,他在硕士的最后一年参与了一个与詹金斯安全相关的项目。必威国际有限公司

讨论