聚焦源代码安全,网罗国内外最新资讯!

编译:奇安信代码卫士团队

你对自己所使用开源组件的情况了解多少?你能说出自己正在使用那些开源组件吗?正在使用的许可证是什么?它们是否合规?了解代码库中存在多少开源安全漏洞吗?知道如何修复这些漏洞吗?

你可能和多数组织机构一样,无法回答所有这些问题。在当代应用的代码库中,开源组件占80%甚至更多比例。不清楚开源组件的使用情况是重大工作遗漏,甚至是不必要的且可避免的风险。

那么,如何才能获得对开源组件使用的可见性和控制?答案就是开展开源安全审计。

开源审计简介

开源审计 (Open Source Audit) 是由通过认证的审计机构对开源组件开展的全面调查活动。它具有三大关键元素:开源软件资产梳理、许可证合规分析以及开源漏洞评估。结合在一起,就是对开源组件的使用进行风险分析并提供可行的见解。

开源审计的第一步是识别所有的开源库,包括直接或可传递依赖关系。

列出开源清单后,需要确保开源许可证互相兼容并符合公司策略。不同于在单一许可证下运行的库如 Microsoft Public License,很多开源库中的依赖关系具有不同的许可证。其中某些许可证的权限可能更多如 Apache 和 BSD,而有些可能是限制性更强的著佐权如 GPL。理解许可证之间如何关联以确保它们的兼容性至关重要。

开源审计还会深挖安全漏洞,全面扫描开源组件,找到任何潜在的安全威胁或过时组件,而修复方案或升级路径也应成为这个过程的一部分。

什么时候必须进行?

尽管总是对开源组件的使用具有可见性的理念很好,不过在这些情况下,必须开展开源组件审计:

  • 分发软件。当分发包含开源库的软件时,开源审计能确保你满足所有的许可证要求,以免因未披露多个版权声明而面临法律诉讼。

  • 季度报告。上市公司必须在季度报告中披露开源组件的使用情况。

  • 并购和 IPO阶段。潜在买家或投资人需要获得关于目标代码库中所有开源组件的记录以及许可证,以识别版权侵犯问题。开源审计缩短了并购尽职调查的工期,且多项研究表明尽职调查过程持续时间越长,交易未达成的概率越高或者价值被严重降低。

  • OEM 协议。和分发软件的情况类似,你必须在将软件出售给其它厂商以便他们用于自身产品时,如根据 OEM 协议,必须公开披露开源组件的使用情况。

开源代码尽职调查在整个软件尽职调查中起着至关重要的作用。积极开展开源组件审计可减少公司的暴露且交易通常会成功。

  • 列出每个项目的所有许可证,包含任何时候可获得的许可证文本和版权信息。

  • 兼容性风险报告。该报告中包含过时或多版本的库列表,还包括如何更新这些开源库的建议。

  • 审计报告演练。这一过程通常是动手练习,审计人员引导客户了解审计的重大发现结果。它突出强调客户面临的最大开源安全风险方面并给出修复建议。

审计结束后

开源审计完成后,通常需要修复安全漏洞并确保许可证和所有使用的开源组件合规。虽然审计流程较为繁琐,但好过不了解它。

坦白说,企业并非为了开源审计而审计,他们这样做或是法律的要求,或是开展尽职调查的一部分,目标是协助达成交易。通过开源审计理解开源风险是实现合规性和更高安全性的第一步,更不用说让你高枕无忧了。

那么,什么时候是开展开源审计的最佳时机?现在。毫无疑问,就是现在。

推荐阅读

奇安信开源组件安全治理解决方案——开源卫士

奇安信开源卫士率先通过可信开源治理工具评估

谷歌开源文件访问漏洞审计工具 PathAuditor(详解)

Facebook内容审核软件有bug 审核员或因此招来杀身之祸

正则表达式基础库源码审计与漏洞分析

原文链接

https://resources.whitesourcesoftware.com/blog-whitesource/when-s-the-right-time-for-an-open-source-audit

题图:Pixabay License

本文由奇安信代码卫士编译,不代表奇安信观点。转载请注明“转自奇安信代码卫士 www.codesafe.cn”。

奇安信代码卫士 (codesafe)

国内首个专注于软件开发安全的

产品线。

 点个 “在看” ,加油鸭~

开源审计的最佳时机是什么时候?相关推荐

  1. 谷歌开源漏洞扫描器“海啸”,专为大型企业服务

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 谷歌开源了一款漏洞扫描器,名为"海啸 (Tsunami)",专用于由数千个甚至是数百万个联网系统组成的大型企业网络 ...

  2. .NET Core 开源库被曝漏洞,可使恶意软件逃避检测,无补丁

     聚焦源代码安全,网罗国内外最新资讯! 编译:奇安信代码卫士团队 .NET Core 库中存在一个漏洞,可导致恶意程序躲避安全软件的检测. 该漏洞是由微软 .NET Core 库中的一个路径遍历bug ...

  3. 看全栈JS开发如何在60天 web3 安全审计中获得2.5万美元赏金

     聚焦源代码安全,网罗国内外最新资讯! 编译:代码卫士 一名 JS 开发讲述了自己如何在60天的代码审计中发现多个漏洞并获得2.5万美元赏金的过程. 旅程开始 2022年12月,我开始学习solidi ...

  4. 开源日志审计系统_一文掌握mysql数据库审计特点、实现方案及审计插件部署教程...

    概述 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断.它通过对用户访问数据库行为的记录.分 ...

  5. 开源如何走向商业化?

    [作者注]开源软件(OSS)运动已经创造了一些对我们来说至关重要,而且广泛使用的技术,包括操作系统.网页浏览器和数据库等等.可以说,如果没有开源软件,我们的世界将无法运转,或者至少无法像如今这样良好地 ...

  6. 开源:从社区到商业化

    点击上方"开源社"关注我们 | 作者:Peter Levine and Jennifer Li | 转载自:SegmentFault | 编辑:贺鑫 | 设计:王福政 开源软件(0 ...

  7. 2.3.8 mysql安全之审计

    6. MySQL安全之审计管理 审计:记录你的操作,方便以后查证据,但是生产环境数据库本身不建议开启,影响性能,但可以使用第三方审计 6.1 开源审计功能 mysql Audit Pluging my ...

  8. mysql 参照完整性规则_详解mysql数据库审计特点、实现方案及审计插件部署演示...

    概述 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断.它通过对用户访问数据库行为的记录.分 ...

  9. MySQL数据库审计系统

    数据库审计 数据库审计(简称DBAudit)能够实时记录网络上的数据库活动,对数据库操作进行细粒度审计的合规性管理,对数据库遭受到的风险行为进行告警,对攻击行为进行阻断.它通过对用户访问数据库行为的记 ...

最新文章

  1. NSAttributedString 详解
  2. Linux C编程--进程间通信(IPC)5--System V IPC 机制1--消息队列
  3. 操作系统【连续式分配方式、隐式链接、显示链接、索引方式、混合索引、位示图、成组链接】
  4. python手机号码正确编程_python 小练习之生成手机号码
  5. mysql 时间 设计模式_数据库时间设计模式
  6. leetcode题解151-翻转字符串里的单词
  7. 简单的web接口自动化测试
  8. SQLServer生成带数据的脚本
  9. docker~学习笔记索引
  10. 《Web漏洞防护》读书笔记——第6章,XXE防护
  11. PHP解析抖音无水印视频播放地址原理
  12. Linux 忘记密码解决方法
  13. 程序员小助手 | Emacs,最强编辑器,没有之一
  14. 明源云预计年亏超7亿元:被花旗下调评级,“人脸识别”遭质疑
  15. ArcGIS 教程:Workflow Manager 快速浏览
  16. 这是我看过最好的「机器学习」科普文章了
  17. Xv6学习之kinit1
  18. 来自Bitly的USA.gov数据
  19. 用四种不同的方法实现 tab栏切换
  20. centos系统安装字体

热门文章

  1. 使用模板部署的Linux虚拟机网卡不可用的处理方法
  2. POJ1011———Sticks
  3. BREW应用间通信之共享内存
  4. Notification Swift 3 0
  5. 线程创建 pthread_create 中自定义参数注意事项
  6. JS获取地址栏参数的方法
  7. 『Linux』ArchLinux与VirtualBox的结合「二」
  8. Javascript实现类似C#类的封装
  9. 遍历Page的Controls集合
  10. Android 通知栏消息