对软件供应链漏洞时,研究人员、学者和业余爱好者现在不但能因为免费、开源的安全数据受益,而且还能做出贡献。 软件开发平台GitHub已将其Advisory Database(咨询数据库)在社区开放,允。..

软件开发平台GitHub已将其Advisory Database(咨询数据库)在社区开放,允许任何人提供有关安全漏洞的见解和情报,来帮助提高软件供应链的安全性。该数据库的全部内容现在也将在知识共享许可协议下发布到一个新的、可免费访问的公共存储库。专家表示,这种数据共享是提高软件供应链安全性和解决软件相关风险的关键。
 
安全社区因免费和开放的数据受益
 
数以百万计的开发人员和公司使用GitHub来构建、发布和维护软件。该公司表示,通过将其Advisory Database公开给社区贡献者,安全研究人员、学者和爱好者将能够提供、分享和受益于额外的信息和背景,从而促进社区对安全咨询的理解和认识。
“GitHub认为,免费和开放的安全数据能够促进整个行业更好地保护我们的软件供应链安全,”该公司补充道,“GitHub的Advisory Database是世界上最大的软件依赖漏洞数据库,通过简化它的contribute和consume操作,我们希望它能提高体验感,并进一步帮助提高所有软件的安全性。”
GitHub 已经建立了一个用户界面,方便贡献者提供他们的想法。GitHub安全实验室的研究人员将对其进行审查。贡献者可以就软件包、受影响的版本和受影响的生态系统提出更改建议或提供上下文,一旦他们的贡献被接受,他们将在自己GitHub的个人资料上获得公共信用。GitHub表示,开源漏洞(OSV)计划就是为了这些在存储库中的建议而开展的。
“为了拓宽开源漏洞管理,这些安全建议需要被所有人广泛接受并使用,”Google开源安全团队的软件工程师Oliver Chang说,“OSV 提供了这种可能。”
 
软件供应链安全不可或缺的数据共享
 
Salt Security 研究副总裁 Yaniv Balmas认为,GitHub 的举动是在推动保护开源项目和库方面向前迈出一步。“公开报告的软件漏洞数量创历史新高,并且逐年增长。良好且一致的信息共享可能是解决此问题的最有效方法之一。”他说。
由于GitHub拥有最大数量的开源代码,因此向社区开放咨询数据库使软件供应商能够更清楚地了解他们正在使用的每个软件版本或共享库的安全状况,并帮助漏洞猎手报告并修复程序错误。Balmas 补充道:“它还将有助于解决软件供应链攻击问题,因为它可以让供应商更清楚地了解他们使用的每个共享软件组件及其安全状况。”
ESET全球网络安全顾问Jake Moore对此表示赞同:”在过去的几年里,软件供应链遭受了巨大的打击,在受害者有机会做出回应之前,漏洞就在网络黑市中被突出显示和共享。”他补充道,在可信任的社区内共享新发现的威胁情报将有利于那些可能无法获得最佳保护的用户去访问最新的更新补丁信息。

软件供应链安全的重要性

一、什么是软件供应链

软件供应链是指从源代码到最终交付给用户的整个软件开发和分发过程。这个过程包括:

  1. 源代码管理:代码仓库、版本控制
  2. 依赖管理:第三方库、框架、工具的使用
  3. 构建过程:编译、打包、测试
  4. 分发渠道:应用商店、下载站点、CDN等
  5. 部署环境:服务器、容器、云平台

二、软件供应链攻击的威胁

近年来,软件供应链攻击事件频发,给企业和用户带来了巨大损失:

  1. SolarWinds事件:2020年,SolarWinds的软件更新被植入后门,影响了数千家企业和政府机构
  2. Codecov事件:2021年,Codecov的代码覆盖率工具被攻击,导致大量用户的源代码泄露
  3. Log4j漏洞:2021年底发现的Log4j严重漏洞,影响了全球数百万应用程序

这些事件表明,软件供应链安全已经成为网络安全的重要议题。

三、GitHub Advisory Database的价值

GitHub Advisory Database作为世界上最大的软件依赖漏洞数据库,其开放具有重大意义:

1. 提高透明度

通过公开漏洞信息,让所有开发者都能了解依赖库的安全状况,做出明智的选择。

2. 促进协作

安全研究人员、开发者和企业可以共同贡献漏洞信息,形成强大的安全社区。

3. 加快响应速度

公开的数据库使得漏洞信息能够快速传播,帮助受影响的开发者及时修复问题。

4. 降低安全成本

免费的安全数据降低了中小企业和个人开发者的安全成本,提高了整体软件安全性。

如何利用GitHub Advisory Database

四、查询依赖漏洞

开发者可以通过GitHub的界面或API查询特定依赖库的已知漏洞:

  • 访问GitHub Security Advisories页面
  • 使用GitHub的依赖图功能自动检测项目中的漏洞
  • 通过GitHub Actions集成自动化安全检查

五、贡献漏洞信息

任何人都可以向Advisory Database贡献漏洞信息:

  1. 在GitHub上创建安全咨询
  2. 提供详细的漏洞描述、影响范围和修复建议
  3. 经过GitHub安全团队的审核后,信息会被添加到数据库中

六、集成到开发流程

将安全扫描集成到CI/CD流程中:

1
2
3
4
5
6
7
8
9
10
name: Security Scan
on: [push, pull_request]
jobs:
security:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Run security scan
uses: github/super-linter@v4

软件供应链安全最佳实践

七、依赖管理

  • 定期更新依赖:及时更新依赖库到最新版本,修复已知漏洞
  • 最小化依赖:只使用必要的依赖,减少攻击面
  • 审查依赖:在使用新依赖前,检查其安全性和维护状态

八、代码审查

  • 自动化扫描:使用SAST、DAST工具进行代码安全扫描
  • 人工审查:对关键代码进行人工安全审查
  • 权限控制:严格控制代码仓库的访问权限

九、构建安全

  • 可信构建:使用可信的构建环境和工具
  • 签名验证:对构建产物进行数字签名
  • 隔离环境:使用容器或虚拟机隔离构建过程

十、持续监控

  • 漏洞监控:持续监控依赖库的安全公告
  • 异常检测:监控应用的异常行为,及时发现攻击
  • 日志分析:分析应用日志,识别潜在的安全问题

未来展望

随着软件供应链安全意识的提高,我们可以期待:

  1. 更完善的安全标准:行业将制定更完善的软件供应链安全标准
  2. 自动化工具:更多自动化工具帮助开发者识别和修复漏洞
  3. 社区协作:更强大的安全社区,共同应对安全威胁
  4. 法规要求:政府可能出台相关法规,要求企业加强软件供应链安全

GitHub开放Advisory Database是软件供应链安全领域的重要里程碑,它将推动整个行业朝着更安全的方向发展。作为开发者,我们应该充分利用这些资源,提高我们开发软件的安全性。

本文标题: 用开源的方式保护

发布时间: 2019年05月26日 00:00

最后更新: 2025年12月30日 08:54

原始链接: https://haoxiang.eu.org/910427e8/

版权声明: 本文著作权归作者所有,均采用CC BY-NC-SA 4.0许可协议,转载请注明出处!

× 喜欢就赞赏一下呗!
打赏二维码