本文来自微信公众号“AI科技评论”(aitechtalk),作者:陈大鑫、琰琰
Linux内核是现代历史上最大的软件项目之一,已经拥有超过2800万行代码,来自世界各地和不同领域的贡献者每天都会向Linux内核维护者提交大量补丁,以便他们在正式合并到Linux内核树之前得到审查。这些补丁可以帮助修复内核中的bug或小问题,或者引入新特性。
然而,Linux内核项目维护者最近做出了一个令人大跌眼镜的决定:禁止明尼苏达大学(UMN)参与开源Linux项目。
这背后究竟有啥「不可告人」的故事呢?
原来是明尼苏达大学的一位教授往Linux 内核中提交了恶意代码(补丁),然后将其用于做学术研究。然而这些恶意代码对官方Linux代码库来说是安全漏洞,他们的这些举动被Linux内核维护人员发现。
这岂能不引起Liunx社区的愤怒?
此外,Linux内核项目维护人员已经决定随时收回所有来自明尼苏达大学官方邮件提交的代码。
故意挖坑水论文?
提出这项禁令的人,是Linux核心开发者Greg Croha-Hartmann:
Linux方面表示,采取此举措的理由是:
“他们曾试图测试内核社区审查发现「已知恶意代码漏洞」时临时应变的能力。”
(这意思是把Linux内核社区审查人员当做了工具人?)
“因此,他们的所有代码提交都必须从内核树中返回,并且需要再次进行审查,以确定它们是否确实是有效的修复程序还是恶意的漏洞。”
“在完成工作之前,(我们正在删除)此更改,以确保不会在代码库中引入任何问题,”Croha-Hartmann在一系列已发布的电子邮件中说道。
2021年2月,UMN研究人员陆康杰等发表了题为《Open Source Insecurity: The Silent Introduction of Weaknesses through the Hypocrite Commit》(开源不安全:通过 Hypocrite Commit可以悄悄引入漏洞)的研究论文。
论文地址:https://github.com/QiushiWu/QiushiWu.github.io/blob/main/papers/OpenSourceInsecurity.pdf
这项研究的重点是通过累积恶意或不安全的补丁,在Linux内核中故意引入已知的安全漏洞。
下图是陆康杰的个人介绍:
在 BleepingComputer上,论文研究人员演示了一些实例,其中提交的补丁引入了已知的安全漏洞:
如上图所示,研究人员尝试在代码中重现NULL指针取消引用缺陷(CVE-2019-15922)。
“null状态的引入很简单。该补丁程序是适当有效的,因为它在释放指针后会禁用pf-> disk-> queue。”UMN研究人员在论文中说道:“但是,某些任务(例如pf_detect()和pf_exit())将在null之后被调用,它们将在不检查其状态的情况下更多地中断该指针,从而导致NULL指针的出现。”
在BleepingComputer上,有成百上千条伪装为“补丁”的评论。Croha-Hartmann 已决定将其驳回,以下是被Hartmann撤回的UMN研究人员的部分代码提交列表:
研究人员反击
很快啊,UMN的研究人员Aditya Pakki对Croha-Hartman的行为予以了回击,并命令他“停止胡乱指责”。
他表示道:
Greg,我希望你们立即停止谴责和无礼的指控。
这些补丁是我编写的新静态分析器(Static Analyzer)的一部分,敏感性并不高。我把补丁发送给Asha,是因为我们并不是Linux内核方面的专家,希望能够获得一些改进的建议。一次又一次地听到你们这些说法实在令人厌恶。
当然,这是一个错误的行为,但你的批评明显带着强烈的偏见,你的指责没有给出理由,也不会对我们的改进有任何帮助。我不会再发送任何补丁,因为你们这种态度不仅不可取,也是对新手和非专家从业者的伤害。
随后,Croha-Hartman回应说:
Linux开发人员社区讨厌这种行为,建议你去其他社区,这里不欢迎你。我们将删除你以前所有的贡献,因为这些贡献明显是在恶意挑起事端。此外,因为你的行为,我们现在不得不禁止贵校以后的所有投稿。
针对此事,开源安全公司总裁Brad Spengler发推表示,真是一团糟!现在Linux的过激行为将给每位开发者人员带来更多的麻烦,在去年就有人(包括我)警告过UMN。
“…这种夸张的承诺是很可怕的,从任何研究中删除之前(CAP_SYS_ADMIN Checks)......,都是十分疯狂的。“
“开展幕后审查是可以接受的,但只审查结果即可,可是需要故意重提几十个不足来表明立场吗?,Spengler 继续说道。
最终迫于舆论的压力,4月21日,明尼苏达大学发表官方声明,表示已中止了相关研究,并将针对此事展开内部调查。
UMN地址:https://cse.umn.edu/cs/statement-cse-linux-kernel-research-april-21-2021
明尼苏达大学计算机科学与工程系的负责人今天了解到,该校一名教员和研究生正在对Linux内核的安全性进行研究。他们所使用的研究方法引起了Linux内核社区的强烈不满,截止目前,此事已导致UMN被禁止发表任何与Linux内核有关的研究成果。
我们非常重视此事,并立即中止了校内的这项研究。接下来,我们将对该研究方法及实施过程展开调查,以采取适当的补救措施,并防范相关事件的再次发生。我们会尽快向社会汇报调查结果。
网友讨论
国内网友吃瓜:
你可以理解为美国搞出了个新冠,然后封城,治好了感染者。然后把这当做丰功伟绩宣传。同时再发表论文公告,时不时踩一下其他国家。说其他国家体制和医疗系统都有问题。
也有网友指出:
1. 研究者(kangjie lu和他的学生)想要测试的是内核维护者对提交的代码中的bug的反应。测试对象是“人”而不是Linux Kernel。分析的是“人”,或者说代码提交审核机制的漏洞,而不是开源软件的漏洞。
这位网友之后接着表示:
2. 实验过程简单来说就像哄骗你吃毒药,但是毒药片上有条风筝线。你就要吞下去之前他手疾眼快把线一拉把药片拉走了。然后他写了文章分析,说你没看出来是毒药差点就吃了,所以你有漏洞。可想而知你作为被实验的人心里会有多恼火。
3. (1)(2)中所说的实验已经完成并变成paper发在安全领域的顶级会议S&P上了。
4. 最近这个教授组里另一个人在做一个完全不同的项目,但是也涉及到向linux kernel提交代码。但是他提交的代码,像另一个评论说的,“里面除了打印一个大大的猴屁股之外啥事都没做”。这样审核代码的人一看邮件地址还是这个学校,勃然大怒,让你们别这么干了,合着你们又来消遣老子??
以上就是事情大概。我看了greg(内核维护者)的回复,感觉这个事情和有没有违反IRB规定关系不大。重点是你这种拿别人当小白鼠做实验的行为是让人非常非常不爽的。上次也就算了以后别继续就行,没想到你们组还没完没了。
reddit网友吃瓜:
在reddit上,网友集体对Linux做出的决定表示惊呼,同时有人指出:Linux这看似激进的举措是在杀鸡儆猴。
网友@i_got_jiggy_with_it认为,“这是是对安全威胁的合理回应,发现攻击者的源头并将其阻止。不过这里将攻击者定位成了‘明尼苏达大学’,哈哈。看起来明尼苏达大学已经成功触发了对这种类型威胁的响应过程。”
此外,其还指出,引入漏洞的这些学者提出的改善流程的建议真是可笑:
建议OSS项目更新行为准则,例如“在提交补丁时,我承诺不打算引入错误”。
OSS维护人员不足。我们应该尊重维护者的努力,并在可能的情况下增加潜在的激励措施,以鼓励更多的人加入维护者。
网友@anonymocities则认为Linux方面也存在问题:“还有什么比内核更好的项目吗?成千上万的人都在维护着这个项目,仍然被恶意代码趁虚而入。这些恶意代码被发现的唯一原因是在明尼苏达大学的学者发布论文的时候。所以Linux的做法还真是无赖。”
网友@hennell的观点相对中肯:
“一方面,此举很有意义:如果大学接受这种做法,就不能真正相信该机构不再这样做。但是,当人们在网站上显示漏洞时,公司的回应却是“我们已经禁止了他们的帐户,因此已解决了问题”,这表面上看起来似乎也是如此。然而他们最好也了解如何彻底防止这种情况的发生。毕竟不是所有人都会去发表论文。”
网友@ZinloosTijdverdrijf认为明尼苏达大学研究人员的做法完全不道德,活该被禁。
对此,网友@Mourningblade提出了这样的建议:
“有很多方法可以在符合道德的情况下进行此类研究。例如:私下与主要维护人员联系,并列出打算做什么研 究。只要同意补丁无法发布,就可以了。 ”
最后,小声问一下,一定要瞄准Linux来做研究吗?
这件事您怎么看?
参考链接:
https://www.reddit.com/r/programming/comments/mvf2ai/researchers_secretly_tried_to_add_vulnerabilities/
https://thehackposts.com/news/linux-bans-university-of-minnesota-to-commit-malicious-code/
0 条评论
请「登录」后评论