打开网易新闻 查看精彩图片

密码学专家纳迪姆·科贝西自今年二月以来一直试图推动 Rust 密码学库的代码修复,以解决他认为的关键性漏洞。然而,他的努力却遭到了冷遇、忽视,并最终被 Rust 安全频道禁言。

周二,科贝西向 Rust 审核团队和领导委员会提出了关于 RustSec 咨询数据库维护者行为的投诉。仅仅五小时后,他就被禁止进入 Rust 项目的 Zulip 空间。

随后,他将投诉升级到 Rust 基金会,声称存在行为准则违规行为,并表示已经用尽了其他申诉渠道。

科贝西写道:"我是一名应用密码学专家,在 hpke-rs 包中发现了关键的密码学漏洞,包括一个随机数重用漏洞,该漏洞可以实现完整的 AES-GCM 明文恢复和伪造。在过去的一个月里,我反复尝试以诚意为这些漏洞发布 RustSec 安全建议。"

然而,并非所有人都同意这一评估。密码学专家菲利波·瓦尔索达在11月2日报告了影响 libcrux-ml-dsa v0.0.3 的缺陷,"引发了整个事件"。他在邮件中告诉记者:"科贝西对整个情况的处理方式在我看来从未表现出善意或合理性。他一直在攻击 Cryspen 维护者,指责他们'隐瞒'问题,但在我看来这是无可指摘的行为。"

据了解,瓦尔索达与科贝西的分歧已经持续了十多年。

科贝西还在2月5日的博客文章中将矛头指向了总部位于巴黎的密码软件公司 Cryspen,抱怨该公司在修复漏洞时"没有任何公开披露、安全建议,或承认他们'正式验证'的库在生产环境中存在导致密码学静默失败的缺陷"。

科贝西在 Lobste.rs 讨论论坛发布链接后,瓦尔索达承认了科贝西关于测试和工程实践在高保证软件方面比形式化验证能带来更好结果的论点。但瓦尔索达也对科贝西表达论点的方式提出异议,称其具有攻击性、指控性、夸张性,近乎不诚实。

2月25日,科贝西在开源技术改进基金会的在线聚会上进行了演讲,详细介绍了对13个声称漏洞的担忧,以及他在让 libcrux 维护者 Cryspen 修复这些漏洞时遇到的困难。

Cryspen 在科贝西演讲幻灯片中引用的回应中表示,在其验证代码中没有发现漏洞;而科贝西称发现了四个。

受邀发表评论时,Cryspen 在邮件中表示:"我们欢迎所有漏洞报告,科贝西先生在我们预发布软件中识别的漏洞已在一周内得到解决。最终,这样的讨论很有价值,因为它们强调了对形式化验证保证的精确性的重要性,正如我们在博客文章中讨论的那样。"

Cryspen 联合创始人兼首席科学家卡尔提克扬·巴尔加万承认,在科贝西作为博士生在他手下学习时,"我们在这些建议方面做得不够好"。

科贝西引用了他与供应商合作的困难以及缺乏已发布的安全建议,告诉记者:"基本上有十三个漏洞。但让我们专注于两个,这是真正疯狂的漏洞,真正需要 RustSec 发布安全建议,因为它们涉及 Signal、OpenMLS、Google、SSH、Linux 内核等各种地方使用的库。"

"在这两种情况下,我认为漏洞都是关键性的。其中一个漏洞导致完整的明文恢复和消息伪造——在 2^32 次加密后所有消息的完整密钥恢复。另一个是拒绝服务漏洞。第一个实际上已经部署在 Signal 和其他许多地方。因此,我认为为此发布建议极其重要。"

针对他让 RustSec 团队处理这些报告的努力,科贝西声称 RustSec 咨询数据库维护者在没有技术理由的情况下关闭了多个建议拉取请求,在没有通知的情况下默默地将他从 RustSec GitHub 组织中屏蔽,并在他发现被屏蔽后关闭了他待处理的建议拉取请求。

"禁言消息援引了'骚扰'——这与用来驳回我的建议贡献的说法相同——并由我投诉其行为的同一批人执行,"他写道。

Rust 基金会周五确认了科贝西的投诉,声明:"我们非常严肃地对待所有报告。我们将根据 Rust 基金会行为准则政策进行评估,该政策可在我们的网站上找到。"

周四,记者向 Rust 基金会寻求评论,但尚未收到回复。

瓦尔索达显然不愿意成为在线争议的一部分,他认为科贝西的2月5日文章歪曲了情况,声称发现了五个安全漏洞,而只有一个符合安全问题的条件——向 RustSec 报告的随机数重用漏洞。

"随机数重用问题似乎是一个有效的安全问题,但绝不是关键漏洞:它只影响使用单个 HPKE 设置进行超过四十亿次加密的应用程序,"瓦尔索达说。"平均应用程序只进行一次。"

瓦尔索达表示,如果 RustSec 维护者禁言了科贝西或选择不合并他的报告,他倾向于相信他们有理由这样做。

指向科贝西对记者的联系,瓦尔索达说整个事件在他看来越来越像是对开源维护者的骚扰。

科贝西否认他骚扰了任何人,声明:"没有任何记录显示我在任何地方骚扰任何人。"

这场辩论突出了开源软件开发中长期存在的挑战之一——在具有不同沟通风格和期望的多元化人群(通常是志愿者)中协调行为规范,然后通过缺乏法庭诉讼严格性和可执行性的组织政策来裁决可能存在利益冲突的争议。

科贝西在向 Rust 基金会的投诉中正是提出了这一点,论证说 Rust 项目审核团队在领导委员会的代表就是在根本安全建议争议中对他发出公开审核警告的同一个人。

"他既是我投诉的行为的参与者,又是负责审查该行为的机构成员,"科贝西写道,将他的禁言描述为对投诉的报复。"这是直接的利益冲突。"

科贝西告诉记者,他已经尝试为这个漏洞获得建议超过一个月了。

"这是一个关键漏洞,他们在阻挠发布符合公众利益的建议,该建议制定正确,人们需要在他们的'cargo audit'命令中获得它,以便他们能够以与其影响相称的方式了解漏洞,"他说。

当一个人的热情倡导在另一个人看来是狂热的骚扰时,开源的关键漏洞可能就在于其人员。

Q&A

Q1:科贝西在 Rust 密码学库中发现了什么样的漏洞?

A:科贝西在 hpke-rs 包中发现了关键的密码学漏洞,包括一个随机数重用漏洞,该漏洞可以实现完整的 AES-GCM 明文恢复和伪造。他声称发现了13个漏洞,其中两个特别严重,一个导致完整明文恢复和消息伪造,另一个是拒绝服务漏洞。

Q2:为什么科贝西会被 Rust 项目禁言?

A:科贝西因为推动发布安全建议遭遇阻力后,向 Rust 审核团队和领导委员会投诉了 RustSec 咨询数据库维护者的行为。投诉提交五小时后,他被禁止进入 Rust 项目的 Zulip 空间,禁言消息援引了"骚扰"行为。

Q3:其他密码学专家对科贝西的做法有什么看法?

A:密码学专家瓦尔索达认为科贝西的处理方式缺乏善意和合理性,指责科贝西攻击 Cryspen 维护者。瓦尔索达承认随机数重用是有效的安全问题,但认为它不是关键漏洞,只影响进行超过四十亿次加密的应用程序,而普通应用程序只进行一次加密。