如何防止企业的数据和机密从GitHub存储库泄露

研究表明,网络攻击者不断在GitHub等公共代码存储库中搜索开发人员可能留下的秘密,任何微小的错误都可能被他们利用。

安全研究员Craig Hays在疫情期间进行了一个实验。他将其SSH用户名和密码泄露到GitHub存储库中,看看是否有网络攻击者可能会找到它。他认为可能需要等待几天才会有人注意到。事实证明更加残酷,第一次未经授权的登录发生在其泄露用户名和密码之后的34分钟内。他说:“对我来说,最让我大开眼界的是它被利用的速度有多快。”

在最初的24小时内,六个不同的IP地址9次登录他的帐号。一名网络攻击者试图安装僵尸网络客户端,另一名网络攻击者试图使用其服务器发起拒绝服务攻击。Hays还看到有人想从他的服务器窃取敏感信息,也有人只是查看信息。

实验表明,威胁行为者不断扫描GitHub和其他公共代码存储库,寻找开发人员留下的敏感数据。随着企业从内部部署软件过渡到云平台以及越来越多的开发人员在家工作,包括用户名、密码、Google密钥、开发工具或私钥在内的机密不断增加。法国安全初创厂商GitGuardian公司的联合创始人Eric Fourrier表示,仅在今年,数据泄露就比去年至少增加了20%,该公司主要提供扫描公共存储库以识别网络攻击者可能利用的数据的服务。

黑客如何找到GitHub的秘密

黑客知道GitHub是查找敏感信息的好地方,联合国机构、Equifax、Codecov、星巴克和优步等机构和组织为此付出了代价。一些企业可能会争辩说他们不会面临风险,因为他们不使用开源代码,但事实上更微妙;开发人员经常将他们的个人存储库用于工作项目。根据针对GitHub的调查报告,85%的数据泄漏发生在开发人员的个人存储库中,其他15%的数据泄漏发生在企业拥有的存储库中。

开发人员会留下shell命令历史、环境文件和受版权保护的内容。有时他们也会犯错误,因为试图简化流程。例如,他们在编写代码时可能会包含他们的凭据,因为这样更容易调试。然后,他们可能会忘记删除并提交。即使他们稍后执行删除提交或强制删除机密,这些私人信息通常仍然可以在Git历史记录中访问。

GitHub上最常见的机密类型

Hays说,“我在旧版本的文件中发现了很多密码,而这些密码已被更新的、更干净的版本替换,而这些版本中没有密码。”Git提交历史会记住所有内容,除非明确删除它。

无论是初级开发人员还是高级开发人员都可能犯错误。Fourrier说。,“即使你是一位出色的开发人员,并且在安全问题上受过教育,在某些时候编码时,可能会犯错误,而泄露秘密通常是人为的错误。”

在GitHub上发现的最常见的文件类型

任何开发人员都会出错,那些刚进入职场的开发人员通常会泄露更多的机密。当Crina Catalina Bucur多年前还是一名软件工程专业的学生时,就开设了一个用于开发目的的AWS账户,但不久收到了2000美元的账单,其中只有0.01美元是她应该支付的费用。

她说,“我开发的项目是一个聚合文件管理平台,用于大约10种云存储服务,包括亚马逊的S3。这发生在GitHub提供免费私有存储库之前,所以我的AWS访问密钥和相应的密钥与代码一起发布到我的公共存储库。而我当时并没有考虑太多。”

几天后,她开始收到来自AWS的电子邮件,警告她的账户已被盗用,但她没有仔细阅读这些邮件,直到收到账单。对她来说,幸运的是AWS公司免除了其他额外费用。但Bucur还是犯了一些被黑客利用的错误,包括为方便起见对密钥进行硬编码并将它们发布到公共代码存储库中。

Hays表示,如今想要发现此类错误的黑客只需要很少的资源。他在业余时间是一名漏洞的赏金猎人,并且经常依赖开源情报(OSINT),这些都是可以在网上找到的信息。他说,“我选择的方法是使用标准的Github.com界面人工搜索,我使用搜索运算符限制特定的文件类型、关键字、用户和组织,具体取决于针对的公司。”

一些工具可以使过程更快、更有效。HUMAN公司的安全研究员Gabriel Cirlig说:“网络攻击者运行自动机器人来抓取GitHub内容并提取敏感信息。这些机器人可以一直运行,这意味着黑客可以在几秒钟或几分钟内检测到错误。”

一旦发现秘密,网络攻击者就可以轻松利用它。Fourrier说,“例如,如果找到AWS密钥,就可以访问某公司的所有云计算基础设施。而针对为特定公司工作的开发人员并尝试查看该公司的一些资产非常简单。”根据机密的性质,黑客可以做很多事情,其中包括发起供应链攻击和危害企业的安全。

随着机密数量的增加,企业需要在为时已晚之前更好地发现它们。GitHub有自己的“秘密扫描合作伙伴程序”,它可以查找类似密码、SSH密钥或API令牌的文本字符串。GitHub与40多家云计算服务提供商合作,自动修复公共存储库中公开的API密钥。

GitHub发言人表示,“我们一直在寻求扩大这些合作伙伴关系,以更好地保护生态系统。我们目前每天注销100多个公开的GitHub API密钥,在我们这样做时,通常会安全地向新开发人员介绍凭证安全的重要性。”

Hays表示,“秘密扫描合作伙伴程序”是朝着正确方向迈出的一步,因为它使网络攻击者更难找到有效凭据。不过他表示,该计划并不完美。他说,“当人们不小心检查他们自己的SSH密钥、密码、令牌或任何其他敏感的东西时,仍然留下了空白。这更难以检测和管理,因为没有合作的凭证提供者可以提出诸如‘这是真的吗?想撤销它吗?我们中的一方应该告诉所有者吗?’之类的问题。”

与此同时,他建议开发人员注意他们编写和部署代码的方式。他说,“首先要做的事情之一是将正确的设置添加到.gitignore文件中,这个文件告诉Git和GitHub.com哪些文件不应该被跟踪和上传到互联网。”

一些安全初创厂商也在试图填补这一空白。GittyLeaks、SecretOps、gitLeaks和GitGuardian旨在为业务用户和独立专业人士提供更多的保护层。有些人可以在几秒钟内检测到泄露的机密,从而使开发人员和公司能够立即采取行动。Fourrier说,“我们在整个开发生命周期、Docker容器、不同类型的数据中扫描软件上的所有代码,我们找到并试图撤销它们。”

在理想情况下,最好的策略是根本不泄露数据或尽可能少地泄露,提高对这一问题的认识有助于做到这一点。Cirlig说:“教育开发人员编写安全代码并主动阻止攻击总比事后应对数据泄露事件要好得多。”

 

文章来源网络,作者:运维,如若转载,请注明出处:https://shuyeidc.com/wp/122907.html<

(0)
运维的头像运维
上一篇2025-02-22 13:43
下一篇 2025-02-22 13:44

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注