首先向付费客户披露安全漏洞

信息安全 事件响应 披露 伦理
2021-09-01 19:08:42

特殊案例

开源产品的(未命名)供应商也销售商业许可证和支持。商业交易的优势之一是您可以立即收到有关安全漏洞的通知(甚至在正式发布之前),并可以访问包括修复程序在内的预发布安全版本。它还包括访问应用了安全修复程序的旧版本的构建。
换句话说,没有此类商业支持的用户只有在发布后才会收到通知,此时付费客户已经知道该漏洞已有一段时间了。尽管他们可以访问原始(易受攻击的)版本,但他们无法访问相同的(预发布或向后移植的)安全版本(但是,它是开源的,因此他们可以访问源代码并自行构建)。

我对这种方法有一些严重的怀疑。对我来说,这似乎使很大一部分用户群面临不必要的风险。

一般问题

这种披露是否经常应用?是否有更多(开源)公司提前向广泛的商业客户群体提供漏洞详细信息?或者是否必须同时向所有受影响的各方提供这些信息,这通常被认为是不负责任的行为?

3个回答

很容易说这种行为是不好的。但我认为值得更详细地了解一下。

对于许多公司来说,安全问题是一个相当困难的情况,他们决定开源(部分)他们的程序,同时保留商业版本。如果无法立即创建修复程序,情况会变得更糟。

首先通知付费客户的动机

该公司显然像任何公司一样依赖其付费客户来生存。所以他们需要为这些客户提供一些额外的价值。

大公司可能会向客户付费,而小公司和独立人士则倾向于使用免费版本。那些大公司更有可能成为攻击的目标。如果攻击成功,他们更有可能受到负面新闻报道。

此外,未经修复的公共安全警告更有可能引起有恶意的人的注意。只是因为人数要大几个数量级。

如果几乎所有认真的用户都是付费客户,则尤其如此。换句话说:开源版本基本上是商业版本的演示。

发出联合安全警告的动机

公司发出公开警告后,可主张不再对事后造成的任何损害负责。如果用户没有采取反措施,例如安装修复程序,那将是他们自己的错。

尽早向付费客户提供信息可能会使他们中的某些人利用这些知识作恶。根据立法,它可能对公司构成法律威胁,即它没有警告所有用户,尽管它显然意识到了这个问题。

从用户的角度

谈完了公司的动机,我们再来看看用户方面。我认为很明显,付费客户会喜欢这种服务。

开源版本的用户会面临额外的风险,因此在生产环境或敏感数据中使用此类软件时应非常小心。

非商业 Arianne 开源项目如何处理安全问题?

我想以一些个人经历​​作为结束。Arianne 是一个开源项目,它由一个在线游戏框架和一个名为 Stendhal 的 2D 在线角色扮演游戏组成。它是非商业的,根本不赚钱。

有很多人在运行 Stendhal 服务器,因为它是完全开源的(客户端、服务器、图形,一切)。我们自己运行一个司汤达实例

当我们在 Stendhal 中发现一个安全问题时,我们结束了这个过程:

  • 我们在可信赖的核心开发人员之间共享信息,我们对其进行讨论并共同寻找根本原因。
  • 我们修复了该问题并将更改提交到公共 CVS。其他核心开发人员审查修复并自行测试。
  • 我们在我们的服务器上实时修复。
  • 我们准备了基于最新稳定版本的错误修复版本。与此同时,其他核心开发人员进行了更多测试。普通玩家只是继续玩游戏,因此会隐含地测试副作用。
  • 我们将最后一个稳定版本的次要版本与源代码补丁一起发布,并发布描述该问题的公告。

整个过程大约需要1到2个小时。

我们不会为旧版本发布错误修复,因为我们非常注意使版本之间的更新非常易于安装。有人不能跳到最新版本的唯一原因是他自己修改了代码。对于这些人,我们提供源代码补丁。

我可以看到有人可能会争辩说,首先更新我们自己的服务器是邪恶的,就像在公告之前将修复提交到公共 CVS 一样。但这是在尽可能短的时间内获得高质量修复的最有效方法。我们确实需要在实时服务器上进行简短测试,因为人们真的希望他们可以盲目地安装安全更新,而不必担心副作用。

我通常会等到我有时间输入一个格式正确的答案或有人击败我,但考虑到反对意见:

在开源或闭源世界中,为付费或高级客户提供增强支持或更早的安全修复程序并不是一种罕见的商业模式。在某些情况下,这些是最脆弱的客户。目标是在公开利用漏洞之前修补尽可能多的高价值目标(或提供通常可以轻松找到漏洞利用的补丁)和在此过程中赚取一些额外资金之间的某个滑动比例。

这个行业的道德规范还没有真正决定,但正如你可能猜到的,有很多人对这个想法不满意。

似乎是邪恶的,但我会选择另一种观点:

当软件开源时,任何人都可以对其进行审查、更改、创建一些补丁/差异、使这些补丁在他自己的站点中可用等。

有人决定为它提供支持:“我会检查这个软件是否足够安全。如果我发现了什么,我会立即将更正发送给你。然后,在警告你之后,我会把修复给任何人。你只有付钱给我”。

不管是不是开发商,这是两家公司之间的提议。

开发人员是否在软件中创建错误以便他可以出售解决方案?如果是这样,那么是的,他们是邪恶的,应该被起诉。不,他们玩得公平吗?他们为每个人提供了针对错误的软支持(经过一段时间的延迟),并且人们抱怨没有与付费者平等对待?不知道,认为这给他们带来了太多的责任。它们不会阻止您自己修复软件。