关于华为否认HKSP来自官方的一点看法

今天刷手机,无意看到一则消息:

华为否认提交给 Linux 内核的不安全补丁 HKSP 来自官方

这个消息吸引我的原因有几点:

  1. 华为被制裁刚满一年,现在由于新冠疫情影响,感觉又处于很敏感的时期;
  2. 华为linux内核,之前参与过华为RTOS项目,也接触过华为linux内核团队;
  3. 据说提交补丁的是L20级别员工,前东家有同事跳槽华为后,好像也升到L20了,很好奇会不会是认识的人;)

网上评论一般就两个观点, 要么批评华为不行,丢人丢到国外。要么抨击外国阴谋论,打压国产之光。

好奇心上来,就找了几个链接看了下,整理一下有用的信息如下:

-----------------------------------------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------------------------------------

事情的经过,大概是5/10号,华为某员工向openwall社区发了个邮件,公开一个安全补丁。

5/10当天,grsecurity团队就写了篇文章,指出这个补丁存在安全漏洞。

接着,华为官方发声明,这个补丁不是官方提交的,纯属个人行为。

补丁作者,也在readme里面作了补充,表示补丁是个人行为,并把补丁改为aksp了。

然后,媒体上就开始出现,华为提交补丁里面植入后门之类的说法了。

问题:

1,补丁是否华为官方提交的?

2,华为的产品有没有已经用了这个补丁集?

3,这个补丁真的有华为植入的后门吗?

个人观点:

第一个问题:补丁是否华为官方提交的?

补丁不会是官方提的。理由如下:

1,按之前华为项目的经验来看,如果华为想向社区提补丁,肯定会通过@huawei.com的邮箱帐号来提交,而这次帐号应该是用的个人gmail。

2,这个补丁集并不是Linux社区提交补丁的格式,在openwall邮件里面,也只是说想公开一个内核强化的项目,希望可以给其他人参考。

除了grsecurity团队, 社区里面还是有人热心地回复邮件了,并且表示有点意思~~~建议作者拆分补丁集再提交

 说明这个补丁并非一无是处,还是有其价值所在的。并且,其他也知道,这个补丁集还不算最终提交版本的。

第二个问题:华为的产品有没有已经用了这个补丁集?

这个无法判断了。可能会有,但是大部分产品应该不会。

补丁集的代码应该是基于linux-5.6.7的内核,这么新的内核,本身就不会有几个产品在用的。

之前接触过的华为嵌入式产品,还在使用2.6,3.10版本内核,去年升级到4.4版本,感觉已经是迈了很大的一步了。。。

但是,不排除在一些云服务产品上,已经使用了最新版的内核了。

话说回来,如果华为产品已经使用了这个补丁,那就意味着,补丁就是华为的资产了。

华为工作区域都不给拍照的,把华为的东西作为个人作品提交,应该是很严重的错误,不会有人拿自己职业开玩笑吧。

(除非,这个行为是华为官方认可的,那华为被喷也没什么好讲的)

第三个问题:这个补丁真的有华为植入的后门吗?

个人觉得不可能。开源社区的补丁合并,都是要经过review的,华为或者个人,很难故意(有可能是无意)留个后门,而不被人发现。

而且读一下grsecurity的博客,里面提到了这个补丁集会引入一些容易被利用的漏洞。例如:

1,补丁创建了 /proc/ksguard/state ,在打开/关闭文件时,会往dmesg里面写入以下消息(文件路径与实际不符):

open /proc/ksg_state_proc ok.
close /proc/ksg_state_proc ok.

2,/proc/ksguard/state 的文件权限赋于了777,grsecurity认为这是粗心的表现,没有必要给于这么高的权限;

3,ksg_state_write 函数有一堆问题,原始代码如下:

static ssize_t ksg_state_write(struct file *file, const char __user *buf,
                      size_t len, loff_t *offset)
{
    u64 value;
    char tmp[32];
    size_t n = 0;

        if (copy_from_user(tmp, buf, len))
                return -1;

    value = simple_strtoul(tmp, '\0', 10);
    switch (value) {
    case 1:
        ksg_check_keyboard();
        break;
    case 2:
        ksg_check_nf();
        break;
    case 3:
        ksg_check_pointer();
        break;
    case 4:
        ksg_check_sct();
        break;
    default:
        break;
    }

        *offset += len;
        n += len;

        return len;
}

引用grsecurity的指摘如下:

确实,像grsecurity所说的,这个补丁里面有很多低级的错误。

像未使用的变量,越界问题等,不像是经过评审的代码,华为L20级的员工水平也不至于这么弱。

唯一合理的解释,应该就是这只是个demo,业余写着玩的,没有考虑各种异常情况。

华为想通过这种方式植入后门,那也太low了吧。

结论:

结合以上思考,HKSP的事件,本身并不是什么特别严重的问题,顶多算代码质量差,需要加强review。

grsecurity团队专门写博客来指摘补丁,一方面可能是工作需要,作为他们的工作成果,需要留下点东西。

另一方面可能就是对华为涉足内核安全领域的戒备。为什么不能像其他人一样,在社区里面客观分析补丁的优点和缺点呢?

而外国媒体,那更是听风就是雨了,华为、漏洞,这两个词同时出现,立刻就能刺激到外媒的肾上腺素,不死命地喷华为才怪了。

补充:

华为PIRST似乎联系grsecurity团队,希望修改博客内容,被回绝了。

理由是,作者修改readme,撇清跟华为关系时,好像把github的提交时间重置成了周五(grsecurity发博客之前)。

这风骚的操作,此地无银三百两的感觉。。。。

 另外,听说作者已经做好被开除的准备了。。。

在这里,要吐槽一下华为的公关做的不行啊。

前面才出来任正非否认996,HKSP事件上来就否认跟华为的关系,让人感觉华为完全没有替员工考虑啊。

HKSP这个事,华为不应该撇清关系,而要替员工说话,肯定员工的行为。

不但可以树立华为关心员工,和员工站在一条线上的高大形象。而且,也可以从侧面证实,华为确实没有996,员工还有很多时间可以自己研究内核代码的(手动狗头)~~~

猜你喜欢

转载自www.cnblogs.com/anderzheng/p/12903264.html