写点什么

华为被指 Linux 内核补丁有漏洞,官方否认参与该项目,称系员工个人项目

  • 2020-05-14
  • 本文字数:3721 字

    阅读完需:约 12 分钟

华为被指Linux内核补丁有漏洞,官方否认参与该项目,称系员工个人项目

华为否认参与为 Linux 内核提供带有漏洞的不安全补丁。

华为 HKSP 被指存在漏洞

5 月 10 日,华为在内核加固邮件列表上提交了一个针对 Linux 内核防御的方案—华为自我保护即HKSP( huawei kernel self protection)。


HKSP 是一种内核保护工具,据了解,该补丁为 Linux 内核引入了一系列安全强化选项,以试图增强广泛部署的开源项目的安全性。


大多数在数据中心及在线服务中使用 Linux 的技术公司通常都会向 Linux 内核提交补丁,比如谷歌、微软、亚马逊等大型的科技公司都为其贡献了代码。


这可能表明华为希望为 Linux 内核项目做出贡献,因此该举动也格外引人关注。


近日,HKSP 项目受到了一些质疑。PaX/GR security 团队发现 HKSP 补丁程序在内核代码中引入了一个“可轻易利用”的漏洞,并对此写了一篇分析文章发表出来。PaX/GR security 是一家长期为 Linux 内核提供安全加固补丁的团队。


在文章中,PaX/GR security 指出,该补丁本身充满漏洞,且通常缺乏任何威胁模型分析(这就使得补丁的缓解措施与在 LKRG 中的缓解措施类似,而已知的缓解措施可以绕过该漏洞)。


目前尚不清楚发布的补丁集是否是华为的正式版本,也不清楚这些代码是否已在华为的任何设备上发布。“但有信息显示,其与华为有关系。因为该补丁集在名称上使用了‘华为’,其Github帐户也将华为列为该帐户的组织”,PaX/GR security 称。


文章中,PaX/GR security 用了较大篇幅来说明“由于完全缺乏防御性程序,HKSP 修补程序集是如何引入了可轻易利用的漏洞的”。


在这个补丁中,创建了一个/proc/ksguard/state 条目。每次打开或关闭该条目时,都将提示代码检查级别,引用了不存在的文件名的下列行被输出到 dmesg:


open /proc/ksg_state_proc ok.close /proc/ksg_state_proc ok.
复制代码


如在下面的补丁中看到的,该条目是使用全局 RWX 权限创建的。“这是粗心大意的表现,因为这不支持任何有意义的读取操作,并且在这样的条目上执行是没有意义的”,PaX/GR security 称。


state_proc = proc_create("state", 0777, ksg_proc, &ksg_state_ops);
复制代码


这个条目的 ksg_state_write 处理程序是这样的:



PaX/GR security 认为这个函数存在很多问题:


首先,这里有一个会返回适当 errno(通常是-EFAULT)的 return-1。也有一个用于赋值的 n 变量,但实际上却没什么用,根本没有检查 len 的值,这导致的第一个问题是 limited oracle。


通过将 0 字节写入 entry,未初始化的 tmp 数组将尝试从中解析出一个数字,然后对其进行操作。同样地,向 entry 写入完整的 32 字节并没有使用以空字符结尾的字符串将导致 simple_strtoul 访问越界,可能要在相邻内存上的部分 oracle 上进行操作。


最重要的是,由于缺少对 len 的检查,并且 tmp 是一个简单的 32 字节堆栈数组,这就引入了一个可以被任何非特权用户执行的内核堆栈缓冲区溢出。


“有效的安全防御需要明确的、能解决实际问题的威胁模型分析。内核中的补丁应该是具有防御性的,并考虑到减少维护负担”,PaX/GR security 认为 HKSP 补丁是一种风险,它会产生新的攻击面,并引入比最初尝试解决的问题更多的问题。

华为回应:HKSP 仅是个人开源项目,不代表公司

PaX/GR security 的质疑文章出来后,引起了很多人的关注和讨论,对于华为此举,有不少指责的声音流出,甚至不乏谣言和阴谋论。


有外媒观点认为,华为或其员工正在偷偷将“后门”引入 Linux 内核,如果该补丁获得批准,那么,该内核将可能在下一个 Linux 更新中实现,这将削弱 Linux 内核的安全性。据悉,该漏洞需要 Linux 基金会为 Linux 内核项目批准了 HKSP 之后才会起作用。


对于争议,5 月 11 日,华为产品安全应急响应中心发表了一份声明。


公告中,华为表示经过调查后发现,该补丁只是个人用于与开源社区 Openwall 进行技术讨论的演示代码,华为并未参与 HKSP 项目。


华为表示,该补丁代码未在华为产品中使用,也未正式发布。



当天,HKSP 的作者在一份免责自述中也回应了 PaX/GR security 的质疑。


HKSP 作者表示,这个项目是他业余时间展开的研究工作,属于个人开源项目,与华为公司无关,也没有华为产品使用这些代码。


“该补丁代码由我提出,因为一个人没有足够的精力去覆盖所有的工作,因此缺乏像审查和测试这样的质量保证”。他解释称,“这个补丁只是一个演示代码,谢谢您发现的问题,我正在尝试修复相关代码”。


他对 PaX/GR security 提出的 ksguard 的问题做出了解释 — “ksg_guard 是一个用来检测内核级 rootkit 的 poc 示例,用户与内核的通信是抛出/proc 接口,我的初衷是为了快速验证这个想法,因此我没有添加足够的安全检查”。


最后,HKSP 作者对补丁进行了修改。他删除了 ksg_guard 代码,并准备用 netlink 接口重新编写,他还删除了隐藏符号模块。


他删除了“华为”字符串,“解除”了和华为的关联。他表示这是个人项目,而非华为官方支持的项目。


PaX/GR security 称,华为联系了他们,并告知其调查结果。华为希望通过更新文章来纠正一些不准确的信息。


PaX/GR security 发现,该项目的 Github 代码库在 11 日早上增加了一个提交项,在 README 文件的顶部插入了一个通知,使补丁代码与华为保持距离。


PaX/GR security 觉得,这个提交项似乎在有意或无意的追溯到创建存储库时,这会给人一种印象是,PaX/GR security 以某种方式故意忽略了容易获得的相关信息。因此,PaX/GR security 坚持其报告及主张。

作者可能系华为 20 级安全员

PaX/GR security 团队称,这个补丁的作者是华为的一名员工,尽管在这篇文章发表后,华为试图与 HKSP 补丁代码保持距离,但它仍然保留了“华为”的名字。


“根据我们的消息来源,该员工是华为 20 级的高级安全人员,这是华为内部的最高技术级别,如果没有上级组织的指示,这么高级别的人员就不可能发布代码。”


另有一份疑似是 HKSP 作者的自述文章显示,作者自称他是华为的员工,这个项目已经辛苦研发了很久。他称因为漏洞事件给公司造成了一定负面影响,他担忧会因此离职。但该自述文章的真实性有待证明。



在 5 月 12 日晚,PaX/GRsecurity 发现,该项目作者已经把 HKSP 的名称修改为了AKSP(+Another kernel self protection,另一个内核自我保护)。


去年,华为曾被指代码存在 BUG

2019 年 3 月,英国一家政府监督机构在一份报告中指出,华为的产品代码不存在所谓的“后门”,但存在严重问题的缺陷(BUG),这些缺陷造成了一定的安全风险。该报告最后得出结论,华为产品代码中的缺陷与“基本工程能力和网络安全环境”有关,任何人都可以利用这些缺陷。


当时,该报告也在业界也引发了不少讨论。对此,华为坚定表示,它在努力加强其工程工作流程中的安全保护,以及支持行业和国际监管机构之间的合作,以确保全球电信网络的强大安全。


一个不容忽视的报告出炉背景是,因担忧华为的设备可能被用于监控等用途,特朗普政府在协同努力在世界各地禁止华为的产品(尤其是 5G 无线网络)。


这一次,鉴于华为目前所面临的复杂政治环境,由 PaX/GRsecurity 指控而触发的一些流言也在传播。有网友就翻出了去年英国审查华为网络软件后发现漏洞的旧事,并称,在某种程度上,华为延续这种“错误”应该被认为是恶意的。


当然,也有不少人是理性和客观的,他们对此持反对意见。外媒 TechNadu 评论称,这种所谓的“阴谋论”令人怀疑。它列出了 3 点反驳意见:首先,华为以这种方式对 Linux 内核项目进行的测试是公开进行的,如果他们认为 Linus Torvalds 及其团队会不加以审核,就简单地接受华为“扔”给他们的任何东西,那就太天真了。其次,如果华为试图在 Linus 内核中隐藏一个“后门”,他们会不会试图让它不那么明显? 第三,他们为何不安排一个非在职员工做这件事?


去年 6 月,华为创始人任正非曾在接受外媒采访时回应了外界对于“华为是否有后门”的质疑,他表示,信息安全方面,华为提供的是管道和水龙头。如果把终端比作水龙头,管道里面流水还是流油,这不是华为决定的。“我们绝对是没有后门的。我们愿意给全世界国家提供没有后门的协定。”


因此,当评判 HKSP 这个项目时,还是要更加客观的回归到事实本身去看问题。PaX/GRsecurity 团队的创始人之一 Brad Spengler 反复强调称,他在乎的是事实本身,“如果你犯了错误应该及时承认并且快速修复”。


Brad Spengler 表示,并不是针对华为,因为他曾阅读过英国政府发布的华为代码分析报告,他觉得该报告从技术层面上非常不专业,当时也写了一篇分析文章。他强调,自己很欣赏包括华为在内的所有为自由开源社区贡献的个人和公司。


人称 TK 教主的 @tombkeeper 在自己的微博也对该事件发表了自己的评论,以他对 PaX/GRsecurity 的了解,他认为,这次 HKSP 事件中,PaX/GRsecurity 的做法不一定是针对华为,可能就是简单的敌视胆敢涉足漏洞缓解技术领域的人。


( TK 教主完整版评论:


https://www.weibo.com/1401527553/J1zIzqcwr?from=page_1005051401527553_profile&wvr=6&mod=weibotime&type=comment)


参考链接:


https://grsecurity.net/huawei_hksp_introduces_trivially_exploitable_vulnerability


https://www.zdnet.com/article/huawei-denies-involvement-in-buggy-linux-kernel-patch-proposal/


https://www.technadu.com/huawei-says-controversial-linux-kernel-patch-wasnt-their-idea/101721/


2020-05-14 13:559354
用户头像
刘燕 InfoQ高级技术编辑

发布了 1112 篇内容, 共 545.0 次阅读, 收获喜欢 1978 次。

关注

评论 3 条评论

发布
用户头像
20级代码这么烂?
2021-04-23 09:55
回复
用户头像
名誉公司求,黑锅员工背。
2020-05-15 13:57
回复
用户头像
还好没说是临时工干的
2020-05-14 14:28
回复
没有更多了
发现更多内容

程序员必备的7大神器,效率飞起!

秃头小帅oi

AIGC技术的力量:探索其原理与应用的无限可能

EquatorCoco

人工智能 AIGC

美国站群服务器租用攻略:选择稳定高效的多站点管理服务

一只扑棱蛾子

站群服务器

IT外包能在企业上云时提供什么帮助?

Ogcloud

IT IT外包 IT外包公司 IT外包服务 IT外包服务商

依赖Windows环境的CAD/CAE/CAM等软件如何在信创环境下过渡使用?

点量实时云渲染

信创 云桌面 云渲染 实时云渲染 国产信创

京东按关键字搜索商品API(jd.item_search)返回值全面解析

技术冰糖葫芦

API 编排 API 文档 API 策略 pinduoduo API

分布式数据库有哪几种

悦数图数据库

图数据库

在 Postman 中设置和使用 Mock Server

Liam

程序员 前端 Postman Mock MockServer

大模型和传统ai的区别

悦数图数据库

低代码与云原生的技术解析:赋能企业数字化转型

不在线第一只蜗牛

云原生 低代码

「活动预告」PolarDB走进青岛,邀请您一起畅游琴岛山海春韵,共话数据生态创新

阿里云数据库开源

数据库 阿里云 开源 Polar polarDB

ExpressScribe PRO for Mac(易于使用的专业转录软件)v13.11注册激活版

iMac小白

Express Scribe下载 Express Scribe注册版 Express Scribe激活版

SecureFX for Mac - 远程文件管理的首选工具

iMac小白

SecureFX下载 SecureFX破解版

智能商品计划系统:引领未来零售业的革新之路

第七在线

@Async异步失效的9种场景

不在线第一只蜗牛

Java JVM 异步 开发语言

XSKY SDS 6.4 重磅更新:NFS 性能飙升 3 倍,对象多站点等 10 多项功能强势升级

XSKY星辰天合

对象存储 软件定义存储 XSKY 星辰天合

RAR Extractor Max for Mac - 轻松解压,高效管理

iMac小白

【论文速读】|针对模糊驱动生成的提示性模糊测试

云起无垠

ETL工具中JSON格式的转换方式

RestCloud

json 数据处理 ETL

活动预告 | 5月16日 Streaming Lakehouse Meetup · Online 与你相约!

Apache Flink

大数据 flink

程序员必备的8款工具软件,第5款简直绝了!

高端章鱼哥

Analyzing Efficiency:QCN6224 vsQCN6274 WiFi7 chipset

wallyslilly

HTTPS 是如何进行安全传输的 ?

EquatorCoco

https 哈希算法 密钥

对C语言符号的一些冷门知识运用的剖析和总结

快乐非自愿限量之名

C# C语言

SD-WAN实现全球应用加速

Ogcloud

SD-WAN 企业网络 SD-WAN组网 SD-WAN服务商 SDWAN

浅析MySQL代价模型:告别盲目使用EXPLAIN,提前预知索引优化策略

京东零售技术

后端 MySQL、

数据可视化与低代码开发应用:开启智能时代新篇章

快乐非自愿限量之名

低代码 数据可视化

Cheetah3D for mac(3D渲染建模软件)v8.1激活版

iMac小白

Cheetah3D注册机 Cheetah3D 8新功能 Cheetah3D8下载 Cheetah3D破解版

一键自动化博客发布工具,用过的人都说好(阿里云篇)

程序那些事

工具 程序那些事 自动发布

Kafka 业务日志采集最佳实践

观测云

kafka 日志分析

华为云开发者桌面全新发布CodeArts IDE for Python,极致优雅云原生开发体验

华为云PaaS服务小智

ide 软件开发 华为云

华为被指Linux内核补丁有漏洞,官方否认参与该项目,称系员工个人项目_AI&大模型_刘燕_InfoQ精选文章