近日,明尼苏达大学卢康杰教授的研究团队对Linux内核安全补丁审核流程进行“义务渗透测试”,结果该校被Linux社区“永久封禁”,在安全业界掀起轩然大波,由于该事件涉及华人学者和安全研究伦理,引来不少专业性不强但误导性和煽动性很强的科普自媒体热炒,例如此类流量标题:“华人学者往Linux内核提交bug,社区把整个明尼苏达大学拉黑了”。
1. “夫妻档”把守万亿美元开源经济安全
安全牛认为,明尼苏达大学在“用补丁bug帮Linux挖掘流程bug”事件中扮演的角色,无非就是皇帝的新装中的那个“不懂事”的小孩。作为曾提交过近200个Linux内核有效补丁的Linux内核代码安全顶级专家,卢康杰教授为何“突发奇想”,决定跳出代码范畴测试一下流程bug?
事实上,作为万亿美元开源经济基石的Linux,其“安全债务”远比明尼苏达大学暴露出的补丁审核流程缺陷要严重和可怕得多。
根据安全牛此前的报道,直到今年2月份获得Google资助,偌大一个Linux社区才首次拥有了两位全职网络安全人员(一对夫妻)。换而言之,Linux社区此前压根没有专职安全人员,所有的安全工作都是开发人员兼职。
Linux社区斥责明尼苏达大学的安全研究团队浪费了Linux安全人员的时间,那么我们来看看Linux的“夫妻档”和“兼职人员”的时间为什么会这么金贵。
根据Linux开源安全基金会(OpenSSF)与哈佛大学创新科学实验室(LISH)今年一季度合作发布的报告,Linux的开发维护人员约有2万人,其中很多人口头上对安全有些兴趣,但实际投入(时间)极少。而宣布拉黑明尼苏达大学的Linux内核维护者Greg Kroah-Hartman之所以暴跳如雷,是因为“Linux高级内核开发人员每天要审核几百个代码提交,忙得要命”。显然,对于高级攻击者而言,这种抱怨本身就是一个大bug。
调查显示,尽管三分之二的Linux开发维护人员都意识到补丁修复程序是Linux安全的头号威胁,但是,只有2.3%的受访开发人员表示愿意花时间在与安全有关的活动上。更多的开发人表示,他们希望在持续集成流程中添加与安全性相关的工具(25%)、以及提供安全开发相关免费课程(18%)。
总而言之,毫不夸张地说,在软件供应链和开源安全威胁快速增长的今天,Linux开源社区严重匮乏的安全资源、糟糕的安全实践和安全策略已经成为数字化时代全人类的一颗“核地雷”。
Linux补丁门事件无论结果如何,对开源软件安全研究和Linux开源社区的安全建设都会有着深远影响。
2. 明尼苏达大学与Linux社区重启对话
根据最新消息,明尼苏达大学和Linux社区已经重新展开对话和协商,僵局有望得到化解。
上周末Linux基金会高级副总裁兼项目总经理Mike Dolan给明尼苏达大学写信提出重获信任的要求,这些要求包括Linux社区要求研究人员Qiqi Wu和Aditya Pakki、以及他们的研究生顾问卢康杰为Linux内核补丁的错误道歉并采取具体措施:
如您所知,Linux基金会和Linux基金会的技术顾问委员会已于上周五向您的大学致信,概述了为了使您的小组和您的大学能够重新获得对基金会的信任而需要采取的具体措施。
这些具体措施包括:
尽快向公众提供识别明尼苏达大学实验提交的漏洞代码相关的识别信息。该信息应包括每个目标软件的名称、提交信息、提交者的名称、电子邮件地址、日期时间、主题和代码,以便所有软件开发人员可以快速识别此类代码并可能采取补救措施。
UMN教授兼计算机科学与工程学系系主任Mats Heimdahl回信接受处理结果,他表示学校对Linux基金会的要求表示赞赏,他们期待达成“共同满意的解决方案”,彼此重新接触。邮件原文如下:
目前,我们正在考虑您的要求,并会尽快采取行动,以针对您的要求做出实质性回应。特别是,该安全研究小组正在准备致Linux社区的一封信,我们目前正试图获得同意,以公布该小组有关代码提交的所有信息。一旦我们有机会研究剩余的问题,我们将很高兴有机会与您见面讨论并向前迈进。
Dolan还代表Linux开发人员社区要求卢康杰研究团队撤回IEEE论文:“关于通过Hypocrite Commits项目在开源软件中引入漏洞的可行性论文之所以被要求撤回,是因为研究人员Wu Qiushi和Aditya Pakki及其研究生顾问卢康杰教授在未经许可的情况下对Linux内核维护者进行了试验。因此,应撤回该论文。”
对此,卢康杰教授在公开声明表示已经撤回原定在第42届IEEE安全与隐私研讨会上发表的论文“关于通过伪造补丁秘密引入开源软件漏洞的可行性”。
卢康杰表示撤回的原因有两个:
- 首先,我们在进行研究之前没有与Linux内核社区合作而犯了一个错误。我们现在知道,使其成为我们的研究主题,并在未经其知情或许可的情况下浪费精力来审查这些补丁对社区是不适当的,而且是一种伤害。我们现在意识到,进行此类工作的适当方法是事先与社区负责人进行接触,以便他们了解工作,批准(研究项目的)目标和方法,并在工作完成和完成后能够支持方法和结果再发表。因此,我们撤回该论文,以使我们不会从不当的研究中受益。
- 其次,鉴于我们方法的缺陷,我们不希望本论文成为如何在Linux社区中进行类似研究的模型。相反,我们希望这一事件对我的社区来说是一个学习的时刻,由此产生的讨论和建议可以作为将来进行适当研究的指南。因此,我们撤回该论文是为了防止我们误导的研究方法被视为将来进行研究的模型。对于我们的研究小组对Linux内核社区、IEEE安全与隐私研讨会、我们的部门和大学以及整个社区的声誉所造成的任何伤害,我们深表歉意。
根据Heimdahl和卢康杰的公开信,似乎明尼苏达大学已同意Linux 基金会的主要要求,但仍有许多细节问题需要解决。但至少目前看来,明尼苏达大学、Linux基金会和Linux内核开发人员社区已经“重启和谈”,这意味着将来明尼苏达大学可以(在符合约定或规范的前提下)重新进行类似研究,而Linux内核维护人员也可以不用担心被虚假补丁浪费宝贵的工作时间。
【本文是51CTO专栏作者“安全牛”的原创文章,转载请通过安全牛(微信公众号id:gooann-sectv)获取授权】