加入收藏 | 设为首页 | 会员中心 | 我要投稿 济宁站长网 (https://www.0537zz.cn/)- 行业智能、边缘计算、专有云、AI硬件、5G!
当前位置: 首页 > 站长资讯 > 传媒 > 正文

对抗种族主义的下一个前沿?

发布时间:2021-02-05 13:00:25 所属栏目:传媒 来源:互联网
导读:步骤1:数据收集 对开源软件进行大规模分析时,最困难的部分之一是初始数据收集。为所有开源项目找到一个最新的、准确的、容易搜索的索引是很困难的。研究人员主要使用两个数据集进行分析: (1) GitHub活动数据 这是由Github自己提供的,是一个巨大的数据集,

步骤1:数据收集

对开源软件进行大规模分析时,最困难的部分之一是初始数据收集。为所有开源项目找到一个最新的、准确的、容易搜索的索引是很困难的。研究人员主要使用两个数据集进行分析:

(1) GitHub活动数据

这是由Github自己提供的,是一个巨大的数据集,包括超过280万个存储库,以及它们的所有文件和内容,整个数据集的内容超过3TB。方便的是,它被托管为谷歌云平台(GCP)上的一个公共BigQuery数据集,这意味着研究人员可以使用BigQuery从GCP本身内部在整个数据集上运行SQL命令,而不需要下载整个3TB文件。

为了实际执行搜索,研究人员生成了一个正则表达式,用于捕获任何Github URL或其他常见的Github依赖链接格式,如Github:username/reponame。使用这个正则表达式,研究人员能够为包含对GitHub链接的引用的每个文件提取存储库、文件名和文件内容。这将研究人员的搜索空间从3TB缩小到更易于管理的4GB。经过过滤的数据集包括400万个独特的GitHub链接和超过70万个不同的GitHub用户。

(2) libraries.io

libraries.io是一个开源项目,旨在将来自多个不同打包程序管理器的所有依赖聚合成一个类似图表的数据集。这是令人惊奇的,因为它不仅为研究人员完成了连接什么依赖什么的所有繁重工作,而且它还提供了整个数据集可供免费下载。未压缩时,该数据集超过100GB,但可以直接加载到数据库中,以便于处理。

研究人员使用这两个数据集是很重要的,因为每个数据集擅长不同的事情。“Github活动数据”数据集允许研究人员找到存储库中引用的每一个可能的Github链接,即使它没有被用在明显的地方,比如包管理器清单中。一些最有趣的发现并不一定是直接的代码依赖,研究人员经常发现,在bash脚本中直接使用Github url来复制存储库或docker映像,这些映像将在构建时从Github提取存储库。
 

重定向是一个方便的功能,因为它意味着当你重命名你的帐户时链接不会立即中断。但这也意味着你的项目可能在不知不觉中变得容易受到Repo Jacking的攻击。从你的角度来看,什么都没有改变,你的代码编译仍然是一样的,一切都按照它应该的方式工作。但是,你的项目现在很容易受到远程代码注入的攻击,而且你并不知道。

三种劫持场景

更具体地说,从技术上讲,有三种不同的方式可以使存储库变得可以被劫持:

  • GitHub用户重命名其帐户。这是存储库可劫持的最常见方式,因为用户重命名其帐户并不罕见,并且在用户重命名帐户后,由于存储库重定向,一切都会按预期进行。
  • Github用户将其存储库转移到另一个用户或组织,然后删除其帐户。用户转移存储库时,将建立重定向,并通过删除其用户来打开它,使其被任何人劫持。
  • 用户删除其帐户。这是三者中影响最小的,因为从原始用户删除帐户的那一刻起,任何引用该帐户的项目在尝试获取存储库时都会开始出现漏洞。

注意:在用户删除帐户和项目尝试获取存储库之间,有几次攻击者重新注册已删除的用户名,详情请点此。

GitHub的回应

在发布本文之前,研究人员已与GitHub联系,他们表示虽然这是一个已知漏洞,但是他们目前尚无任何计划来更改重定向或用户名重用的方式。他们只是通过禁止重新注册导致删除一周之内具有100个以上新复制的存储库名称来为某些受欢迎的存储库提供了一些缓解此问题的方法,如下所述。这确实提供了一定程度的保护,但不是万无一失的解决方案,因为许多较小的存储库不符合此标准,但仍然可以为流行项目所依赖。

这里的根本漏洞不是GitHub允许重定向和用户名重用,而是开发人员从不安全的位置提取代码。GitHub无法监督那些出于意外目的使用其服务的开发人员。有许多可用的包管理器(事实上,GitHub本身就有一个)用于解决远程代码依赖漏洞,开发人员有责任确保他们从安全位置加载代码。

漏洞影响范围

漏洞影响范围有多大,事实证明,筛选所有开放源码项目,编译它们的依赖关系,找到所有可被劫持的存储库,并构建易受攻击的存储库的依赖关系图并不容易。

(编辑:济宁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读