OWASP TOP10“项目”可能在安全社区中无人不知。正因如此,它也几乎肯定是有史以来出现在最多开发人员面前的应用程序安全意识材料。

那么,还有什么理由不喜欢它呢?

从本质上讲,任何TOP10的目标都是一份营销文件,向安全行业以及软件开发人员和最终用户宣传安全问题。在OWASP TOP10大获成功之后,顾问和工具厂商意识到了社区驱动营销对其自身商业和个人目标的强大作用。现有的TOP10开始受到新一轮的游说和影响,新的安全TOP10开始如雨后春笋般涌现。如今,我们感觉什么都有十大榜单,而且每个月都有新的榜单出炉。

和其他人一样,对TOP10安全榜单,我发现自己逐渐提出尖锐的质疑。

1.Can you trust the authors?

你是否信任这些作者?

2.Can you trust the process?

你能否信任这个流程?

3.Can you trust the data?

你是否信任这些数据?

4.Are top tens even effective?

TOP10 排行榜真的有用吗?

5.Why the bloody hell are they so poorly written?

为什么他们写得这么烂?

Can you trust the authors?

你是否信任这些作者?

我知道这个问题会遭到一些人的反击,所以我打算直面这个问题。反击将来自那些不喜欢下面这句话推论的人,也就是名单的作者自己。

“当一个人的薪水取决于他是否理解一件事时,很难让他理解这件事”。——厄普顿-辛克莱

你总是要问自己,一个人为什么要做某件事。我写这篇文章是因为它是Crash Override内容营销计划的一部分,旨在间接吸引我们平台上潜在用户的眼球。

大多数榜单一开始都是由顾问或工具厂商创建的,时至今日仍然如此,他们可以利用这些榜单销售更多的工具或服务。这些榜单要么与他们的业务直接相关,要么通过品牌知名度间接相关。这是事实。这也是日常生活,只是生意而已。你必须适应,但你也要意识到它。

Facebook给你一个免费的平台,作为回报,他们利用你的活动来销售广告并赚钱。再次强调,这只是商业行为,只要你了解它的运作方式,你可以决定是否愿意参与这个游戏。

安全排行榜并不主要由安全运营团队驱动。明白这一点,你就能理解其中的自然偏见以及事物为何会如此。如果你与首席安全官讨论他们所面临的十大应用问题,我可以告诉你,它们不是一系列战术性缺陷和漏洞。它们当然不是像注入攻击这样的东西,除非是安全反疫苗论者,或者是软件和数据完整性的失败。它们更像是教育开发人员编写更健壮代码,改进开发流程中的安全控制,实施安全开发框架和库。如果有人告诉他们为什么OWASP十大安全问题不是他们的十大问题,我不会感到惊讶。

第一个反驳可能是“但我们有一个确保透明的流程”。

Can you trust the process?

你能否信任这个流程?

简单回答:NO。

去年在旧金山,一位创业公司的CEO约我喝咖啡。他直截了当地问我:“我怎样才能快速进入OWASP 的前十名?” 我直接问他:"这是你的销售数据表吗?"他说:"是的"。他告诉我,OWASP K8 Top 10 和 API Top10是作为销售工具创建的安全Top10的范例,是非常有效的销售工具,如果他不这样做,他将处于劣势。我喜欢这个人,他坦率而诚实,这也是为什么我不点名批评他的原因。

不要恨玩家,恨游戏。

这种行为的一个著名案例是当Contract Security(以及其他厂商如Shape)被指控不公平地推动将A7:Insufficient Attack Protection添加到OWASP十大安全风险中。A7的概述甚至直接提到了运行时应用自我保护(RASP),这正是Contrast Security所提供的。

另一个案例是,我通过一家风险投资公司与他们CEO进行了交流。他们正在开发一个API安全平台,并且在初次发布之前一直在关注API安全十大问题的讨论。他们对两家厂商之间的争吵感到震惊,这两家厂商基本上在争论应该包括和排除哪些问题,这直接对应着他们相互冲突的inline或out-of-band的方法。

很多排行榜都是由少数人制定的,有时他们的朋友也会参与其中,以增加可信度。有些排行榜甚至没有任何支持数据或合理的方法论就被发布出来。以下是关于OWASP Kubernetes Top 10 的一则声明,摘自他们的网页:

“在未来,我们希望这一点能够得到来自不同成熟度和复杂程度的组织所收集的数据的支持”。

OWASP 董事会对这一问题心知肚明,但就像他们管理社区的一般方法一样,他们没有发挥任何领导作用,对这一切置之不理,也不处理重要问题。

所以,如果你不能信任 "拥有者",最起码,你能信任那些通常被当作事实的数据吗?

Can you trust the data?

是否信任这些数据?

简单回答,还是不行。

大多数的十大排行榜都没有数据支持。就像上面的例子一样,它们只是观点。

那些有支持数据的网站往往存在根本性缺陷。向OWASP TOP10致敬,我是真心实意的,他们公布了收集数据的方法,但在他们的网页上还写道:

“本期TOP10评选比以往任何时候都更加以数据为导向,但并非盲目地依赖数据。我们从贡献的数据中选取了八个类别,并从十大社区调查中选取了两个类别,以此为基础进行了筛选”

你猜怎么着?其中八个问题来自以下安全厂商的工具或服务:AppSec Labs、Cobalt.io、Contrast Security、GitLab、HackerOne、HCL Technologies、Micro Focus、PenTest-Tools、Probely、Sqreen、Veracode、WhiteHat (NTT)。

难怪这八个问题备受关注,它们正是那些工具所发现的核心内容。

而且这还没有谈到数据的可信度。我理解,安全的支撑数据需要匿名化,但在一个有着可疑行为记录的行业中,这些数据的真实性根本无法独立验证。

简而言之,有些排行榜是纯虚构的,而其他一些带有数据的排行榜受到无法验证的数据的重大偏见影响。

因此,下一个问题来了。

Are top tens actually effective?

TOP10 排行榜真的有用吗?

谁知道呢?我认为,在安全回声室之外,他们更可能是无效的,这是一个神话。我没有看到任何案例研究表明,向开发人员推销这些问题与减少这些问题的流行之间存在直接关联。事实上,情况几乎恰恰相反。15 年来,OWASP TOP 10几乎没有变化,即将发生的变化主要是分类标准的变化。没错,尽管在开发人员教育、工具许可和占用开发人员构建软件的时间方面花费了数百万、数百万、数百万美元,但在首次发布15年后,我们仍在处理同样的老问题。这对每个人来说无疑都是失败的,当然,除了那些靠它赚钱的人。

有一种观点认为这是循环因果。如果你训练一批安全顾问更有效地发现这些问题,并训练工具更有效地发现这些问题,然后使用这些数据来支持更新版本的清单,那么你就是循环因果关系的典型例子。

如果前十个安全列表能够有效地向能够解决和避免安全问题的人们进行营销,我们就不会在这些列表上看到它们年复一年地出现。而且我不相信那些需要时间将它们从环境中排除的废话。当OWASP TOP 10在2004年首次发布时,距离第一款iPhone发布还有三年,距离AWS推出还有两年。那一年蓝牙开始被广泛采用,谷歌进行了首次公开募股。科技世界已经发生了翻天覆地的变化,但应用程序安全漏洞却没有?这连嗅探测试都过不了。

Why are they usually written so poorly?

为什么他们写得这么烂?

也许,它们不够有效的一个原因是,它们大部分都写得很糟糕,这还是客气地说。我是一名工程师,不是语言专业的学生,正如你从本文中看到的。但不需要英语专业的学生就能看清十大问题中的大多数,并得出一些结论,说明为什么它们可能无效,或者至少可以改进。

例如,问题不具有可执行性。来自OWASP LLM应用程序的十大问题。

LLM09: Overreliance

LLM09: 过度依赖

过度依赖LLM而缺乏监督的系统或个人可能会面临错误信息、沟通不畅、法律问题和安全漏洞等风险,因为LLM生成的内容可能不正确或不适当。

直截了当地说,作为一个安全团队,你真的打算去找商业领导人,告诉他们需要采取大量的安全监管措施来应对本世纪最大的科技机遇和社会面临的最大问题吗?也许你会争辩说这正是关键所在,但是当安全人员尚未解决像网页应用程序中的注入漏洞这样简单的问题时,你会这样做吗?

我忍不住要问ChatGPT一个问题。抱歉,但也不后悔。

你能依赖OWASP十大安全风险清单的有效性吗?

OWASP十大安全风险是在网络应用安全领域广为认可和尊重的资源。它提供了一个最重要的网络应用安全风险的排行榜,为组织提供了关于常见漏洞的指导,以便他们意识到并采取措施来减轻风险。

我想,鉴于上述建设性的批评意见,描述错误信息的问题至少有一定的合理性。ChatGPT的答案显然是错误的。

另一个例子是OWASP十大安全风险之一:A01:2021 访问控制失效。这是在描述一个广泛的问题,即“东西出了问题”,但没有给出可行的解决方案,却期望开发人员采取行动。如果你要采取这种方法,为什么不一劳永逸地只列出前两个:1.安全不足,2.安全失效呢?

我还可以继续说下去,就只说最后一个例子,OWASP移动指南M10:加密不足,并将该问题标记为具有严重的技术影响。每台iPhone都会自动启用全盘加密,直接由制造商提供。有一个安全的加密引导序列,因此只有受信任的应用程序才能加载。

当然,手机也会有问题,但这绝不是你想让移动开发者面对的问题之一。也许是开发移动应用程序的开发者实施得不好,但耸人听闻的标题会让开发者瞪大眼睛,然后四处逃窜。这个排行榜显然是由一个推动某种议程的安全厂商创建的。

结语

正如蜘蛛侠所说:“能力越大,责任越大”,作为一个行业,我们有着共同的责任,要做得更好。

我们必须维护和提升TOP10的诚信,以免这个概念被胡言乱语所淹没,导致大多数TOP10的创作者和维护者的善意被抹杀,从而使得创作简单易懂、可操作的TOP10的力量被糟糕的TOP10所淹没,最终导致人们不再信任任何一个TOP10排行榜。

业界应该提出更好的要求,技术领域也应该有更好的发展。

说明:本文仅代表原文作者观点

原文链接:

https://www.linkedin.com/pulse/five-questionable-things-top-ten-security-lists-mark-curphey/

声明:本文来自安全喵喵站,版权归作者所有。文章内容仅代表作者独立观点,不代表安全内参立场,转载目的在于传递更多信息。如有侵权,请联系 anquanneican@163.com。