为了写论文给 Linux “投毒”, Linux 内核维护者封杀明尼苏达大学「建议收藏」

为了写论文给 Linux “投毒”, Linux 内核维护者封杀明尼苏达大学「建议收藏」Linux内核稳定分支的维护者GregKroah-Hartman决定禁止美国明尼苏达大学向主线Linux内核提交补丁,因为他们故意提交有安全影响的可疑代码,他们以“如果向开源计划提交代码的方式注入漏洞,开源社区将如何处理”进行了专门研究,并且还发布了一篇论文:《OntheFeasibilityofStealthilyIntroducingVulnerabilitiesinOpen-SourceSoftwareviaHypocriteCommits》论文地址:https://

大家好,又见面了,我是你们的朋友全栈君。

整理 | 郑丽媛
出品 | CSDN(ID:CSDNnews)

写过论文的人都知道,论文内容必须要有可靠的事实依据,或通过查阅书籍,或通过反复试验,总之不可能凭空捏造。

那么大家看看下面这篇论文的标题:《论通过假意提交代码在开源软件中偷偷引入漏洞的可行性》。(论文地址:https://github.com/QiushiWu/QiushiWu.github.io/blob/main/papers/OpenSourceInsecurity.pdf)
在这里插入图片描述
如果想完成这篇论文,论文作者该怎么做?真的往开源软件中偷偷加漏洞?

从论文内容看来,来自明尼苏达大学的 Kangjie Lu 和 Qiushi Wu 确实完成了这项实验:论文描述了作者是如何通过提交所谓的“颠覆性代码贡献”,把恶意代码或者不安全的补丁通过隐蔽的方式引入 Linux 内核。

Kangjie Lu 和 Qiushi Wu 得到了他们想要的结果,这篇论文被 2021 年 IEEE 安全与隐私研讨会接受,并将在 5 月份展示这项研究。

他们原本想通过这项实验,研究“如果向开源软件以提交代码的方式注入漏洞,开源社区将如何处理”,而 Linux 内核维护者之一的 Greg Kroah-Hartman 在发现这项研究后,给了他们处理结果:禁止明尼苏达大学(UMN)继续参与 Linux 内核开发,并将之前所有由 @umn.edu 邮箱提交的代码全部重置(revert)。

前因后果

其实严谨来说,这次让明尼苏达大学被 Linux 封杀的导火索是 Kangjie Lu 导师所在的研究小组中的一名博士生 Aditya Pakki。

在 Kangjie Lu 和 Qiushi Wu 完成论文后,Aditya Pakki 在 4 月 6 号又向 Linux 提交了新一批带有漏洞的补丁。

乍看之下,这个补丁似乎没什么问题。


Signed-off-by: Aditya Pakki <pakki001@umn.edu>
---
 net/rds/message.c | 1 +
 net/rds/send.c    | 2 +-
 2 files changed, 2 insertions(+), 1 deletion(-)

diff --git a/net/rds/message.c b/net/rds/message.c
index 071a261fdaab..90ebcfe5fe3b 100644
--- a/net/rds/message.c
+++ b/net/rds/message.c
@@ -180,6 +180,7 @@ void rds_message_put(struct rds_message *rm)
     rds_message_purge(rm);

     kfree(rm);
+    rm = NULL;
   }
 }
 EXPORT_SYMBOL_GPL(rds_message_put);
diff --git a/net/rds/send.c b/net/rds/send.c
index 985d0b7713ac..fe5264b9d4b3 100644
--- a/net/rds/send.c
+++ b/net/rds/send.c
@@ -665,7 +665,7 @@ static void rds_send_remove_from_sock(struct list_head *messages, int status)
 unlock_and_drop:
     spin_unlock_irqrestore(&rm->m_rs_lock, flags);
     rds_message_put(rm);
-    if (was_on_sock)
+    if (was_on_sock && rm)
       rds_message_put(rm);
   }

但 4 月 19 日 Linux 资深内核贡献者 Al Viro 指控 Aditya Pakki 提交了一个“没有修复任何东西的补丁”。

对此,怀疑 Aditya Pakki 的“无用补丁”很可能又是论文研究一部分的 Greg Kroah-Hartman,面对 Aditya Pakki 提交的另一个补丁:


}
-  gss_release_msg(gss_msg);
+  if (gss_msg)
+    gss_release_msg(gss_msg);
 }

他忍不住回复道:

如果你看过代码你就知道这有多离谱了。 请停止提交明知是无效的补丁,你的教授还在为了发论文在审查过程中捣鬼。
这样不行,这是在浪费我们的时间,我们将必须再次向你们的大学报告此事……

在这里插入图片描述
Linux 内核开发者 Leon Romanovsky 对此解释道:“它们(Aditya Pakki 提交的补丁)故意引入内核漏洞。昨天,我查看了来自 Aditya 的 4 个补丁,其中 3 个添加了各种严重的安全漏洞。”

Greg Kroah-Hartman 在推特上也控诉道:“Linux 内核开发人员不喜欢被试验,我们还有许多实际工作要做。”
在这里插入图片描述
本以为经过 Greg Kroah-Hartman 的“提点”后,Aditya Pakki 或许会意识到问题的严重性从而改过,可他不仅没有意识到这个问题,还“怼”了回去:

Greg,我恭敬地请求你停止那种近乎诽谤的疯狂指控。

这些补丁是我的一个新静态分析器生成的,显然它的灵敏度不是很好。我发送这些补丁是希望得到反馈。我们不是 Linux 内核的专家,你反复说出这些话很令人厌恶。

很明显,这是错误的一步,但你太过先入为主,以至于让你做出毫无根据的指控。

我将不再发送任何补丁,因为你这不仅是不欢迎的态度,而且也恐吓到了新手和非专业人士。

收到这番回复的 Greg Kroah-Hartman 这时才真正的“翻脸”了。

他向 Aditya Pakki 回复了很长的邮件:

“你和你的团队已经公开承认发送了已知的错误补丁,以查看内核社区对它们的反应,并发表了一篇基于此的论文。

现在你又提交了一系列明显错误的补丁,我该怎么看待这种事情呢?

它们显然不是由具有任何智能的静态分析工具创造的,因为它们是完全不同模式的结果,而且所有这些模式显然都没有修复任何东西。那么,除了你和你的团队正在继续通过发送这些毫无意义的补丁来测试内核社区开发人员之外,我还能想到什么呢?

当提交由工具创建的补丁时,每个人都会以“发现由工具 XXX 生成的补丁,我们不确定这是否正确,请给出建议。”这样的备注来提交。可你没有,你是在声称这些是合法的修复,而你明知这是错的。

只要花几分钟和那些对 C 语言有一定了解的人交流,你就会发现你提交的东西没有任何用处。你是有错,因为我们的工作不是做你创造的工具的测试对象。

我们的社区欢迎那些希望帮助和增强 Linux 的开发者。明显这不是你在这里想要做的。

我们的社区并不欢迎通过提交已知的错误补丁来进行实验,这些补丁要么根本没用,要么故意引入 Bug。如果你想做这样的工作,我建议你找一个不同的社区来做你的实验,我们这里不欢迎。

因此,我现在必须禁止你们大学今后的所有 Commits,并删除你们之前的Commits,因为很明显你们的 Commits 是恶意代码,是为了制造内核问题。”
在这里插入图片描述
自此,事情真正地闹大了,整个明尼苏达大学都被 Linux “拉黑”。

目前,明尼苏达大学对此进行了回应:“我们对这种情况极为重视,并已经立即暂停了这项研究。我们将调查该研究方法和批准该研究方法的过程,确定适当的补救措施,并在需要时预防未来的问题。我们将尽快向社会报告我们的调查结果。”
在这里插入图片描述

被 IRB 通过的论文?

这件事看下来,如果说 Aditya Pakki 提交的错误补丁是导火索,那么 Kangjie Lu 和 Qiushi Wu 的论文就是之前埋下的炸弹。

正如 Greg Kroah-Hartman 在最后一封回复信开头提到的那样,由于之前为了完成论文 Kangjie Lu 和 Qiushi Wu 已经对 Linux 内核提交过错误补丁,因此 Aditya Pakki 这次雷同的举止导致 Greg Kroah-Hartman 不得不多想。

而起初 Greg Kroah-Hartman 所提到的“Aditya Pakki 导师为发论文在审查过程中捣鬼”所指的也是这篇论文。

本来呢,在操作系统中找 Bug 的论文是不需要经过 IRB 审查(内部评级法,学术界传统上涉及到道德的问题,都以 IRB 的审查为准)的,但这篇论文的研究对象是开源软件的维护者,是通过观察他们的行为来得出结论,不能说与伦理毫无关系。

可是据 Kangjie Lu 和 Qiushi Wu 主张,他们的这篇论文是经过了学校的 IRB 审查,而明尼苏达的 IRB 给出的结果是:不属于人类研究(human research),因此不进行伦理审查。

这个结果令 Greg Kroah-Hartman 很不满,也就是他所说的“捣鬼”。

或许是错误把这篇论文判定为非人类研究,证实明尼苏达的 IRB 缺乏审查计算机研究的经验;也或许是他们故意反复向 Linux 内核提交漏洞,总之,Greg Kroah-Hartman 选择暂时不再信任这所大学了。

各方看法

Linux 拉黑一所大学的决定在开发者圈子引起了巨大的反响,许多人都发表了对于这件事的看法。

除了大多数 Linux 内核开发人员和程序员都赞同 Greg Kroah-Hartman 的做法,美国东北大学(Northeastern University)计算机科学副教授 Abhi Shelat 也表示:“学术研究不应浪费社区的时间。”他还敦促 Linux 社区成员向明尼苏达大学的 IRB 提出质疑,以确定该实验是否已得到适当的审查。

但谷歌软件工程师 Filipo Valsorda 却表示了不同的看法:“这可能是不受欢迎的观点,但我觉得“只有在验证实物有效之后才合并”应该是世界上最常用的软件的默认策略。”
在这里插入图片描述
Luta Security 的首席执行官 Katie Moussouris 也认同这个看法,并表示 Greg Kroah-Hartman 的“拉黑”行为是“情绪上的过度反应”,而那篇论文从国家安全的角度来看,调查结果是很有价值的。

在这里插入图片描述
这件事无论对明尼苏达大学还是对接受这篇论文的 IEEE 安全与隐私研讨会都带来了负面的影响,也在国内外引起热议。

那么对此,你有什么看法吗?请在评论区留言。

参考链接:

  • https://lore.kernel.org/linux-nfs/YH%2FfM%2FTsbmcZzwnX@kroah.com/

  • https://www.zdnet.com/article/greg-kroah-hartman-bans-university-of-minnesota-from-linux-development-for-deliberately-buggy-patches/

  • https://cse.umn.edu/cs/statement-cse-linux-kernel-research-april-21-2021

60+专家,13个技术领域,CSDN 《IT 人才成长路线图》重磅来袭!

直接扫码或微信搜索「CSDN」公众号,后台回复关键词「路线图」,即可获取完整路线图!
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/163602.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • HashMap和HashTable的理解与区别

      Hashtable是java一开始发布时就提供的键值映射的数据结构,而HashMap产生于JDK1.2。虽然Hashtable比HashMap出现的早一些,但是现在Hashtable基本上已经被弃用了。而HashMap已经成为应用最为广泛的一种数据类型了。造成这样的原因一方面是因为Hashtable是线程安全的,效率比较低。也可能是Hashtable开始设计的时候没有遵循驼峰命名法(手动笑哭…

  • 光纤交换机zone配置

    光纤交换机zone配置一、CentOS下查看PortName1、命令cat/sys/class/fc_host/host[N]/port_state,显示online则证明链路状态正常2、命令cat/sys/class/fc_host/host[N]/port_name,获取客户端HBA卡PortName二、AIX下查看WWNName1、查看系统中有效的光纤卡$lsdev-Ccadapter-Sa|grepfcs3、查看光纤卡WWNName$ls…

  • kafuka资料学习

    kafuka资料学习http://blog.csdn.net/hmsiwtv/article/details/46960053

  • getmethod方法_method的值有哪些

    getmethod方法_method的值有哪些MethodgetMethod(Stringname,Class>…parameterTypes)–返回一个Method对象,它反映此Class对象所表示的类或接口的指定公共成员方法。方法后面接收的就是Class类的对象,而如:String.class、int.class这些字节码才是Class类的对象也可以此种方式://getMethod第一个参数是方法名,第二个参数…

  • python屏幕文字识别_python 图片文字识别 可截图识别

    python屏幕文字识别_python 图片文字识别 可截图识别[Python]纯文本查看复制代码importosfromaipimportAipOcrimportkeyboardfromPILimportImageGrabfromtimeimportsleepdefget_reuslt(img_name):a=input(‘是否添加可信度?(建议字多不加)(y/n):’)ifa==’y’:APP_ID=’xxxxxx…

  • css图片居中的几种方法_html上下居中代码

    css图片居中的几种方法_html上下居中代码在进行网页布局的时候,有时候图片的位置可能会影响整个页面的美观程度,所以对于图片的放置位置就得变化,那么,接下来的这篇文章将给大家来介绍关于图片在网页中如何使用css实现居中的方法,对于有需要的朋友来说可以做个参考。css图片居中分css图片水平居中和垂直居中两种情况,那么下面我们就来分别看一看这些图片居中的实现方法。一、首先,我们来看看css图片水平居中的方法1、利用margin:0auto实现图片水平居中<divstyle=”text-align:center;width:50

    2022年10月28日

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号