HarmonyOS开发者限时福利来啦!最高10w+现金激励等你拿~ 了解详情
写点什么

华为被指 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:559306
用户头像
刘燕 InfoQ高级技术编辑

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

关注

评论 3 条评论

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

第九届“互联网+”大赛产业赛道百度命题正式公布!57道命题,等你揭榜!

飞桨PaddlePaddle

人工智能 百度

大模型加速学科升级,飞桨赋能北邮“X+大模型”特色小学期

飞桨PaddlePaddle

人工智能 百度 paddle 百度飞桨

一篇文章带你上手性能测试框架K6

QE_LAB

自动化测试框架 测试自动化 #性能测试

EMAS热修复Sophix适配App加固的技术方案

移动研发平台EMAS

阿里云EMAS 移动热修复 app热修复 app加固

谁是家居智能化时代“头号玩家”? 小度全屋智能将登陆中国建博会

新消费日报

软件DevOps云化发展的趋势 【课程限时免费】

华为云PaaS服务小智

云计算 DevOps 云原生 华为云 华为开发者大会2023

如何自动化测试你的接口?—— Rest Assured

不在线第一只蜗牛

自动化 自动化测试 API

如何用Java校验SQL语句的合法性?有这5种解决方案

高端章鱼哥

Java sql

技术分享| 融合通讯的架构介绍

anyRTC开发者

音视频 MCU mesh SFU 融合通讯

Spring容器获取Bean的9种方式 | 京东云技术团队

京东科技开发者

spring Spring Boot bean 企业号 7 月 PK 榜

揭秘元宇宙背后的最炫科技风

华为云PaaS服务小智

云计算 华为云 元宇宙

inBuilder今日分享丨系统集成系列之异构接入

inBuilder低代码平台

集成

语音房源码搭建技术分享之降噪功能详解

山东布谷科技

软件开发 源码搭建 语音房源码 语音房

HarmonyOS极客松“上分秘籍”! 高手们顶峰相见!

HarmonyOS开发者

HarmonyOS

用ChatGPT搞定K8s!

互联网工科生

k8s kubernetes 运维 ChatGPT

扫光动效在移动端应用实践

百度Geek说

动效 移动端 企业号 7 月 PK 榜

国内首批!腾讯云EdgeOne通过信通院边缘计算最新评估

Geek_2d6073

Net DB Web多级缓存的实现

不在线第一只蜗牛

HTTP net web api

代码随想录训练营 Day06 - 哈希表(上)

jjn0703

手把手带你搭建企业低成本万能架构

EquatorCoco

架构 软件架构 低成本

火山引擎 DataLeap 构建Data Catalog系统的实践(一):背景与调研思路

字节跳动数据平台

浪潮信息直播高能预告!令人感兴趣的高性能架构、CXL技术、数据库等硬件相关技术分享来了 | 第 83-85 期

OpenAnolis小助手

开源 高性能架构 龙蜥大讲堂 RDMA 浪潮信息

对线面试官-Redis(五 为什么这么快为什么能抗住高并发)

派大星

Java 面试题

ReentrantLock源码解析 | 京东云技术团队

京东科技开发者

线程 企业号 7 月 PK 榜 并发问题

分布式事务的几种实现方式 | 京东云技术团队

京东科技开发者

事务 分布式, 企业号 7 月 PK 榜

合作、参与、让开源更易用 | 亚马逊的开源文化

亚马逊云科技 (Amazon Web Services)

云计算

SQL 优化(四):如何使用 join

hungxy

2023 MWC上海:移动云勇担新基建国家队 引领算网新趋势

Geek_2d6073

时序数据库 TDengine 与 DBeaver 达成合作,生态系统再壮大

爱倒腾的程序员

涛思数据 tdengine 时序数据库

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