开源软件和专有软件一样安全吗?
by Canonical on 3 October 2023
数据泄露和公司遭到入侵的新闻时常发生在我们身边,勒索软件造成的生存威胁几乎笼罩着每一个使用计算机的企业组织。
这种局面带来的后果之一是,我们被越来越多的软件更新所困扰,从手机和电脑到吸尘器和汽车;需要下载这个,重启那个,安装更新。大多数这些设备和工具都运行开源组件——在 2022 年开源安全和风险分析报告中,Synopsys 发现,在 17 个垂直行业中,93% 的代码库都包含开源软件。
我们所看到的安全问题是否与使用开源软件有关?专有软件是否具有更高的固有安全性或更多的安全性优势?
简单的回答就是否。人们发现安全漏洞越来越多,原因仅仅是世界上生产的软件前所未有地多,而且软件功能正逐渐融入我们生活的更多方面。
事实上,开源软件一直处于这种技术变革的前沿,它让世界上的任何人都有途径和机会开发出不能免费访问这些资源就无法实现的功能和产品。
晦涩难懂不代表安全
编程器通常为两种受众编写源代码。首先,是为将要执行代码的计算机编写源代码。其次,是为其他编程器编写源代码,用于以后更新、调整和维护代码。正是这第二个方面赋予了开源软件广泛的吸引力:每个人都能看到代码,理解代码,并在知道自己理解代码的情况下安全地使用代码。
但对于计算机来说,代码被编译成 CPU 可以直接处理和执行的机器可读形式。这种机器语言对于人类而言很难理解:尽管可以看到程序在做什么,但要理解机器语言既非常困难,也非常耗时,这就导致人们普遍认为这使得它更加安全。
然而,晦涩难懂并不代表安全,而且有很多干劲十足的人喜欢挑战对编译程序进行反汇编,以研究其内部工作原理。
这一话题在 Ubuntu 播客第 185 期有深入讨论。
如何安全地使用开源软件?
开源软件确有漏洞,这和专有软件或闭源软件一样。两种模式下的软件供应商均有义务掌握漏洞报告,发布补丁和修复,并保证用户的安全。但是,您也可以应用一些最佳范例来降低风险。
Synopsys 在其 2022 年的分析中发现,85% 的代码库包含过期四年以上的开源代码。无论代码是开源还是专有的,最关键的安全措施是修补和更新该软件,而做到这一点的最佳方法是使用可靠来源的提供强有力安全维护承诺的软件。
这让您和您的客户能够免受新发现的威胁所攻击。当发现漏洞时,您可以借专家之力在攻击者利用漏洞之前修复漏洞。
纵深防御
另一个重要方面是为您的软件平台保持纵深防御,以便在堆栈中某个特定组件易受攻击时,使攻击者无法获得可乘之机并进一步传播他们的恶行。这可以通过强化系统、锁定配置选项和删除可能帮助到恶意行为者的非必要组件来实现。
总结
无论采用的是何种开发方法,所有软件系统都有漏洞和弱点,而且大多数云平台每天都依赖于开源安全。保持系统安全的最大举措是使用积极维护和更新的软件。下一步则是通过强化系统和防止小的弱点恶化,来提升安全性防护。

订阅博客文章
查看更多内容
使用 MAAS 部署 VMware 虚拟机管理程序
多数现代数据中心本身均为异构架构。VMware 环境常与容器平台、数据库及其他裸机业务负载共存,多年运行于同一套硬件之上。服务器一次性采购,但会随业务需求变化调整承载业务。 然而,ESXi(VMware 虚拟机管理程序)的配置通常由独立流程负责。主机通过 VMware 工具、自定义脚本或专为将部署 ESXi 到机器中开发的自动化程序完成安装。这些工作流单独运行虽行之有效,却未必能与物理基础设施的其他部分实现统一的追踪与管理。 由此导致了脱节:即便归属同一硬件资源池,ESXi 主机的管理方式仍与数据中心其他设备脱离。随着环境规模扩大、架构日趋多元化,这种割裂式管理会形成业务瓶颈。 将 ESXi 纳入统一裸机平台进行统筹管理将是更具扩展性的方案。这使得 ESXi 的配置流程, […]
什么是 Ubuntu Pro?与标准版有不同吗?功能及内容详解
Ubuntu Pro 是 Canonical 推出的全方位订阅服务,提供开源安全防护、技术支持与合规保障。从长达 15 年的安全维护、全天候技术支持,到面向 IT 管理员的自动化加固工具,深入了解 Ubuntu Pro 订阅包含的全部服务。 Ubuntu Pro 具备哪些功能? Ubuntu Pro 是一套安全合规订阅服务,可为操作系统、应用程序及 IT 运维各层级及时提供补丁与安全维护。它助力企业及其工程师保障软件与系统安全,并通过加固工具、自动化流程及一系列其他功能,为企业满足安全标准合规铺平道路。 了解关于 Ubuntu Pro 的更多信息 › Ubuntu Pro 与标准版 Ubuntu 有何不同? 很多人存在误区,误以为 Ubuntu Pro 是独立版本或全新操 […]
代码热风险 – 软件供应链视角下,容器交付前要先“冷却”
已遭遇的安全漏洞,与即将到来的威胁 2025 年 9 月,npm 软件仓库中包括 chalk 和 debug 在内的数十个热门 JavaScript 软件包遭入侵。这些软件包应用极为广泛,几乎无处不在:前端应用、后端微服务以及 CI 工具中均有使用。开发人员并无任何失误操作,他们只是执行了一贯使用的命令:npm install chalk。但恶意软件却悄无声息地侵入了。 这并非操作系统中的漏洞。也不是某台笔记本电脑上的病毒。这是一次供应链攻击:攻击者在开发者构建软件所使用的组件中植入了恶意代码。手段并不复杂,仅仅是一名开发者遭到钓鱼攻击、一次恶意发布,数百万下游用户便因看似是合法更新而将恶意代码引入系统。 而这确实是一次合法的更新。发布者并非有意植入恶意软件,也对此毫不知 […]