mirror of
https://github.com/LCTT/TranslateProject.git
synced 2024-12-26 21:30:55 +08:00
Merge pull request #28392 from wxy/20210718-Is-Open-Source-Software-Secure
RP:published/20210718 Is Open-Source Software Secure.md
This commit is contained in:
commit
af87452231
@ -3,18 +3,20 @@
|
|||||||
[#]: author: (Ankush Das https://news.itsfoss.com/author/ankush/)
|
[#]: author: (Ankush Das https://news.itsfoss.com/author/ankush/)
|
||||||
[#]: collector: (lujun9972)
|
[#]: collector: (lujun9972)
|
||||||
[#]: translator: (CanYellow)
|
[#]: translator: (CanYellow)
|
||||||
[#]: reviewer: ( )
|
[#]: reviewer: (wxy)
|
||||||
[#]: publisher: ( )
|
[#]: publisher: (wxy)
|
||||||
[#]: url: ( )
|
[#]: url: (https://linux.cn/article-15423-1.html)
|
||||||
|
|
||||||
开源软件安全吗?
|
开源软件安全吗?
|
||||||
======
|
======
|
||||||
|
|
||||||
作为一个偏爱 [Linux桌面发行版][1] 并鼓励使用开源软件的人,你可能期待就标题中提出的问题得到一个响亮的**肯定**回答。
|
![][0]
|
||||||
|
|
||||||
然而,我并不打算仅限于讨论开源软件的优点。让我们一起探索更多的内容吧!
|
作为一个偏爱 [在桌面电脑上使用 Linux][1],并鼓励使用开源软件的人,你可能期待就标题中提出的问题得到一个响亮的**肯定**回答。
|
||||||
|
|
||||||
本文,我计划分享我关于开源软件是否安全的思考以及哪些事情与开源软件的安全性相关。
|
然而,我并不打算仅限于讨论开源软件的优点。让我们一起探索更多观点!
|
||||||
|
|
||||||
|
在本文,我计划分享我关于开源软件是否安全的思考,以及哪些事情与开源软件的安全性相关。
|
||||||
|
|
||||||
### 为什么你需要关注开源软件是否安全?
|
### 为什么你需要关注开源软件是否安全?
|
||||||
|
|
||||||
@ -22,123 +24,119 @@
|
|||||||
|
|
||||||
举个例子,大多数专有软件工具依赖于某种形式的开源库来保证其正常工作。
|
举个例子,大多数专有软件工具依赖于某种形式的开源库来保证其正常工作。
|
||||||
|
|
||||||
此外,各种规模的公司(包括 Google、Microsoft 和 Facebook )依赖开源软件或者以某种途径向开源社区贡献资源是有原因的。
|
此外,各种规模的公司(包括谷歌、微软和 Facebook)依赖开源软件或者以某种途径向开源社区贡献资源是有原因的。
|
||||||
|
|
||||||
因此,开源软件的安全性是有必要了解的。
|
因此,开源软件的安全性是有必要了解的。
|
||||||
|
|
||||||
### 有关开源软件安全性的谣言
|
### 有关开源软件安全性的迷思
|
||||||
|
|
||||||
![][3]
|
![][3]
|
||||||
|
|
||||||
虽然有多种理由证明开源软件在安全性方面的缺陷,然而其中一些实际毫无意义。
|
虽然有多种理由证明开源软件在安全性方面的缺陷,然而其中一些实际毫无意义。
|
||||||
|
|
||||||
#### 任何人都可以查看 & 恶意利用开源软件代码
|
#### 任何人都可以查看并恶意利用开源软件代码
|
||||||
|
|
||||||
是的,开源软件代码对于任何人都是可访问的。但是你可以查看代码并不意味着你可以利用它。
|
是的,开源软件代码对于任何人都是可访问的。但是你可以查看代码并不意味着你可以利用它。
|
||||||
|
|
||||||
**不现实**
|
**不现实。**
|
||||||
|
|
||||||
即使任何人都可以克隆(或者拷贝)该软件,原始软件也不能轻易地被修改使用。
|
即使任何人都可以复刻(或者拷贝)该软件,原始软件也不能轻易地被修改使用。
|
||||||
|
|
||||||
通常,项目维护人员(或者维护团队)管理代码仓库并且接受来自贡献者的提交。开源软件代码在接受之前被审查。没有人可以像那样劫持代码。
|
通常,项目维护人员(或者维护团队)管理代码仓库,并且接受来自贡献者的提交。开源软件代码在接受之前会被审查。没有人可以就这样劫持代码。
|
||||||
|
|
||||||
**不论是开源软件还是闭源软件,攻击者都需要付出努力来利用软件中的代码漏洞或者添加恶意代码**
|
**不论是开源软件还是闭源软件,攻击者都需要付出努力来利用软件中的代码漏洞或者添加恶意代码。**
|
||||||
|
|
||||||
#### 失去专用资源,安全性无从谈起
|
#### 没有专职团队,安全性无从谈起
|
||||||
|
|
||||||
很多人相信如果开源软件没有专职人员或者专职团队,维护软件安全性是困难的。
|
很多人相信如果开源软件没有专职人员或者专职团队,维护软件安全性是困难的。
|
||||||
|
|
||||||
恰恰相反,由于各种个样类型的贡献者的加入与离开,开源软件获得了来自更大范围的开发者的更多关注。
|
恰恰相反,由于各种各样类型的贡献者的加入与离开,开源软件获得了来自更大范围的开发者的更多关注。
|
||||||
|
|
||||||
他们可能比由专用软件所聘用的少数开发者更能够发现安全问题。
|
他们可能比由专有软件所聘用的少数开发者更能够发现安全问题。
|
||||||
|
|
||||||
一些来自 Mozilla 等同类公司的项目拥有自己的专职团队来高效处理安全问题。同样的,大部分成功的开源项目拥有大量的资源用于保障安全性。
|
一些来自 Mozilla 等同类公司的项目拥有自己的专职团队来高效处理安全问题。同样的,大部分成功的开源项目拥有大量的资源用于保障安全性。
|
||||||
|
|
||||||
因此,开源软件的生态系统是安全性的组合包。即使没有专职资源,开源项目也可以得到来自各类贡献者的帮助,他们中的一些很大程度上是有利可图的,这有助于他们投入更多的精力。
|
因此,开源软件的生态系统是安全性的组合包。即使没有专职团队,开源项目也可以得到来自各类贡献者的帮助,他们中的一些很大程度上是有利可图的,这有助于他们投入更多的精力。
|
||||||
|
|
||||||
### 开源软件是安全的,以下是原因
|
### 开源软件是安全的,以下是原因
|
||||||
|
|
||||||
![][3]
|
![][5]
|
||||||
|
|
||||||
既然我们已经解决了有关开源软件安全性的谣言,让我重点展示一下开源软件是如何处理安全问题的。
|
既然我们已经澄清了这些有关开源软件安全性的迷思,让我重点展示一下开源软件是如何处理安全问题的。
|
||||||
|
|
||||||
换句话说,开源软件在安全性上的优势。
|
换句话说,开源软件在安全性上的优势。
|
||||||
|
|
||||||
请不要忘记,开源软件的优势也是 [ Linux 比 Windows 更好][4]的一些原因。
|
请不要忘记,开源软件的优势也是 [Linux 比 Windows 更好][4] 的一些原因。
|
||||||
|
|
||||||
#### 更多的眼晴关注开源软件代码
|
#### 更多的眼晴关注开源软件代码
|
||||||
|
|
||||||
不像专有软件,代码访问仅不限于少数开发者。
|
不像专有软件,(对开源软件的)代码访问并不局限于少数几个开发者。
|
||||||
|
|
||||||
一些开源项目甚至可能拥有数以万记的开发者查看代码、审查它们并标记和修复其中的安全性问题。
|
一些开源项目甚至可能拥有数以万记的开发者可以查看代码、审查它们并标记和修复其中的安全性问题。
|
||||||
|
|
||||||
这给予了开源项目拥有**快速识别问题并尽快修复它们的能力**的相比闭源软件的优势。
|
相比闭源软件,这给予了开源项目拥有**快速识别问题并尽快修复它们的能力**的优势。
|
||||||
|
|
||||||
不仅仅限于拥有更多的开发者,企业通常也会参与他们所使用的开源项目。当他们这样做的时候,他们也会查阅代码并审查它们。
|
不仅仅限于拥有更多的开发者,企业通常也会参与他们所使用的开源项目。当他们这样做的时候,他们也会查阅代码并审查它们。
|
||||||
|
|
||||||
这提供了外部审查的另一条途径,而这可能有助于提升开源软件的安全性。
|
这提供了另一条外部审查的途径,而这可能有助于提升开源软件的安全性。
|
||||||
|
|
||||||
反之,就闭源软件而言,有限人数的开发者可能并不能找出所有种类的安全问题。而且他们可能需要花费更长的时间来一一修复发现的问题。
|
反之,就闭源软件而言,数量有限的开发者可能并不能找出所有种类的安全问题。而且他们可能需要花费更长的时间来一一修复发现的问题。
|
||||||
|
|
||||||
#### 社区决定安全问题的优先级
|
#### 社区决定安全问题的优先级
|
||||||
|
|
||||||
闭源软件的开发者可能在处理什么问题和什么时候解决问题等方面有某些限制或者优先等级。
|
闭源软件的开发者可能在处理什么问题和什么时候解决问题等方面有某些限制或者优先等级。
|
||||||
|
|
||||||
而如果是开源项目,贡献者社区可以自行决定优先级并自行安排他们想解决的问题以及决定合适修复问题。你不需要依赖于供应商的决定或者按照他们的指示来解决一个安全问题。
|
而如果是开源项目,贡献者社区可以自行决定优先级,并自行安排他们想解决的问题以及决定合适修复问题。你不需要依赖于供应商的决定或者按照他们的指示来解决一个安全问题。
|
||||||
|
|
||||||
着手处理和修复安全问题的决定在开源软件项目中更加透明和灵活。因此,它可以被证明是更有效的,并为你带来以下三个益处:
|
着手处理和修复安全问题的决策在开源软件项目中更加透明和灵活。因此,它可以被证明是更有效的,并为你带来以下三个益处:
|
||||||
|
|
||||||
* **透明度**
|
* 透明度
|
||||||
* **不依赖供应商**
|
* 不依赖供应商
|
||||||
* **更快的安全更新**
|
* 更快的安全更新
|
||||||
|
|
||||||
### 开源软件不是刀枪不入的,以下是原因
|
### 开源软件不是防弹的,以下是原因
|
||||||
|
|
||||||
![][3]
|
![][6]
|
||||||
|
|
||||||
虽然有开源软件可能在安全性上具有优势的案例,然而仍有一些因素影响它。
|
虽然在某些情况下,开源软件可能在安全性上具有优势,然而仍有一些因素影响它。
|
||||||
|
|
||||||
承认这些问题的存在是很重要的,据此,企业或者个人可以就一款开源软件的安全情况做出更好的决定。
|
承认这些问题的存在是很重要的,据此,企业或者个人可以就开源软件的安全情况做出更好的决定。
|
||||||
|
|
||||||
#### 并无足够的眼睛来审查代码和不确定性
|
#### 并无足够的眼睛来审查代码和不确定性
|
||||||
|
|
||||||
即使开源软件代码可以由全世界的开发者自由访问,**项目没有足够的贡献者/开发者彻底审查开源代码**的可能性仍然存在。
|
即使开源软件代码可以被全世界的开发者自由访问,**项目没有足够的贡献者/开发者彻底审查开源代码**的可能性仍然存在。
|
||||||
|
|
||||||
既如此,我们不能对经同行审查的开源软件抱有极高的信心,因为它恰好缺失了这一点。
|
既如此,我们不能对开源软件的同行审查抱有极高的信心,因为它恰好缺失了这一点。
|
||||||
|
|
||||||
开源软件可能“声称”拥有最高的安全性因为它们是开源的。在没有足够的开发者致力于该项目时,这是一种误导。
|
开源软件可能“声称”拥有最高的安全性因为它们是开源的。在没有足够的开发者致力于该项目时,这是一种误导。
|
||||||
|
|
||||||
同样,我们也无从得知有多少开发者在查看/检查代码以及代码走查在多大程度上进行。
|
同样,我们也无从得知有多少开发者在查看/检查代码,也不知道代码的检查进行到什么程度了。
|
||||||
|
|
||||||
举例而言,心脏出血漏洞([Heartbleed][T1])是在其在广泛使用项目—— **OpenSSL** ——中引入了2年以后才被发现的。
|
举例而言,<ruby>[心脏出血漏洞][T1]<rt>Heartbleed</rt></ruby> 是在一个被广泛使用的项目(OpenSSL)中引入了 2 年以后才被发现的。
|
||||||
|
|
||||||
#### 软件责任与义务
|
#### 软件责任与问责
|
||||||
|
|
||||||
对于个人用户这可能并不重要,但是**开源项目通常并无任何保证**。
|
对于个人用户这可能并不重要,但是**开源项目通常并无任何保证**。
|
||||||
|
|
||||||
因此,如果一家公司使用它,它们必须自行承担任何由该软件使用造成的数据丢失与损坏。
|
因此,如果一家公司使用它,它们必须自行承担任何由该软件使用造成的数据丢失与损坏。
|
||||||
|
|
||||||
这告诉你没有什么是100%安全和没有漏洞的。无论有多少眼睛聚焦在代码上或者贡献者的技术多么精湛,总会存在某种形式的风险,可能是安全风险可能是数据丢失。
|
这告诉你,没有什么是 100% 安全和没有漏洞的。无论有多少眼睛聚焦在代码上或者贡献者的技术多么精湛,总会存在某种形式的风险,无论是安全风险还是数据丢失。
|
||||||
|
|
||||||
这告诉我们一个现实:开源软件并非刀枪不入。
|
这告诉我们一个现实:开源软件并非防弹的。
|
||||||
|
|
||||||
### 开源软件有其更高安全性的优势,但是...
|
### 开源软件有其更高安全性的优势,但是...
|
||||||
|
|
||||||
就安全性而言没有什么优胜者。不论是闭源还是开源,当涉及安全问题时都适用同一套原则。
|
就安全性而言没有什么优胜者。不论是闭源还是开源,当涉及安全问题时都适用同一套原则。
|
||||||
|
|
||||||
有很多外部因素可以印象软件安全性,而**其中很多都不是来源相关的**。
|
有很多外部因素可以影响软件安全性,而**其中很多因素并不依赖于源代码**。
|
||||||
|
|
||||||
代码必须被以某种形式监控以保证安全。
|
必须以某种形式监控代码,以保证安全。
|
||||||
|
|
||||||
是的,**开源道路提供了闭源软件所不具备的优势**,但是这并不意味着开源软件是刀枪不入的。
|
是的,**开源道路提供了闭源软件所不具备的优势**,但是这并不意味着开源软件是防弹的。
|
||||||
|
|
||||||
_你对开源软件安全状况有何思考?_ _你又是否认为开源软件比专有软件解决方案更好呢?_
|
_你对开源软件安全状况有何思考?你又是否认为开源软件比专有软件解决方案更好呢?_
|
||||||
|
|
||||||
提前感谢您在下面的评论中提出的宝贵意见。
|
提前感谢你在下面的评论中提出的宝贵意见。
|
||||||
|
|
||||||
#### 大型科技网站坐拥百万收入,而 It's FOSS 拥有每一个你!
|
|
||||||
|
|
||||||
如果你喜欢我们在 It's FOSS 中所做的工作,请您考虑捐赠以支持我们的独立出版物。你的支持将有助于我们继续发布有关 Linux 桌面版以及开源软件的内容。
|
|
||||||
|
|
||||||
--------------------------------------------------------------------------------
|
--------------------------------------------------------------------------------
|
||||||
|
|
||||||
@ -147,7 +145,7 @@ via: https://news.itsfoss.com/open-source-software-security/
|
|||||||
作者:[Ankush Das][a]
|
作者:[Ankush Das][a]
|
||||||
选题:[lujun9972][b]
|
选题:[lujun9972][b]
|
||||||
译者:[CanYellow](https://github.com/CanYellow)
|
译者:[CanYellow](https://github.com/CanYellow)
|
||||||
校对:[校对者ID](https://github.com/校对者ID)
|
校对:[wxy](https://github.com/wxy)
|
||||||
|
|
||||||
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
本文由 [LCTT](https://github.com/LCTT/TranslateProject) 原创编译,[Linux中国](https://linux.cn/) 荣誉推出
|
||||||
|
|
||||||
@ -155,7 +153,10 @@ via: https://news.itsfoss.com/open-source-software-security/
|
|||||||
[b]: https://github.com/lujun9972
|
[b]: https://github.com/lujun9972
|
||||||
[1]: https://news.itsfoss.com/linux-foundation-linux-desktop/
|
[1]: https://news.itsfoss.com/linux-foundation-linux-desktop/
|
||||||
[2]: https://itsfoss.com/what-is-linux-distribution/
|
[2]: https://itsfoss.com/what-is-linux-distribution/
|
||||||
[3]: data:image/svg+xml;base64,PHN2ZyBoZWlnaHQ9IjQzOSIgd2lkdGg9Ijc4MCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB2ZXJzaW9uPSIxLjEiLz4=
|
[3]: https://news.itsfoss.com/content/images/wordpress/2021/07/hacker-exploit-illustration.png
|
||||||
[4]: https://itsfoss.com/linux-better-than-windows/
|
[4]: https://itsfoss.com/linux-better-than-windows/
|
||||||
|
[5]: https://news.itsfoss.com/content/images/wordpress/2021/07/open-source-security-illustration.png
|
||||||
|
[6]: https://news.itsfoss.com/content/images/wordpress/2021/07/open-source-security-issue.jpg
|
||||||
|
|
||||||
[T1]: https://www.cve.org/CVERecord?id=CVE-2014-0160
|
[T1]: https://www.cve.org/CVERecord?id=CVE-2014-0160
|
||||||
|
[0]: https://news.itsfoss.com/content/images/size/w2000/wordpress/2021/07/open-source-security.jpg
|
Loading…
Reference in New Issue
Block a user