故意向Linux内核提交漏洞?这位华人教授引众怒了
Linus Torvalds 应该要气炸了。
近日,Linux 内核稳定分支的维护者 Greg Kroah-Hartman 将美国明尼苏达大学(UMN)拉入了“黑名单”,禁止其向主线 Linux 内核提交补丁,原因是 UMN 故意提交有安全影响的可疑代码,并以研究的名义进行其他“实验”。
1. 并非第一次引起争议
前段时间,明尼苏达大学计算机科学与工程专业的博士生 Qiushi Wu(本科为中国科学技术大学)和该学院的助理教授 Kangjie Lu(本科为北京大学)撰写了一篇旨在提高 OSS 中修补过程安全性的论文,题为“On the Feasibility of Stealthily Introducing Vulnerabilities in Open-Source Software via Hypocrite Commits”。
据悉,Qiushi Wu 在 2018 年获得了中国科学技术大学信息科学与工程系的学士学位,研究方向是程序分析技术在 Linux 内核等操作系统上的应用。Qiushi Wu 在今年 2 月份将上述论文上传到 GitHub 上(目前已经删除),并计划在 5 月份举行的第 42 届 IEEE 安全与隐私研讨会上针对该论文进行讨论。
该论文探索了在开源项目的补丁程序中藏匿安全漏洞的可能性,希望指导维护团队更科学地衡量此类补丁、正确做出合并判断。
在研究中,研究团队用实验来演示引入漏洞补丁的实用性,该行为被认为会在操作系统软件中引入错误条件。而且在论文中,他们公开了将漏洞插入 Linux 内核及其他开源项目的可行方法,并表示向各类开源项目的漏洞植入成功率已经接近 60%。这些在当时就引发了很大的安全争议。
对此,Qiushi Wu 在去年 12 月 15 日的时候解释称:“我们没有也不打算在 Linux 内核中引入任何错误或漏洞。所有引入错误的补丁只在电子邮件交流中保留,并没有被采用或合并到任何 Linux 分支中,这是由维护者明确确认的。因此,在任何 Linux 分支中,邮件中引入错误的补丁甚至都没有变成 Git 提交。没有 Linux 用户会受到影响。”
同时,Qiushi Wu 也表示,该实验已通过了 UMN 的机构审查委员会(IRB)审查,该委员会确定该项目不涉及人类研究,因此没有再进行伦理审查。
但最近,明尼苏达大学的研究人员又提交了新一轮的补丁,这些补丁声称来自“一个新的静态分析器”,这引起了 Greg 的反感,并将整个明尼苏达大学拉入黑名单。
“我一直想这么做,但最近的事件终于迫使我这么做了。”Greg 表示。对此,明尼苏达大学计算机科学与工程专业博士生 Aditya Pakki 表示很气愤,并向 Greg 发邮件表示:
Greg,我请你停止这些诽谤性的野蛮指控。
这些补丁是作为我编写的新静态分析器的一部分发送的,显然它的灵敏度不高。我提交了补丁,希望能得到反馈。我们不是 Linux 内核方面的专家,但(你)反复发表这些声明令人讨厌。
这显然是一个错误的步骤,但是你先入为主的偏见如此强烈,以至于你提出的指控毫无根据,也没有带来任何正向、有益的反馈。由于这些行为不受欢迎而且还会吓到新手和非专家,因此我不再提交补丁。
而 Greg 也在回复的电子邮件中强调,错在明尼苏达大学,社区不是其测试对象:
你和你的团队已经公开承认发送了已知的错误补丁,以查看内核社区对它们的反应,并基于此发表了一篇论文。
现在你又提交了一系列明显错误的补丁,我该怎么看待这件事情呢?
这些补丁显然不是由任何一个有智能的静态分析工具创建的,因为它们都是完全不同模式的结果,而且所有这些补丁显然都没有修复任何东西。那么,除了你和你的团队继续通过提交这种毫无意义的补丁来对内核社区的开发者进行试验之外,我还能想到什么?
任何对 C 语言有一定了解的人,用点时间都可以看出来你们提交的补丁根本没有任何作用,所有人为一个工具创造了这些补丁,然后你认为它们是有效的“修复”,这完全是你们的疏忽,不是我们的。错在你们,我们的工作不是成为你创造的工具的测试对象。
我们社区不喜欢被试验,也不喜欢通过提交已知的补丁被“测试”,这些补丁要么是故意不做什么,要么是故意引入 bug。如果你想做这样的研究,我建议你找其他社区,你在这里是不受欢迎的。
因此,我现在不得不禁止你的大学今后提交的所有贡献,并剔除掉你以前的贡献,因为它们显然是以恶意的方式提交的,目的是给社区造成困扰。
在此之后,UMN 计算机科学官方也通过 Twitter 发布了以下声明,表示该研究项目已被暂停,并计划调查该项目的批准程序,以确定是否需要采取补救措施和可能的保障措施。
今天,明尼苏达大学计算机科学与工程学系的领导了解到,一位教职员工和研究生正在研究 Linux 内核的安全性详细信息。由于所使用的研究方法引起了 Linux 内核社区的强烈关注,导致本大学被禁止为 Linux Kernel 做出任何贡献。
我们对此非常重视,并立即中止了这一研究。我们将对该研究的方法和批准流程做相应的调查,确定适当的补救措施,并在需要时采取措施防止未来可能发生的问题。我们会尽快将调查结果报告给社区。
Mats Heimdahl,部门主管
Loren Terveen,部门副主管
2. 浪费社区时间,还是有价值的研究?
Linux 内核是迄今为止规模最大的软件开发项目之一,目前其代码总量已经达到 2800 余万。Linux 内核维护团队每天都要接受来自世界各地、不同领域的贡献者们提交的大量补丁,并在将成果正式合并前对内容进行审核。明尼苏达大学研究团队的行为无疑遭到了 Linux 贡献者和维护人员的强烈谴责。
在 Linux 内核方面拥有丰富经验的开发人员 Leon Romanovsky,发现后立即表示要求明尼苏达大学停止提交已知无效的补丁,“这是在浪费我们的时间。”甚至有网友表示,这篇论文故意误导,试图夸大其贡献,“学术界的很多人只是为了拿到证书而已。”
位于美国波士顿的东北大学计算机科学副教授 Abhi Shelat 表示,“学术研究不应该浪费社区的时间。如果你觉得这项研究值得做,应该联系 UMN 的机构审查委员会。”Shelat 同时敦促 Linux 社区成员向明尼苏达大学的 IRB 提出质疑,以确定该实验是否得到了充分的审查。
针对这点,Qiushi Wu 在之前的解释中也表示,这项工作确实了浪费了维护人员的时间,虽然仔细考虑过这个问题,但没有找到更好的解决方案,但团队将通过精简补丁等方式在努力避免该问题。
不过,也有 Linux 内核社区之外的开发人员认为,大家应该关注的是 Linux 内核代码的安全性问题,而非研究人员的“滑稽”行为。
如果 UNM 没有引起任何注意,它们是否会被发现?其他恶意行为者是否有做过这样的事情而没有被抓住?
“这似乎表明,任何黑客组织或个人可以将自己的攻击行为置于内核中。假设他们贡献了 99.9%的有用代码,解决了实际问题,在几年内建立了信任,并且很少编写难以察觉的恶意漏洞。然后,每个人都认为那些漏洞只是普通的错误。”
Google 密码学和软件工程师 Filipo Valsorda 在推特上表示,就像 Linux 内核维护者说他们无法确定补丁是否是恶意一样,因此必须依靠电子邮件地址域名。比起谴责学者,是否基于确定的代码正确性做出令人信服的决定,才是更值得关注的问题。
卢塔安全公司(Luta Security)首席执行官 Katie Moussouris 也表达了类似的看法,称这是“情绪上的过度反应”,并认为这些发现从国家安全角度来看是有价值的。
经过激烈的争论之后,Greg 现在表示,将还原该团队提交的所有补丁,并再次进行审查来确定其是否有效。在此之前,该团队的补丁仍会被删除,以确保代码库中没有引入任何问题。
这个补丁集有的可以“简单”恢复,有 68 个需要手动检查恢复,其中一些还不能被还原。在确定这些更改有效后,明尼苏达大学研究团队可以重新提交。
但最后,Greg 还是表示,“即使你可以提供证据证明它们是有效的,但为什么我们却是在浪费时间做额外的工作?”
延伸阅读:
https://fosspost.org/researchers-secretly-tried-to-add-vulnerabilities-to-linux-kernel/
https://www.theregister.com/2021/04/21/minnesota_linux_flaws/
var class = document.getElementsByClassName('news_detail');
var images = class.getElementsByTagName('img');
for(var i=0;i
故意向Linux内核提交漏洞?这位华人教授引众怒了为中国U网原创文章,在不经过允许的情况下,禁止用于商业用途或随意转载,转载请注明出处,并加上本页链接地址:
http://www.cuwww.com/news/detail-765.html
- 把Python程序编译成Windows可执行文件exe的工具pyinstaller
- 解决:Could not resolve host: mirrorlist.centos.org; Unknown error解决方法
- 宝塔安装PHP的Swoole扩展的时候,CentOS 7提示No package 'libbrotlienc' found的解决方法
- ModuleNotFoundError: No module named 'PIL'解决方法
- 在Linux服务器上手动生成自签名证书
- Python数据类型中比较有趣的事情
- CentOS Linux下更换为阿里云的源repo
- Linux上安装宝塔BT面板企业版破解版(开心版9.0.0/9.1.0/9.2.0)
- Linux上如何卸载宝塔(BT)面板?
- 宝塔(BT)忘记BasicAuth身份验证密码怎么办?
- Windows11家庭版 出现身份验证错误。要求的函数不受支持,这可能是由于 CredSSP 加密数据库修正 错误解决办法
- 宝塔(BT)面板打不开,但网站可以打开的解决办法