当前位置: 首页 > 科技观察

写论文提交“恶意代码”到Linux,全校被Linux封杀

时间:2023-03-13 13:59:27 科技观察

最近,国外学术界出现了一个“新鲜事”。明尼苏达大学的两名中国研究人员试图通过将Bad补丁打入Linux内核作为“测试”来研究开源社区中的漏洞。但当他们继续贡献“有bug的代码”时,他们发现Linux内核管理员GregKroah-Hartman结束了他们的行为,并将整个明尼苏达大学拉入了Linux黑名单。什么事?此前,明尼苏达大学计算机科学与工程系博士生吴秋实与其导师卢康杰助理教授共同撰写了一篇论文《On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits》,试图将UAF(Use-After-Free)漏洞进入Linux内核。总的来说,这个RedTeam安全检查很常见,论文已经被2021IEEESymposiumonSecurityandPrivacy接受。但当他们再次尝试提交代码时,却发现Linux内核管理员GregKroah-Hartman已经“封锁”了整个明尼苏达大学。论文地址:https://github.com/QiushiWu/QiushiWu.github.io/blob/main/papers/OpenSourceInsecurity.pdfGregKroah-Hartman是备受尊敬的Linux内核开发者之一。他在推特上回复道:“Linux内核开发者不喜欢被‘实验’,我们有足够多的事情要做。”在LinuxKernelMailingList(LKML)上,当研究人员再次尝试提交假补丁时,Kroah-Hartman更明确地表达了自己的态度,“请停止提交已知无效的补丁,也不要想着乱搞审查过程是为了完成论文。这种做法是错误的,浪费我们的时间。我们将不得不再次通知你们学校。这种情况会发生。”Linux内核的资深开发者LeonRomanovsky也解释说:“他们故意将bug引入内核,这是任何开源社区的大忌。在Linux内核社区,开发者之间的信任是发展的基础。”过程的一部分。“这两位研究人员是故意的吗?会不会对Linux造成损害?”陆康杰教授此前就自己的研究做过如下陈述:第一,我们提交的代码中从未出现过bug,论文证明了可能这样的问题;其次,我们的做法是:先找到真正的bugA,然后提交patchA修复bugA,这也会引入bugB;所以,我们在合并之前也提交patchB修复bugB。换句话说,我们分两步修复错误A。第三,这些发现在提交之前报告给Linux管理员;第四,我们没有对任何Linux用户造成伤害并修复了这些错误;第五,这项研究旨在通过以下方式提高对此类问题的认识为改进打补丁流程,激励人们开发自动补丁检测和验证工具,双方各持己见。不过,明尼苏达大学计算机科学与工程系在得知此事后,表示hat”,两位研究人员的研究引起了Linux内核社区的广泛关注,并导致Linux被列入了整个大学的黑名单。我们非常重视整个问题。并立即终止了研究。我们还将追踪两名研究人员采用的研究方法和该方法的批准程序,确定适当的补救措施,并为未来出现的其他问题做好准备。”或许是学校的“不作为”导致他被封杀。KangjieLu教授的另一位博士生(AdityaPakki)提交了一个小补丁,只修改/添加了两行:因为这个补丁很简单,似乎提高了代码的质量,最初得到了一些成员的支持,但后来一直质疑。4月19日,资深内核贡献者AlViro斥责贡献者提交了一个“没有修复任何问题”的补丁。AdityaPakki提交了另一个补丁:Linux内核开发人员之一GregKroah-Hartman警告说,不要浪费内核维护者的时间来提交此类补丁。显然,这并不是引起争议的唯一补丁请求。还有来自同一研究人员的3个此类补丁,据信这些补丁会增加安全漏洞。面对这些公开的攻击,AdityaPakki认为自己是受害者,他指责内核维护者的态度,“我恭敬地请求你们停止并停止做出近乎诽谤的野蛮指控。”他还声称“这些补丁是作为新静态分析器的一部分发送的,这显然不是很敏感。我发送补丁是希望得到反馈。我们不是Linux内核的专家,这是冒犯性的听到这个重复。Pakki说:“我不会再发补丁了,因为这种态度不仅不受欢迎,而且对新手和非专业人士来说也是一种威胁。”这激怒了Kroah-Hartman,并回复道:你和你的团队公开承认发送了已知的错误补丁,以了解内核社区对它们的反应,并基于这项工作发表了一篇论文。既然你已经提交了一系列明显错误的补丁,我应该如何看待这种事情?[这些新补丁]显然不是由智能静态分析工具创建的,因为它们都是完全不同模式的结果,而且它们显然根本没有解决任何问题。那么,除了你和你的团队通过发送这种胡说八道的补丁来不断与内核社区的开发人员进行试验之外,我还能想到什么?提交由工具创建的补丁时,提交的人都会提交类似“由工具XXX找到的,我们不确定这是否正确,请指教”之类的陈述。你为什么不在这里进行这样的操作。你不是在寻求帮助,你声称这些是合法的修复,但你知道这是错误的。任何对C有一定了解的人都可以看出您提交的补丁根本没有做任何事情,所以认为一个工具创建了它们然后您认为它们是一个有效的“修复”完全是您的疏忽,不是我们的。你是错的,我们的工作不是为你创建的工具做测试对象。我们的社区欢迎帮助和增强Linux的开发人员,但这不是您想要做的,所以请不要试图以这种方式破坏它。我们的社区不欢迎被试验,也不欢迎通过提交故意不做任何事情或故意引入错误的已知补丁来进行测试。如果你想做这种工作,我建议你找一个不同的社区来做你的实验,这里不欢迎你。这些开发商不会回来了。而且,由于明尼苏达大学在受到警告后没有阻止他们,Kroah-Hartman表示现在必须禁止明尼苏达大学以后提交任何论文,并收回过去提交的论文。大多数Linux内核开发人员和其他程序员都同意Kroah-Hartman的观点。高级Linux内核开发人员和Google工程师TedT'so指出,尽管领导该项目的助理教授KangjieLu过去做了一些有用的安全工作:关于社区中可接受的行为,存在一些非常有偏见的想法.而且,明尼苏达大学机构审查委员会(IRB)认为,卢教授所做的研究不属于正常实验范围,也就是说明尼苏达大学没有任何机构可以管控这种行为——这是可能是Linux禁止整个大学的原因。在哪里。此外,这两位研究人员在他们的论文中声称,他们的补丁实际上没有一个进入任何Linux代码库,他们只是出现在电子邮件中,而不是成为任何Linux内核分支的Git提交。然而,事实并非如此。另一位高级Linux内核开发人员Romanovsky表示,他已经审查了Pakki提供的四个被接受的补丁,其中三个补丁增加了不同严重程度的安全漏洞。Linux内核驱动程序和Debian开发人员SudipMukherjee也表示,许多补丁已经到达稳定树。因此,这些研究人员不仅在浪费Linux提交者的时间,而且实际上还向Linux内核中引入了错误代码。