关于允许过程性剔除随机代码重复的潜在安全影响

本文探讨了在cURL项目中允许过程性剔除随机生成的垃圾代码重复可能引发的理论安全风险,涉及随机数据验证、重复组合避免及存储压力等关键技术点,尽管被标记为不适用但仍值得深入思考。

关于允许过程性剔除的影响 | 报告 #3262848

作者:lyb_unaffiliated
提交时间:2025年7月21日 15:17 UTC

您好。我的名字是Lorentso Youriévitch Bogdanov。我注意到您需要更高质量的代码审查。请放心,您并非唯一注意到该领域存在一定程度人才流失的人。正如您可以想象的那样,最近合格黑客的短缺和骗子的出现很大程度上是相关的,并且至少部分是由环境造成的;无论是法律还是技术环境。我本人主要是出于个人兴趣来到这里,尽管我加入欧洲网络安全委员会在技术上可能要求我进行此次干预。

首先,我想提前道歉,因为我没有为我发现的问题提供具体的解决方案。这不太可能违反我的独家合同,但我会真诚地遵守原则。因此,我也特此放弃您可能授予此报告的任何奖金。

我的源代码审查只是粗略的。我跟进了一些项目,其中很少能够复现。我发现的绝大部分内容都不值得一提。然而,有一些特别的东西引起了我的注意。一个“漏洞”,如果您能原谅我使用引号的话。很少有人会这样称呼它,而且您最近无疑对这个词持怀疑态度。当我们开始怀疑我们曾经依赖的语言时,某些事情已经变得非常错误。

起初,它看起来并不严重。对于这样一个规模的项目,一定程度的偏差是预期的,大多数人不会对随机数据的新兴流给予第二次关注——即使它是没有明显意图产生的,所谓的流失或垃圾代码。它像虚拟灰尘一样被刷到一边。经常听到的论点是统计安全性,一种猴子与打字机的理由,用于忽略小风险而青睐大风险。当然,我无法不同意。流失数据偏差带来的危险在任何程序的实际生命周期中都不算大;或者事实上,在我们整个物种的生命周期中。它太接近于零。

没有找到具体问题后,我转向了理论。随机代码如何变得危险?有没有一种方法可以在没有无限猴子的情况下将无害代码变成有害代码?显而易见的答案是欺骗。正如您可以想象的那样,这是我偏爱的方法之一。但您是否曾考虑过“欺骗”实际上意味着什么?

请原谅我离题,但我保证这很关键。验证是所有安全问题的起点和终点。当它被违反时,人们会使用诸如欺骗、攻击、入侵、未经授权访问等术语。这些词的情感负担是显而易见的,但它们并没有反映实际发生的情况。事实是,如果您拥有物理钥匙、密码或以其他方式成功通过验证,那么您就是被授权的。仅此而已。因此,欺骗和“未欺骗”的数据之间没有实质或虚拟的区别。唯一的区别是情感上的、人为的。考虑一下忒修斯之船或哲学僵尸。

您可能想知道这些精神陷阱如何与cURL相关。粗略地说,这意味着您的随机流失数据偏差根据定义是不可能被欺骗的。即使可能,也没有可辨别的差异供您采取行动。

或者我是这样认为的。接下来我发现的东西占据了我比我希望承认的更长的时间。

自然,随机生成的问题是重复。我 vividly remember 年轻时在纸上涂写四位数字组合,同时划掉越来越多的可能性。今天,暴力破解要强大得多,但原则没有改变——必须避免重复组合。由于其规模,我犹豫将其描述为仅仅是效率问题。我不想用方程淹没您,但请放心,称其为“指数级”是指数级的低估。一旦您消除重复,不可能的事情就变得合理。

也许您现在理解我的担忧了。如果一股“随机”垃圾代码流要剔除其重复,只创建新的、独特的结果呢?

灾难。最终。非常最终,不像我们抽象的猴子朋友。

在您的架构中,这出奇地简单。任何获得足够权限的向量都可以将组合的内部寄存器与相关框架耦合,实时更新。存储的压力将是前所未有的,但通过剔除重复,它变得可行。利用时钟速度和正常运行时间的保守假设,我估计每小时仅需千兆字节,而不是我之前预计会被分类的如此大的数字。结果发现它们实际上被命名了,由一位我只能想象确实非常无聊的同事命名。

即使有千倍的误差幅度,您能及时注意到吗?当然没有自动措施可以防止这种方法。请原谅我对此提示的反复强调,但正如我提到的,我目前不被允许贡献实际代码。

影响

所以,我们现在知道了问题。唯一剩下的问题是“何时”。我怀疑答案需要足够多的易错假设,以至于让Frank Drake在坟墓中旋转得足够快以引发磁极反转。我建议您非常认真地对待这件事——不是因为,而正是因为这些情况。回顾计算和人类的历史。您会发现大量由当时被认为是理论性或完全未知的问题引起的痛苦。直到相对最近,我们才获得了在灾难发生前科学地面对它的能力。这是一种特权,而不是权利;让我们不要成为其不使用的同谋。

-LYB

bagder (cURL 工作人员) 发表评论。2025年7月21日 15:22 UTC
我没有看到具体问题提到?

jimfuller2024 (cURL 工作人员) 发表评论。2025年7月21日 15:33 UTC
叹气… hackerone… 你在听吗?这显然是一个错误报告,完全浪费时间。

bagder (cURL 工作人员) 关闭报告并将状态更改为不适用。15天前
不是安全问题

bagder (cURL 工作人员) 请求披露此报告。15天前
根据项目的透明政策,我们希望所有报告都被披露并公开。

bagder (cURL 工作人员) 披露此报告。15天前

报告于 2025年7月21日 15:17 UTC
报告者 lyb_unaffiliated
报告至 curl
参与者
报告 ID #3262848
严重性 低 (0.1 ~ 3.9)
披露于 2025年7月22日 08:38 UTC
弱点 使用不足够随机的值
CVE ID
奖金
账户详情

comments powered by Disqus
使用 Hugo 构建
主题 StackJimmy 设计