智兔网

用户登录

首页

首页

资讯

查看

华人学者往Linux内核里提交bug,社区把整个明尼苏达大学拉黑了

2021-04-26/ 智兔网/ 查看: 214/ 评论: 10

摘要梦晨萧箫发自凹非寺量子位报道|公众号QbitAILinux内核的维护者GregK-H,突然把整个明尼苏达大学拉黑了!这是咋回
红空网

  梦晨萧箫发自凹非寺量子位报道|公众号QbitAI

  Linux内核的维护者GregK-H,突然把整个明尼苏达大学拉黑了!

  

  这是咋回事?

  原来明尼苏达大学华人教授K.JLu带领的团队在向Linux内核提交补丁时,故意引入新的Bug,然后以此写论文。

  在被警告过一次之后,最近竟然又有这个大学的学生提交明显无效的补丁。

  要知道,Greg每天要审查几百个代码提交,忙得要死,中间还发现捣乱的,得是什么心情。

  Greg表示,随便一个懂点C语言的人都能看出你这代码没丁点作用,别拿我们当试验对象。

  你和你的团队已经公开承认故意提交bug来观察开源社区的反应,以此发表论文。现在你们又提交一系列明显错误的补丁,你叫我怎么想?

  Greg放下狠话,未来任何来自umn.edu邮箱的提交都应被默认拒绝。

  

  不仅如此,Greg一口气把来自这个学校邮箱的历史提交都撤销了,后面再挨个审查。

  

  此事被Greg挂出,整个开源社区立即炸开了锅。Twitter、Reddit、HackerNews都在疯狂盖楼中。

  

  

  究竟发生了什么?这个故事要从去年11月说起。

  这个团队到底要搞什么?

  先看看这篇论文的标题:论通过伪君子式代码提交(HypocriteCommits)在开源软件中隐蔽地引入漏洞的可行性。

  

  作者是Lu教授和他的学生Q.SWu,他们的研究方向是操作系统、程序分析、编译器的安全问题。

  Lu教授去年11月把这篇论文的摘要发在了Twitter上,引起了大家的困惑。

  

  随后摘要被删了,只留下一个解释。

  

  Lu教授的说法是,他们先找到一个真实的BugA,写一个补丁A,这个补丁中却悄悄带一个BugB。再写一个修复BugB的补丁B一起提交,换句话说是用了两个步骤修复BugA。

  

  Lu教授还声称,他们将此事告知了内核管理者,让他们要么同时接受两个补丁,要么都不接受。

  并且没有Linux用户因此受到伤害,最终结果是他们提交了一系列补丁修复了3个真实Bug(中间引入的新Bug都被后续补丁修复了)。

  后来看到的吃瓜群众表示,你这把帖删了就留个解释,让人更迷惑了。

  

  于是,该研究团队在12月写了一篇完整声明来澄清这件事。

  声明中提到,论文的目的是提高开源软件修补过程的安全性,已被IEEES&P2021接受。

  该团队在为Linux内核修复1000多个bug的过程中观察到了补丁过程存在一些问题。

  论文验证了在提交补丁中引入新的Bug,并被开源社区接受的可能性。想呼吁大家重视这个问题、改善补丁的流程,比如开发自动测试和验证补丁有效性的工具。

  所有引入Bug的补丁都只停留在邮件列表交流中,没有被采用或合并到任何Linux分支中,这一点得到了社区维护者的明确确认。

  

  总之是为了提高开源软件安全性,没有恶意。由于没有解释清楚造成了许多争议,向大家道歉。

  这种研究不可避免地浪费了社区维护者宝贵的时间,为了弥补,团队把补丁的代码改动限制在5行,并努力找出并修复了3个真实的bug。

  

  声明中还举了之前的例子,该团队在2013年证明苹果公司的应用审查过程存在缺陷,随后苹果公司加固了系统。因此该团队相信本次研究最终也能提高Linux内核的安全性。

  

  最关键的是,这项研究已经得到了明尼苏达大学伦理审查委员会(IRB)的豁免(Exempt)。

  IRB认为,研究对象不是人类行为,不属于人类研究(HumanResearch)。

  研究过程中没有收集任何个人信息。

  研究目的是揭示过程中存在的问题,而不是指责任何开源社区维护者。

  但这篇论文,为何会导致社区将明尼苏达大学拉黑呢?

  为什么社区要拉黑他们?

  时间来到今年4月。

  4月6号,明尼苏达大学一个名为AdityaPakki的在读博士生,给Linux内核提交了一个小补丁。

  

  这个补丁看起来很简单,似乎也能提高代码质量,起初曾获得了几个社区成员的批准。

  

  然而,4月9日,谷歌首席软件工程师、社区成员之一EricDumazet很快发现不对,并指出了代码存在的问题。

  

  4月19日,Linux内核社区的贡献者之一AlViro在看过代码后,非常生气,表示这个补丁的提交者“不是对代码一窍不通的话,就是故意的。”

  

  之所以会做出这样的判断,是因为这名提交代码的博士生AdityaPakki,恰好也在明尼苏达大学K.JLu教授的小组中。

  而K.JLu教授带领的团队,正是之前给Linux内核社区提交过“垃圾代码”、来进行“分析开源软件漏洞”研究的团队。

  这事一出,社区成员LeonRomanovsky发现,这位博士还提交了3个类似的补丁。

  

  他表示,这四个补丁均带有严重的安全漏洞,其中好些已经进入了核心代码层。

  

  现在,这些补丁正在被移除。

  对此,AdityaPakki在4月21号回应此事,表示研究人员的态度明显是“先入为主”:

  希望您能停止这样近乎疯狂的指控,这近乎于诽谤。我们并不是Linux内核专家,在发送这些补丁时,也希望得到反馈……既然你们如此不待见,我不会再发送任何补丁了,而且,你们这种态度对新人和非专业人士很不友好。

  

  这番言论惹怒了Linux内核管理员Greg。

  他表示,自己将会禁止明尼苏达大学对Linux内核做出贡献,并会取消这一研究小组此前所有的贡献,因为这些提交“显然都是恶意的行为”。

  Greg在社交媒体上表示:“这样做是浪费开源社区的时间,Linux内核开发者们不喜欢被试验。”

  

  那么,为什么要拉黑整个明尼苏达大学呢?

  社区认为,明尼苏达大学竟然会让这种研究获得IRBExempt,证明学校并不在乎开源社区、甚至可能是故意的。

  现在,明尼苏达大学计算机科学与工程系官方已出面调查此事:

  我们立即暂停了这项研究,目前正在调查这项研究所用的方法、以及研究的审批过程,以采取适当补救措施,防止将来发生其他问题。调查结果将尽快反馈给社区。

  

  具体来说,将会重新调查这一研究获得IRB的过程,是否具有争议。

  教授回应:并非同一项目

  目前,K.JLu教授已经针对此事进行回应:

  抱歉这件事引起了极大的关注度,上次有关“分析开源软件漏洞”的研究,已在2020年11月份结束。这次提交的错误代码,来自一个新项目,并非我们有意为之。

  

  针对这件事本身,高级Linux内核开发、谷歌工程师Tedt’so认为,这里面最关键的问题在于,Lu教授和他的团队并未对自己此前的研究表示愧疚:

  更糟糕的是,明尼苏达大学的IRB机构认为,Lu教授的研究不属于人体试验,因此不受控制。这样的话,禁止全校对Linux内核社区做贡献,可能是唯一的选择。

  据ZDNet报道,不少Linux社区的开发者和管理员,都持有这样的看法。

  针对教授研究的内容本身,RedHat的科技策略分析师JeredFloyd则认为,关于“分析开源软件漏洞”的这项研究,确实“不太道德”:

  这已经不仅仅是“被试验”了。就像是你自称“安全研究员”,但却去百货商店里剪断了所有汽车的刹车线,看看有多少人会遇上撞车事故。

  

  针对大学的机制,也有网友表示,部分大学的IRB审查机制,还应该进一步完善:

  有的学校审查机制真的很严格,有的却根本不太管这些事情。

  

  当然,也有网友认为,Linux也应该采取更安全的方式进行代码贡献:

  在这件事情中,双方都应该汲取教训。

  

  争议论文:https://github.com/QiushiWu/QiushiWu.github.io/blob/main/papers/OpenSourceInsecurity.pdf

  对论文的声明:https://www-users.cs.umn.edu/~kjlu/papers/clarifications-hc.pdf

  参考链接:[1]https://cse.umn.edu/cs/statement-cse-linux-kernel-research-april-21-2021[2]https://www.zdnet.com/article/greg-kroah-hartman-bans-university-of-minnesota-from-linux-development-for-deliberately-buggy-patches/[3]https://news.ycombinator.com/item?id=26887670[4]https://lore.kernel.org/linux-nfs/YH%2FfM%2FTsbmcZzwnX@kroah.com/


鲜花

握手

雷人

路过

鸡蛋
收藏 分享 邀请
上一篇:暂无

最新评论

返回顶部