在如今软件定义的时代,应用安全至关重要。业界流传这样一句话,“软件吞噬世界,开源吞噬软件”。开源软件在促进全球的软件创新方面发挥着越来越重要的作用。
不过开源安全问题仍然充满挑战,比如供应链攻击、黑客利用Docker镜像的攻击等。2021年底,被广泛采用的Apache Log4j程序中新发现的零日漏洞。这个被称为Log4Shell(CVE-2021-44228)的Log4j漏洞允许攻击者在受影响的服务器上执行任意代码。
近日,新思科技发布了《2022年开源安全和风险分析》报告(OSSRA)。该报告由新思科技网络安全研究中心(CyRC)编制,分析了由Black Duck审计服务团队执行的对2400多项商业和专有代码库的并购交易审计结果。
报告显示,开源组件在每个行业都被广泛使用,并且是当今所有应用程序的构建基础。在Black Duck审计服务团队今年分析的2409个代码库中,87%(即2097)实施了安全与风险评估。但是,开源的安全问题也不容忽视。
新思科技开源治理专家王永雷表示,开源代码已经成为企业数字化转型的重要组成部分,整体看企业开源安全漏洞的比例在下降,越来越多的企业重视开源供应链,借助物料清单(BOM)识别安全漏洞风险。
开源风险的现状
使用过时的开源组件仍然是常态。易受攻击的Log4j版本也含有过时开源组件。从运营风险/维护方面来看,在2097个代码库中,85%的代码库中包含至少四年未更新的开源代码;88%的代码库中包含过时版本的组件;5%的代码库含有易受攻击的Log4j版本。
王永雷说,过期的开源组件造成的风险非常高,所以企业需要识别软件中是不是存在过期的开源软件。
在许可证合规方面,报告显示, 超过一半(53%)的被审代码库存在许可证冲突,与2020年的65%相比大幅下降。总体而言,特定许可证冲突在2020年至2021年期间减少了。
30%的被审代码库中都包含无许可证或使用定制许可证的开源代码。如果未经创作者/作者以授权许可证的形式明确允许,其他人则不能合法地使用、复制、分发或修改该软件。没有许可证的软件可能意味着使用开源组件带来的法律风险。定制化的开源代码许可证可能会对被许可方提出非预期的要求,因此经常需要对可能的知识产权IP问题或其它影响进行法律评估。
王永雷表示,安全风险对企业的开源软件治理水平提出了更高的要求,通常开源软件治理水平分为四个阶段:开源软件的单纯使用,如果存在漏洞风险,需要自发式治理;引入工具和流程规范进行综合管理;建立可信的开源自动化的合规安全治理平台;评估标准的度量。
开源软件供应链
如今开源组件被大规模应用于软件的开发流程中,所以开源软件供应链的安全治理成为企业的一大诉求。
王永雷说,Log4j漏洞就暴露出了开源软件供应链的问题,因为Log4j是基础软件,只要是Java软件,十之八九会用到,这样安全风险就会出现。
此外,在整个软件的开发过程中,源代码经过构建提供给消费者,在这一过程中,任何一个点都有可能受到潜在攻击的风险,比如源码仓库被攻击、代码被劫持修改、依赖组件被污染等。
王永雷以依赖组件被污染为例解释说,在软件构建中,外部依赖包被大量引入,这些包是逐级依赖的,结果就是开发人员都不知道用到了哪些依赖包,如果依赖包被污染,那安全风险会很高。
虽然企业拥有标准风险管理服务,但是有时这些服务并不涵盖软件风险。所以企业需要做好软件供应链决策与风险控制。这包括两个方面的内容:由供应商风险管理解决方案光临的软件风险和非托管的软件风险。
王永雷表示,国际国内都非常关注开源供应链,比如ISO 5230标准和SPDX数据交换格式等。国内,中国信通院编写了《开源安全深度观察报告》,以及《开源合规指南(企业篇)》白皮书,提高整个中国开源产业的安全和合规的水平。
上述活动中,新思科技都有参与。同时,新思科技也为企业提供了端到端的企业级开源安全体系,包括软件的需求、编码、构建、测试、发布等专业检测工具,帮助企业更好地管理开源的风险。
今年,凭借全面的多语言支持能力,新思科技的Black Duck再次通过信通院的可信开源治理工具评估,可以适应客户的不同场景的扫描能力,还有企业级客户尤其关注的高并发,分布式弹性部署,甚至容器的可扩展性,全面的开放API助力企业构建开源治理平台体系。
“开源安全需要国家政策、产业协同等多方面的多方面推动,企业需要在开源生态中找准自己的位置,尤其是中国企业在开源合规规范方面从原来的被动式变成主动式,通过自上而下推动建立OSPO(Open Source Program Office),打破组织壁垒,拉通专家组织资源,实现良性互动。”王永雷最后说。
好文章,需要你的鼓励
临近年底,苹果公布了2024年App Store热门应用和游戏榜单,Temu再次成为美国下载量最多的免费应用。
云基础设施市场现在已经非常庞大,很难再有大的变化。但是,因为人们可以轻松地关闭服务器、存储和网络——就像开启它们那样,预测全球云基础设施开支可能非常困难。