我以前的工作在他们的产品中有大量的安全漏洞,但他们不在乎

信息安全 披露
2021-08-21 14:26:04

我曾经工作过的一家公司开发了一个销售点系统,该系统也有电子商务部分。在那里工作时,我发现他们的安全模型存在巨大缺陷。

简单地说,有0个服务器端验证。任何用户,无论是否登录,都可以在舒适的家中进行编辑价格、虚假交易、弄乱时间表等操作。

我多次口头报告了这一点,但大部分都被忽略了,因为它不是优先事项。

此后,他们扩大了客户群,现在为不少客户提供服务。我已经证实这些漏洞仍然像几年前一样有效。

我没有兴趣为这家公司挽回面子,他们对待我和许多其他人非常恶劣和辱骂,强迫加班无薪和类似的违法行为。

报告此安全问题的最佳方式是什么?我会向他们的客户发送电子邮件吗?还是我应该公开披露攻击并让互联网处理它?

编辑: 我想补充一点,漏洞利用并不复杂或晦涩难懂,任何在浏览器中打开 devtools 的人都可以发现他们可以即时编辑数据

编辑 2: 阅读所有这些回复后,我将向公司发送一封带有 POC 的匿名电子邮件。我还将给他们 60 天的时间来解决问题,然后再向他们的客户报告

4个回答

一个简短的警告

你听起来很投入尝试做某事。如果我可以坦率地说,听起来你至少部分是因为你对公司对待你作为员工的方式感到沮丧。这是可以理解的,但并不一定会导致良好的决策。特别是您提到的一个选项(联系客户并告知他们问题)是一种事情,无论是否正确,无论结果如何,都可能导致您的前雇主对您提起诉讼。所以轻装上阵。所有的事情都认为这可能是一个非常糟糕的主意。

理解(有缺陷的)商业视角

不幸的是,您描述的情况在软件行业并不少见。从许多公司的角度来看,提出安全问题是要求他们花费真金白银(在开发人员工资方面)来解决他们看不到的问题,以获得可能长时间不需要的好处(实际上可能在有人试图破解它们之前等待一段时间)。这是一个带有前期成本的隐藏好处,这是短视的想法很容易在很长一段时间内被忽视的东西。毕竟,在他们看来,你大肆宣扬的事情并没有真正造成问题,但肯定会花费大量时间和精力来解决,那他们为什么解决它呢?(我并不是说他们是对的,我只是在解释思考过程)。

重要的是要了解这显然是您的前雇主正在采取的方法。你已经通知他们这个问题,他们决定忽略它。没有理由认为您作为局外人可以采取的任何(法律)行动会改变这一点,特别是因为您作为内部人未能做出任何改变。当然,我们知道,由于安全实践不佳,发现和利用弱点的人是不可避免的,特别是如果他们开始看到任何真正的成功(即拥有庞大的客户群)。只要他们的客户都没有花时间主动深入研究潜在的安全问题(大多数人不会,因为即使他们确实关心他们也没有足够的知识来正确看待),这样的情况可能会持续令人惊讶很长一段时间才会引起真正的问题。Equifax 安全漏洞对于较小的公司,这可能导致完全破产

现实

那你怎么办呢?如果管理层知道问题但拒绝改变,你可能无法强迫他们改变。您可以尝试您提到的事情,例如向他们的客户报告,但他们的客户可能不会认真对待您。据他们所知,你只是一个心怀不满的前雇员,试图给你的前雇主制造麻烦。如果他们在开始使用该平台之前没有足够的知识来研究这些事情,那么没有理由认为他们现在知道的足够多,可以认真对待您的主张。很有可能你最终会被忽视或起诉。

(根据@forest 的回答)您当然应该提交 CVE。您还可以尝试通过第三方错误赏金计划提交错误。近年来出现了一些并试图充当“独立安全研究人员”(又名您)和没有错误报告程序的网站(又名您的前雇主)之间的中立仲裁者。当然,只有当您报告错误的公司实际倾听时,此类程序才有效。你已经知道你的前雇主不会。但是,从长远来看,通过标准渠道发布和忽略漏洞将有助于他们的客户在被黑客入侵时。这将使情况从简单的无能转变为彻底的疏忽,这将在民事法庭上带来更严厉的经济处罚(仅供参考:IANAL)。

任何进一步的(法律)选项将根据您的司法管辖区而有所不同,也就是在欧洲,您可能会通过 GDPR 找到一些采取法律行动的场所。在许多地方,尽管您可能没有任何选择可以立即给他们带来法律麻烦。在他们被黑客入侵并且他们的客户起诉之前,这很可能不会发生。发生这种情况时,发布 CVE 将帮助他们的客户。与此同时,听起来您正在考虑“在互联网上”公开发布一些内容。你在那里的目标是什么?实际上,您这样做的尝试可能会被互联网忽略。然而,他们可能会因此而更快地被黑客入侵。但是,如果不通过更标准的渠道,您可能会大大增加自己受到法律影响的风险。

再说一次,我可能误读了你,但我认为你的问题主要来自一个对过去雇主生气并且在某种程度上想要制造麻烦的人。这是让自己陷入法律麻烦的好方法,或者至少在将来试图找工作时给自己一个坏名声。我认为你应该试着停止从前雇员的角度来看待这个问题,而更多地关注中立安全研究人员的角度。

申请 CVE!

如果您完全关心防止潜在的大规模违规行为,那么您绝对需要以一种或另一种方式披露问题。如果您无法通过联系易受攻击的应用程序的开发人员来完成此操作,您应该为该问题申请 CVE 分配。MITRE 将处理其余部分。

我才意识到你说的是你的“旧工作”。我在下面的回答仍然有效,但取决于您是否仍然与公司内的负责人有联系。

如果您口头报告了问题但被忽略了,请尝试以书面形式报告问题,可能会升级问题并复制更高层的人员。您可能不得不说管理人员,为安全修复提供风险、成本和收益。解释为什么这应该优先于其他项目。向管理层提供演示,以展示漏洞利用是多么容易,并指出一旦有人发现它,公司的声誉就会受到严重损害。

也许您可以找到一种方法来宣传您的公司聘请安全审计员来发现漏洞的想法。如果您的管理层可能会以“哦,鲍勃又什么都吓坏了”来回应您的安全问题,他们可能会更认真地对待审计员。在某些司法管辖区,我确信公司必须满足处理个人数据的法律要求,如果您告诉他们您不确定自己是否合规并且在客户起诉之前需要进行审计。强制性的“我不是律师”。

如果这不起作用,我不能说我建议向客户发送电子邮件或公开披露漏洞,除非您先与律师交谈并且律师告诉您您已清楚。像您所描述的公司可能不会将这种情况视为“哦,现在我们必须解决这个问题”,而是“心怀不满的员工正试图破坏我们的业务,我们需要反击”。

您可以从公司外部做的事情:

在读到您不再在这家公司工作后,我有了另一个想法:可以匿名冒充贵公司产品的感兴趣的买家,并提出问题,表明您对确保数据安全非常感兴趣。询问他们是否进行安全审计,是否有任何安全认证,他们遵循什么法规,诸如此类。希望市场营销人员不会只是编造通用答案,而是会询问开发人员或负责某事的人。也许由于他们阴暗的安全做法而“失去销售”将使他们的优先级更高。

由于您没有透露地点,我建议联系执法部门,因为该公司可能违反了几项法律——尤其是因为他们从事金融交易。通常,您联系的执法部门会通知您实际应该联系的人,这可能是不同的执法部门、消费者保护组织,或者根本没有人。

向公众或其客户披露安全问题,或威胁这样做 - 以你心怀不满的员工的背景 - 是涉及执法的另一种方式。一个你想避免的。