整理 | 郑丽媛 出品 | CSDN(ID:CSDNnews) 上个月,“Linux 拉黑明尼苏达大学(UMN)”事件在开发者圈内引起了轩然大波:明尼苏达大学 Kangjie Lu 教授带领的研究团队因故意向 Linux 引入漏洞,导致整所大学被禁止参与 Linux 内核开发。(详情可查看:)这对于明尼苏达大学而言,无疑是一场灾难,在被“拉黑”之后校方也公然表示已暂停该研究并尽快调查。所幸,在经历道歉、配合调查等一系列努力之后,近日 Linux 社区还是给了明尼苏达大学“重获信任”的希望:如果学校能提高其”汇入 Linux 内核代码的质量”,或许 Linux 社区就会恢复与明尼苏达大学的合作。
涉事人员公开致歉,Linux 社区并不原谅 起初,在事情还未进行到“拉黑”这一步时,涉事学生 Aditya Pakki 还硬怼了 Linux 内核维护者 Greg Kroah-Hartman 一通,称他的怀疑是“近乎诽谤的疯狂指控”。 可在整所学校都被 Linux 禁止参与内核开发后,或许是意识到事情闹大了,Kangjie Lu 教授以及涉事学生 Qiushi Wu 和 Aditya Pakki 联合署名发表了一封致 Linux 内核社区的公开道歉信:“对于我们的研究小组对 Linux 内核社区造成的任何伤害,我们深表歉意。” 在这封致歉信中,该研究小组承认了实验方式的错误:“我们非常抱歉。Hypocrite Commits 论文中使用的方法是不恰当的。”他们也承认没有事先与 Linux 社区进行协商并取得同意,对此他们的解释为:如果提前告知的话,Linux 维护者就会格外注意他们提交的补丁,从而影响研究结果。 研究小组在信中一直强调,他们并不是真的要伤害社区:“虽然我们的目标是提高 Linux 的安全性,但现在我们明白了,让社区成为研究对象,并在其不知情或未经允许的情况下浪费大家的精力审查这些补丁,是对社区的伤害。我们只想让大家知道,我们绝不会故意伤害 Linux 内核社区,也绝不会引入安全漏洞。我们的工作是抱着美好的目标进行的,实验都是为了寻找和修复安全漏洞。” 此外,对于其他来自明尼苏达大学的补丁,涉事人员在信中表示它们与 Hypocrite Commits 事件无关,都是善意的、真诚的。研究小组在最后还表示将在未来“做得更好,还有很多贡献,并将努力工作以重新获得信任”。 不过,这种显然违背了开发者之间信任的行为,并非公开道歉就可以解决的,因而 Linux 社区对他们的致歉并不接受,Greg Kroah-Hartman 对此回应道: “如你们所知,Linux 基金会和 Linux 技术顾问委员会已于 4 月 23 日向贵校递交了一封信,概述了为了使贵组和贵校能够重新获得 Linux 内核社区的信任而需要采取的具体行动。在你们采取这些行动之前,我们没有任何关于这个问题进一步讨论的必要。”彼时,对于 Greg Kroah-Hartman 所说的“这些行动”外界还不甚了解,不过从昨日 Linux 技术顾问委员会发布的对明尼苏达大学补丁全面检查的结果报告中,我们或许可以窥见一二。 重获信任的唯一途径 据 Linux 技术顾问委员会的结果报告,来自明尼苏达大学的 435 个提交均被重新审查过,其中“绝大多数的提交都是没有问题的”。 不过还是有 39 个提交是不正确的,需要修复;有 25 个提交存在漏洞,不过已经由后面的提交修复了;有 12 个提交有问题,不过现在看来不是很重要;还有 9 个在 Kangjie Lu 教授的研究团队成立之前就存在的漏洞提交,其中有一个已经根据其作者的要求进行了删除。 此外,报告还发现,5 个故意提交的恶意漏洞补丁是用两个假身份提交的,这违反了向 Linux 内核贡献代码的明文要求。对此,Linux 技术顾问委员会推测,明尼苏达大学似乎允许研究人员在签署提交的时候使用伪造的身份。虽然在这次全面审查中,Linux 技术顾问委员会没有在明尼苏达大学的提交中发现新的漏洞,不过内核开发者还是觉得必须进行大量的审查。正如 Greg Kroah-Hartman 所说的:“我们被要求要彻查到底。”因为无论可能性有多小,漏洞代码都有可能被故意放入程序中。 与此同时,明尼苏达大学也积极配合 Linux 技术顾问委员会的调查及要求,全面披露了每个人的行为以及 Hypocrite Commits 项目的实现过程。 Linux 技术顾问委员会也分别对 Linux 社区和明尼苏达大学给出了相应的处理方案:对 Linux 社区:“Linux 技术顾问委员会将与研究人员共同创建一个文档,解释在与内核(和一般的开源项目)一起工作时所有研究小组应遵循的最佳规范。”对于明尼苏达大学,由于该大学失去了 Linux 社区的信任,因此 Linux 技术顾问委员会要求明尼苏达大学与许多公司和其他研究组织一样: “选定一组经验丰富的内部开发者,对提议并入内核的代码在公开提交之前对其进行审查并提供反馈。这样会使社区不再需要反复提醒开发者基本规范,例如遵守编码标准和全面测试补丁,以此产生更高质量的补丁,在内核社区中遇到的问题会更少。” 目前看来,这或许也是明尼苏达大学逃离 Linux “黑名单”的唯一途径,在此之前,明尼苏达大学的提交还是不受 Linux 社区的待见。 信任的打破只需一个谎言,重获信任却需要付出无尽的努力。望各位开发者以此为戒,切勿重蹈覆辙。参考链接:https://www.zdnet.com/article/linuxs-technical-advisory-board-reports-on-the-umn-hypocrite-commits-patches/https://lkml.org/lkml/2021/5/5/1244