Trellix 修复开放源代码项目中的15年漏洞

关键要点

  • Trellix 研究团队修复了近62,000个开放源代码项目中存在的15年路径遍历漏洞。
  • 该漏洞最早于2007年在Python的tarfile模块中被发现,并在随后的15年内蔓延至约350,000个开放源代码项目。
  • 团队采用自动化补丁的方式,完成了61,895个项目的漏洞修复,降低了安全风险。
  • 自动化补丁虽然有效,但在实施时需要注意潜在的风险和挑战。

Trellix研究团队宣布,他们已经为近62,000个受到15年历史路径遍历漏洞影响的开放源代码项目打上了补丁。这一漏洞属于CVE-2007-4559。该漏洞最早在2007年被报告并上报给Python项目,但未得到及时修复。此后,它的影响范围不断扩大,约350,000个开放源代码项目以及无数闭源或专有软件项目也因此受到影响。

为了降低漏洞的影响面,Trellix 团队借鉴了安全研究员 Jonathan Leitschuh 在
的演讲,花费数月时间进行自动化补丁修复,成功修复了61,895个开放源代码项目。详情见他们于1月23日发布的 。

由于许多
项目缺乏专职人员和资源,因此大规模和自动化的补丁修复可以有效降低攻击面。尽管这个概念相对较新,Leitschuh 去年首次在现实世界中应用,但Trellix的研究团队向 SC Media 表示,这次的成功补丁为未来开放源代码社区利用类似策略更好地保护项目免遭攻击铺平了道路。

“虽然这需要时间并要求合作,但我们的自动化补丁修复工作向行业证明这是可行的,”Trellix 高级研究中心的漏洞研究员 Kasimir Schulz 说。

Schulz表示,采用自动化方法的最大挑战之一是平衡尽量修复更多项目与不降低补丁质量之间的关系。为避免对不真实敏感的项目进行干扰,团队将代码扫描工具集中在漏洞最常见的格式上。

具体而言,团队的补丁过程可分为两个步骤:补丁阶段和拉取请求阶段,这两个步骤均为自动化处理。

在补丁阶段,通过
提供的迅速可行数据,团队编制了一个独特的代码库扫描列表,追踪包含关键词“import tarfile”的库和文件。当列表生成后,团队使用

工具——这是他们为开发者构建的免费工具,用来检测应用程序是否存在漏洞,确定需要打补丁的代码库。一旦识别出存在漏洞的代码库,团队便会对文件进行修补并创建本地补丁差异,以便用户对比差异文件。

接下来,团队进入拉取请求阶段,首先审核本地补丁差异列表,然后在GitHub上创建代码库的分支。在克隆该分支后,如果原始文件没有更改,他们会将补丁文件替换为原始文件。

“然后我们将更改提交到代码库,并从我们的分支库创建一个拉取请求,附上一条详细说明我们身份和拉取请求目的的消息。此时,权利在于原代码库的所有者,他们可以选择接受或拒绝我们的更改,”博客中解释道。

自动化补丁是宽刀而非手术刀

尽管Trellix 的成功可以作为更大开放源代码社区的榜样,但安全研究人员表示,规模化和自动化补丁修复也伴随着自身的一系列挑战和安全风险。

“我认为Trellix研究员所采取的自动化补丁方法至关重要,但

Leave a Reply

Your email address will not be published. Required fields are marked *