梦晨萧箫发自凹非寺
量子位报导|公众号QbitAI
Linux内核的维护者GregK-H,忽然把整个康涅狄格学院拉黑了!
这是咋回事?
原先康涅狄格学院华人院士K.JLu率领的团队在向Linux内核递交补丁时,故意引入新的Bug,之后借此写论文。
在被警告过一次以后,近来居然又有这个学院的中学生递交显著无效的补丁。
要晓得,Greg每晚要审查几百个代码递交,忙得要死,中间还发觉捣乱的,得是哪些心情。
Greg表示,随意一个懂点C语言的人都能看出你这代码没丁点作用,别拿我们当试验对象。
你和你的团队早已公开承认故意递交bug来观察开源社区的反应,借此发表论文。如今大家又递交一系列显著错误的补丁,你叫我怎样想?
Greg放下狠话,未来任何来自邮箱的递交都应被默认拒绝。
除了这般,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在看过代码后,十分吵架,表示这个补丁的递交者“不是对代码一窍不通的话,就是故意的。”
之所以会作出这样的判定linux安全加固,是由于这名递交代码的博士生AdityaPakki,刚好也在犹他学院K.JLu院士的小组中。
而K.JLu院士率领的团队,正是之前给Linux内核社区递交过“垃圾代码”、来进行“分析开源软件漏洞”研究的团队。
这事一出,社区成员LeonRomanovsky发觉,那位博士还递交了3个类似的补丁。
他表示linux内核开源社区,这四个补丁均带有严重的安全漏洞,其中好些早已步入了核心代码层。
如今,这种补丁正在被移除。
对此,AdityaPakki在4月21号回应此事,表示研究人员的心态显著是“先入为主”:
希望您能停止这样近乎疯狂的指控,这近乎于诋毁。我们并不是Linux内核专家,在发送那些补丁时,也希望得到反馈……既然大家这么不待见,我不会再发送任何补丁了,但是,大家这些心态对新人和非专业人士很不友好。
这番言论激怒了Linux内核管理员Greg。
他表示,自己将会严禁犹他学院对Linux内核作出贡献,并会取消这一研究小组此前所有的贡献,由于这种递交“显然都是恶意的行为”。
Greg在社交媒体上表示:“这样做是浪费开源社区的时间,Linux内核开发者们不喜欢被试验。”
这么linux系统应用,为何要拉黑整个犹他学院呢?
社区觉得,康涅狄格学院居然会让这些研究获得IRBExempt,证明校区并不在意开源社区、甚至可能是故意的。
如今linux内核开源社区,康涅狄格学院计算机科学与工程系官方已出面调查此事:
我们立刻暂停了这项研究,目前正在调查这项研究所用的方式、以及研究的审批过程,以采取适当补救举措,避免将来发生其他问题。调查结果将尽早反馈给社区。
具体来说,将会重新调查这一研究获得IRB的过程,是否具有争议。
院长回应:并非同一项目
目前,K.JLu院长早已针对此事进行回应:
抱歉这件事造成了极大的关注度,先前有关“分析开源软件漏洞”的研究,已在2020年11月份结束。此次递交的错误代码,来自一个新项目,并非我们有意为之。
针对这件事本身,中级Linux内核开发、谷歌工程师Tedt’so觉得,这儿面最关键的问题在于,Lu院士和他的团队并未对自己此前的研究表示歉意:
更糟糕的是,康涅狄格学院的IRB机构觉得,Lu院士的研究不属于人体试验,因而不受控制。这样的话,严禁全校对Linux内核社区做贡献,可能是惟一的选择。
据ZDNet报导,不少Linux社区的开发者和管理员,都持有这样的见解。
针对院士研究的内容本身,RedHat的科技策略剖析师JeredFloyd则觉得,关于“分析开源软件漏洞”的这项研究,确实“不太道德”:
这早已不仅仅是“被试验”了。如同是你自诩“安全研究员”,但却去百货商店里割断了所有车辆的制动线,瞧瞧有多少人会遇上翻车车祸。
针对学院的机制,也有网友表示,部份学院的IRB审查机制,还应当进一步建立:
有的中学审查机制真的很严格,有的却根本不太管这种事情。
其实,也有网友觉得,Linux也应当采取更安全的方法进行代码贡献:
在这件事情中,双方都应当吸取教训。