当人们做出软件选择时,安全性通常是他们优先考虑的首要事项。 如果不是,它应该是! 然而,他们通常想知道闭源代码软件和开源软件之间的区别。那么开源和闭源有什么区别呢? 开源软件真的安全吗?接下来大眼仔旭(www.dayanzai.me)一起带您了解下开源软件是否安全。
开源与闭源软件
开发者向所有人免费提供开源软件。 公众可以使用、复制、更改和重新分发它。 另外,顾名思义,任何人都可以看到源代码。闭源软件具有严格保护的代码,只有经过授权的人才能看到或更改。 成本包括人们使用它的权利,但仅限于最终用户的许可协议范围内。
开源可见性有安全利弊
任何人都可以查看源代码的能力为开源安全带来了重大优势。 发展成为来自世界各地的人们参与的社区努力。这意味着错误通常会比只有一小部分人检查代码时更快地被发现和修复。
然而,黑客也利用开源代码的可访问性。 他们可以使用它来计划攻击或记录漏洞。真正有兴趣改进开源软件的开发人员会解决他们发现的问题,或者至少将问题报告给具有解决问题技能的人。 任何怀有恶意的人都希望事情尽可能长时间不被注意。
这些现实促使网络安全专业人士警告说,开源软件会使组织面临风险。 一个问题是犯罪分子可以看到代码并将危险内容注入其中。 或者,这些团体可以针对没有严格实践以足够频率下载软件补丁的公司。
由于开源软件没有中央权威来管理它,因此任何人都很难知道最常使用的是哪个版本。 标题可能会更新得太频繁,以至于组织的 IT 团队没有意识到他们的旧版本存在严重的安全问题。
第三方软件库带来开源安全风险
开发人员经常使用第三方软件库来节省时间。它们是由原始提供者以外的实体开发的可重用组件。一个优点是它们允许使用预先测试过的代码。
流行的库在多种环境中针对广泛的用例进行了测试。使用的自然频率意味着经常报告错误。然而,这并不一定意味着第三方软件库具有更高的安全性,即使在讨论与开源软件相关的那些库时也是如此。
一项研究发现,在近 80% 的情况下,开源软件的第三方库在开发人员添加到代码库后不会更新。参与这项研究的研究人员警告说,缺乏更新可能会产生连锁反应。
一些最新且广泛使用的软件在开发过程中依赖于第三方软件库。一个缺陷可能会影响与有问题的库相关的所有产品。另一个令人担忧的发现是,超过四分之一的接受调查的开发人员不知道或不确定用于选择第三方库的任何正式流程。
然而,该研究的一个积极结论是,软件更新修复了第三方软件库中 92% 的缺陷。 此外,69% 的更新只需要对版本进行较小的更改或更不广泛的更改。
更有希望的是,开发人员可以在一小时内修复 17% 的这些缺陷。 这意味着解决这些开源库问题并不总是非常耗时或复杂。
Bug 解决速度如何影响开源安全
过时软件的主要问题之一是它使用户面临潜在安全漏洞的风险。在理想的世界中,开发人员会在软件公开之前注意到并修复所有错误。然而,这是一个不切实际的目标。
下一个最佳选择是在漏洞显现后立即发布软件补丁。安全研究人员经常提醒闭源软件提供商需要快速修复的问题。但是,开发这些产品的人员遵循上级选择的发布时间表。
决策者也不总是优先考虑所有漏洞。有些人在最初识别后数月或数年仍未得到解决。一个相关的问题是,许多开发人员都在努力应对过多或不平衡的工作负载,这可能会严重限制他们快速修复错误的能力,即使是出于最好的意图。
另一项调查发现,38% 的开发人员将其可用时间的四分之一用于修复软件错误。大约 26% 的受访者表示,这项任务需要他们一半的工作日。另一个令人大开眼界的发现是,32% 的开发人员每周花费多达 10 个小时来修复错误而不是编写代码。
开发人员采取了许多预防措施来避免发布有问题的代码。例如,Blue Sentry 的报道讨论了沙箱数据库如何提供生产环境的镜像版本以及任何当前部署周期的变化。
Web 开发专业人员可以学习和测试事物,而不会产生影响整个团队的任何重大不利后果。但是 bug 还是会发生。
由于开源软件有整个开发社区都在努力改进它,因此具有适当技能和时间表可用性的人很有可能可以针对错误并修复它。这可能意味着已知漏洞不会像使用闭源软件一样长时间得不到解决。
谷歌推出一个工具来提高开源安全性
当一个操作系统依赖另一个操作系统工作时,就存在软件依赖性。当谈到开源软件时,快速的变化常常使开发人员难以理解他们的任何依赖项是否涉及过时的版本。
然而,谷歌最近发布了一个名为 Open Source Insights 的基于网络的可视化工具来解决这个问题。它为用户提供了与软件包关联的组件的概览。
由于这些信息包括有关依赖项及其属性的详细信息,因此开发专业人员可以更清楚地了解过时的开源软件是否会在以后导致问题。
除了查看依赖关系图外,人们还可以使用比较工具来显示不同的包版本如何影响依赖关系。有时,较新的解决了安全问题。通过提供这个工具,谷歌旨在让开发人员更容易地了解他们如何使用开源软件。
拥有这些新知识可以提高安全性和整体可用性。
开源软件:不是全面的安全解决方案
此概述说明了为什么与闭源软件相比,开源软件并不总是最安全的选择。 尽管如此,开源软件也有很多好处。
出于个人原因或在其组织内打算使用它的人应权衡利弊以做出决定。
原创文章,作者:kepupublish,如若转载,请注明出处:https://blog.ytso.com/214229.html