澳门新葡萄京官网首页,Synopsys 公司近日发布了“2018
年开源代码安全和风险分析”
Black
Duck(黑鸭)报告,深入考察了商业软件中开源安全性,许可证合规以及代码质量风险的状况。本次报告讨论的是从
2017 年审计的超过 1,100
个商业代码库中的匿名数据所得出的结果,行业包括汽车、大数据(主要是人工智能和商业智能)、网络安全、企业软件、金融服务、医疗保健、物联网(IoT)、制造业和移动应用市场。

很多软件都是建立在可重用的开源组件的基础之上
。但是使用开源的人员经常忽视相关的安全和许可风险。软件开发人员通常会从开源存储库中获取代码,以嵌入其公司的产品中,加快开发过程。虽然代码重用的效率提高和成本节省很明显,但企业很少定期检查开源代码以查找潜在的安全性和法律问题。很少有公司管理他们的开发人员使用开源。因此,他们仍未了解其开源风险和义务。

作者:新思科技高级内容策略师Fred Bals

澳门新葡萄京官网首页 1

美国新思科技公司 (Synopsys, Nasdaq:
SNPS)近日发布了《2019年开源安全和风险分析》报告。该报告由新思科技网络安全研究中心制作,审查了由黑鸭审计服务团队执行的超过1,200个商业应用程序和库的审计结果。报告重点介绍了开源应用的趋势和模式,以及不安全的开源组件和许可证冲突的普遍性。

开源组件构成了现代应用程序的基础。但无效的开源风险管理可能会导致安全漏洞,从而对业务产生负面影响并损害品牌形象。

开源软件与定制代码相比,既不是更不安全,也不是更安全。但是,开源软件的某些特性使得流行组件中的漏洞对攻击者非常有吸引力。Black
Duck(黑鸭)审计结果显示,现在,开源代码在商业应用和内部应用中无处不在,这在漏洞被披露时为攻击者提供了目标非常丰富的环境。漏洞以及对漏洞的利用通常是通过全国漏洞数据库(NVD,National
Vulnerability Database)、邮件列表和项目主页等来源进行披露的。

澳门新葡萄京官网首页 2

新思科技的黑鸭审计服务团队每年为其客户进行数千个代码库的开源审计。这些审计需求主​​要来自合并和收购交易,并最终成为我们年度《开源安全和风险分析》报告的匿名数据的关键来源。

商业软件把更新自动推送给用户,而开源软件与之不同,后者采用一种拉动支持(pull
support)模式,即:用户自行负责跟踪他们所使用的开源软件的漏洞、修复和更新。开源代码可以通过多种方式进入代码库,不仅可以通过第三方供应商和外部开发团队进入,也可以通过内部开发人员进入。如果一个组织机构不了解其所使用的所有开源代码,它就不可能抵御针对这些组件中已知漏洞的常见攻击,并且它自己也会暴露在许可证合规风险之中。

报告显示,现在企业面临着开源应用风险管理的挑战,这些难题在过去几年就已经有苗头了。然而,数据还表明现在已经达到了一个拐点,由于风险意识和商业软件组件分析解决方案成熟度的提高,许多企业提升了其管理开源风险的能力。

澳门新葡萄京官网首页 3

澳门新葡萄京官网首页 4

澳门新葡萄京官网首页 5

近期发布的2019年OSSRA报告审查了1,200多个商业代码库的数据结果,这些代码库用于希望评估其开源许可证合规性和安全风险的企业和组织。

2017 年,Black Duck On-Demand(黑鸭按需)审计在每个代码库中发现了 257
个开源组件。到 2018 年,每个代码库中开源组件的数量增长了约
75%。审计发现,96%
的被扫描应用中存在开源组件,这一比例与去年的报告相似。而在被扫描的应用的代码库中,开源代码的平均比例从去年的
36% 增长到
57%,这表明开源代码的使用量在持续大幅度增长,同时也表明,目前大量的应用所包含的开源代码要多于专有代码。

新思科技网络安全研究中心首席安全策略师Tim Mackey
表示:“开源在现代软件开发和部署中发挥着越来越重要的作用,但要实现其价值,企业需要从安全性和许可证合规的角度来理解和管理它如何影响其风险态势。2019年OSSRA报告提供了商业应用程序中开源风险管理的状况概览。报告表明现在仍然存在重大挑战,绝大多数的应用程序包含开源安全漏洞和许可证冲突,但同时也强调这些挑战是可以解决的,因为开源漏洞和许可证冲突的数量与去年相比有所下降。”

审计发现,2018年扫描的代码库中有超过96%的代码库是开源的,超过99%的代码库包含超过1,000个由开源组件构成的文件。开源代码与代码库中代码总数的比例在2018年为60%,高于2017年的57%。这些数字反映了经审计的代码库通常来自业务是构建软件的公司。这些公司的价值通常体现在其拥有的专有代码,它们代码库中开源代码与专有代码的比例往往较低。

某些开源组件对开发人员来说非常重要,以至于这些组件在极大部分的应用中都能找到。今年,用于开发
HTML、CSS 和 JavaScript 的开源工具包
Bootstrap 出现在 40%
的全部被扫描应用中;紧随其后的是
jQuery,有36%的应用包括该开源组件。在各行业常见的组件中,值得注意的是
Lodash,这是一个为编程任务提供实用函数的 JavaScript
库。Lodash
是诸如医疗保健、物联网、互联网、市场营销、电子商务和电信等
行业所采用的应用中最经常使用的开源组件。

2019年OSSRA报告中最值得注意的开源风险趋势包括:

澳门新葡萄京官网首页 6

澳门新葡萄京官网首页 7


开源采用率大幅提升。2018年审计的代码库中96%包含开源组件,每个代码库中平均有298个开源组件,2017年则为257个。

相比之下,Forrester和Gartner等分析师指出,超过90%的IT企业在任务关键型的工作中使用开源软件,而且开源占据了90%的新代码库。根据2019年红帽“企业开源状态”报告,超过69%的受访企业认为他们使用开源至少“非常重要”(40%非常重要,29%极其重要)。

审计还发现,每个代码库中开源漏洞的数量增长了 134%,而 78%
的被检查代码库中包含至少一个漏洞,每个代码库平均包含 64
个漏洞。这一高增长率部分归因于2017年报告的创记录的漏洞数量。仅美国国家漏洞数据库(NVD,National
Vulnerability Database)就列出了超过 14,700 个漏洞,而 2016 年仅列出
6,400 个漏洞。其他报告给出的漏洞总数超过 2 万个,其中近8000 是
NVD 报告未列出的。这些数字说明了 2017
年所报告的所有已知漏洞的情况,但其中超过 4,800
个是开源漏洞,这延续了已知开源漏洞为期五年的增长趋势。过去 17
年来,已经有超过 40,000 个开源漏洞被报道。


开源许可证冲突可能会使知识产权面临风险。68%的代码库包含某种形式的开源许可证冲突,38%的代码库包含没有可识别许可证的开源组件。

无论您参考哪组数据,很明显开源组件和库是每个行业中几乎所有应用程序的支柱。大多数企业拥有数千种不同的软件,从移动应用程序到基于云的系统,再到本地运行的遗留系统。该软件通常是商业现成软件包、开源软件和定制代码库的混合体。漏洞影响所有软件。

扫描揭示的另一个重要数据点是,所发现的漏洞的平均年龄正在增加。平均而言,审计中发现的漏洞大约在六年前已经被披露了,而在
2017
年报告则显示是四年前被披露。这表明,负责修复工作的人员需要花费更长时间才能完成修复(如果他们确实正在着手修复的话),这就使得越来越多的漏洞在代码库中积累起来。


“废弃”组件的使用很常见。85%的代码库包含过去四年以上老式的组件或者过去两年没有开发的组件。如果一个组件处于非活跃状态或者无人维护,也就意味着没有人正在处理其潜在的漏洞。

然而,很少有公司能够充分追踪他们在代码中使用的开源组件,并且没有采用开发人员使用开源所做出的选择所需的策略、流程和工具。因此,开源带来的所有好处也可能带来各种风险。

澳门新葡萄京官网首页 8


许多组织未能修补或更新其开源组件。2018年黑鸭审计中确定的漏洞的平均年龄是6.6年,略高于2017年
。这表明补救措施没有显著改善。2018年扫描的代码库中有43%包含超过十年以上的漏洞。国家漏洞数据库(National
Vulnerability
Database)显示2018年增加了16,500个新漏洞,其明确的修补流程需要扩展以适应增加的披露的漏洞。

风险问题来自未修补的软件,不是使用开源

此外,这些开源组件还广泛存在许可证问题,企业不太可能使用传统的电子表格方法来跟踪这么大量的许可证义务,而如果没有一套自动化流程的话,这可能就是件不可能的工作。这也导致
74% 的被审计代码库中包含存在许可证冲突的组件,其中最常见的是违反 GPL
许可证协议,存在于 44% 的代码库中。该报告进行审计的代码库中,85%
或存在许可证冲突,或包含不具备许可证的组件。


并非所有的漏洞都相同,但许多企业甚至没有解决那些风险最高的漏洞。超过40%的代码库包含至少一个高风险开源漏洞。

正如红帽报告指出的那样,安全被认为是阻碍一些企业允许开源使用的主要障碍。有趣的是,同一份报告将安全性视为IT决策者在使用开源时所看到的最大好处之一。这种看似矛盾反映了两种现状:人们担心非托管开源代码可能会在开源和专有解决方案中引入漏洞;人们意识到正确管理开源

澳门新葡萄京官网首页 9

报告显示开源软件的使用本身并不是问题,实际上这对软件创新至关重要。但是未能积极主动地鉴别和管理任何与开源组件使用有关的安全和许可证风险,可能极具破坏性。虽然风险因素仍然存在,2019年OSSRA报告数据表明,在Equifax数据泄露之后,开源风险意识的提高和商业软件组件分析解决方案的成熟度已经取得了进展:

  • 包括使用可信来源和自动化工具来发现和修复安全问题 –
    可以大大减少开源风险的潜力。

其中,互联网和软件基础设施垂直行业的应用包含高风险开源漏洞的比例最高,为
67%;其次是互联网和移动应用行业,比例为
60%。具有讽刺意味的是,网络安全行业的仍然被发现存在很高比例的高风险开源漏洞,虽然低于去年的59%,但依然高达41%,这使得该垂直行业处于第四高的位置。


企业在管理开源安全漏洞方面正渐入佳境。2018年审计的代码库中有60%包含至少一个漏洞,相比2017年的78%已经改善不少。

所有软件,无论是专有软件还是开源软件,都存在可能存在漏洞。企业需要识别和修补这些漏洞。开源社区在发布补丁方面做出了示范性的工作,通常比专有软件快得多。

在金融服务和金融科技市场中,34%
的被扫描应用包含高风险漏洞,而医疗保健、健康技术和生命科学垂直行业中的应用紧随其后,有
31%
的应用包含高风险漏洞。制造业、工业和机器人技术在这方面的比例最低,为
9%,这可能是由于
OEM(制造商)对整个软件供应链上的供应商施加压力,要求后者提供经过审查的、干净的代码。相反,制造业垂直行业在所有垂直行业中占据了第三大许可证冲突的位置,比例高达 
91%。


总体而言,开源许可证合规性也得到了改善。2018年审计的代码库中有68%包含有许可证冲突的组件,2017年则为74%。

但无论是专有软件还是开源软件,相当大数量的企业都没有及时应用补丁,而暴露在风险之中。不修补的原因是多种多样的:有些企业被无休止的可用补丁所淹没,无法确定需要修补的优先级;有的缺乏应用补丁的资源;有的需要平衡风险与财务成本之间的关系。

事实上,根据黑鸭按需审计集团(Black Duck
On-Demand)提供的审计数据,所有垂直行业的企业都应该关注开源许可证问题,也应该关注由于未能遵守开源许可证协议而导致的代码知识产权诉讼或侵权(compromise)所带来的潜在风险。存在许可证冲突的应用在各个行业分布情况互不相同:在零售和电子商务行业中低至
61%,而在电信和无线行业则很高 – 他们 100%
的被扫描代码都存在某种形式的开源许可冲突。

未修补的软件漏洞是企业面临的最大的网络威胁之一,软件中未修补的开源组件增加了安全风险。
2019年OSSRA报告指出,2018年审计的代码库中有60%至少存在某种开源漏洞。
新思科技在2018年为其黑鸭
KnowledgeBase™知识库增加了7,393个开源漏洞。过去二十年,该知识库已经报告了超过50,000个开源漏洞。

澳门新葡萄京官网首页 10

澳门新葡萄京官网首页 11

负责分析此报告的由 Synopsys
开源研究与创新中心(COSRI)表示,再争辩是否应该使用开源代码已经没有什么意义了。可以证明的是,目前,大多数应用程序代码都是开源的。在经过审计的包含开源代码的代码库中,这些代码库中平均
57%
的代码都是开源组件,这就证明,目前许多应用中所包含的开源代码要多于自有代码。随着开放源代码使用量的增长,风险也如影随形,主要原因在于企业缺乏适当的工具来识别他们内部的以及面向公众的应用程序中使用了多少或者什么样的开源组件。通过将策略、流程和自动化的解决方案集成到软件开发生命周期中,以便识别、管理和保护开源代码,企业才能够最大限度地发挥开源的优势,同时有效管理漏洞和许可风险。

有什么风险?

(文/开源中国)    

开源的某些特性使流行组件中的漏洞很容易受到攻击。商业软件的发布者可以自动向用户推送修复,补丁和更新。但与商业软件不同,您需要负责追踪使用的开源的漏洞和修复程序。

无处不在的开源为攻击者提供了一个有利的环境,因为漏洞是通过国家漏洞数据库、邮件列表、GitHub问题和项目主页等来源披露的。如前所述,许多企业没有保留其应用程序中使用的开源组件的准确、全面和最新的清单。例如,美国参议院常设调查小组委员会的一份工作人员报告指出,Equifax缺乏完整的软件库存是导致其2017年大规模数据泄露的一个因素。

澳门新葡萄京官网首页 12

正确管理开源软件不仅仅是关乎安全性

现在有数千个开源许可证,如果不遵守这些许可证,可能会使企业面临诉讼风险和损害知识产权风险。无论是使用开源计划认可的流行许可证还是其它许可证,企业只有在确定由这些许可证管理的开源组件后才能管理和遵守许可证要求。
2019年OSSRA报告中详述的经过审计的代码库中有32%包含可能导致冲突或需要进行法律审查的自定义许可证。
68%的代码库包含许可证冲突的组件。

除了安全和许可风险之外,操作风险是开源使用不太严重但仍然不可忽视的后果。今天使用的许多开源组件都被放弃了。换句话说,他们没有开发人员社区贡献、修补或改进它们。如果组件处于非活动状态且没有人维护它,则意味着没有人正在解决其潜在的漏洞。
2019年OSSRA报告指出,85%的被审计代码库包含超过四年没有更新或在过去两年没有开发活动的组件。

使用开源并不是在冒险,但是开源的非托管使用却有风险

开源为使用它的组织提供了许多好处 –
但只有在正确管理开源以识别任何安全和法律合规性问题时。为了防范开源安全和合规风险,企业应该:

创建和执行开源风险政策和流程。只有少数开源漏洞 – 例如影响Apache
Struts或OpenSSL的漏洞 –
可能会被广泛利用。考虑到这一点,企业应将其开源漏洞管理和缓解工作的重点放在CVSS评分和漏洞利用的可用性上,不仅仅是漏洞披露的“零天攻击”,而是贯穿开源组件生命周期。

必须让开发人员了解管理使用开源的必要性。企业实施自动化流程、追踪代码库中的开源组件及其已知的安全漏洞、以及版本控制和重复等操作风险,并根据问题的严重性确定问题的优先级。

执行其开源软件的完整清单。在代码库中使用完整、准确、及时的开源清单至关重要。清单应涵盖两个方面:源代码;如何在生产中部署或用作应用程序中的库的任何商业软件或二进制文件中使用开源的信息。

了解开源的已知漏洞。国家漏洞数据库(National Vulnerability
Database)等公共资源是公开披露开源组件漏洞信息的可靠平台。但是,不要仅仅依靠NVD来获取漏洞信息。还需要查看其它资料。这些资料提供影响代码库的漏洞的早期通知,理想情况下,还会提供安全性洞察、技术详细信息以及升级和修补程序指南。

监控新的安全威胁。当应用程序完成开发时,追踪漏洞的工作还未结束。只要应用程序仍在使用中,企业就需要持续监控新威胁。

识别许可风险。不遵守开源许可证可能会导致企业面临诉讼和危害知识产权的重大风险。教育开发人员了解开源许可证及其义务。让法律顾问也参与教育过程,当然他们还有审查许可证和遵守法律义务。

确保审查开源是并购尽职调查一部分。如果您正在进行收购,请了解目标公司正在使用的开源,它可能没有适当地管理好这些开源。不要犹豫,询问有关其开源使用和管理的问题。如果软件资产是公司估值的重要组成部分,请让第三方来审核开源代码。

最重要的是,如果企业不知道自己正在使用什么软件,那就无法提供修补方案。如果您无法充满信心地说在内部和外部应用程序中使用的开源组件是最更新的,应用了所有关键补丁,那么就该重新评估现有的开源管理策略和流程了。