摘要:在代码安全上被关注太少,漏洞没有被报告修补,FreeBSD、OpenBSD和NetBSD还能活下来吗?

在德国莱比齐的34c3网站上,IOActive的渗透测试主管Ilja von Sprundel说,UNIX的开源软件分发版(BSD)版本缺乏关注,这对他们的安全造成了伤害。

与Linux相比,被报告的BSD内核漏洞的数量很少,von Sprundel在去年夏天就开始在业余时间查看BSD源代码。“为什么每年仅有很少的BSD安全内核漏洞发布?”他想知道。是因为BSD更安全吗?还是因为没有人在看?

von Sprundel说,他很容易的就在三个BSD中找到了大约115个内核bug,其中包括FreeBSD的30个,OpenBSD的25个,NetBSD的60个。他称之为“低垂的果实”。他立即报告了所有的漏洞,但6个月后,在他再次提到,发现还有很多未被修复。

总的来说,Linux内核中的大多数安全漏洞的fix周期都很短。他们很快就被发现并修复了。在BSD方面,却不总是这样的。我发现了一堆已经存在了很长时间的bug。他们中的许多已经在代码中出现了十年或更长时间。

OpenBSD是安全的“明确赢家”

在过去的20年里,OpenBSD的重点是安全问题,von Sprundel说“到目前为止,在安全性方面,OpenBSD开发人员是最优秀。”

首先,OpenBSD有一个更小的代码库,大约有290万行代码,而FreeBSD的代码约为900万行,而NetBSD的代码为730万行。“当然,这也起到了一定的作用,” von Sprunde说。“没有代码总不会还能找到bug吧。”

他指出,这个较小的代码库部分是出于偶然,因为缺乏开发人员资源,使得OpenBSD无法实现他们想要的所有功能,但也更小了,这是为了减少攻击表面,包括移除对罕见的、不常见的、旧的设备和架构的支持。

在代码质量方面,von Sprundel还赞扬了OpenBSD代码,并且“OpenBSD中整体代码的质量就会协调很多”。

然而,他表示,OpenBSD相对缺乏人气损害了操作系统的安全性。“bug仍然很容易找到。”如果有更多的人关注OpenBSD,就会有更多的错误报告。

OpenBSD的创始人Theo De Raadt同意von Sprundel的观点,在OpenBSD上更多的关注会使操作系统更加安全。De Raadt通过电子邮件告诉CSO在线说到:“我记得读过他的第一张幻灯片,这些幻灯片主要是关于API误用的影响”。不幸的是,这是一个相对于人力而言的代码量问题。确保所有代码都是100%无bug的,并且处理所有异常情况是一个相当困难的问题。

von Sprundel还赞扬了OpenBSD对他的错误发现的回应,他说De Raadt在一周内做出了回应,并且OpenBSD在几天内修补了漏洞。

“我从一开始就与Ilja沟通,并让我们的团队致力于他的发现,”De Raadt写道。“我们在一周左右的时间内解决了这些问题,并为那些重要的项目提供了补丁。”在我的经验中,在一个志愿者驱动的软件项目中,保持积极和积极响应的唯一方法是决不推迟发布问题。必须尽快处理问题,以保持对住对它的兴趣。”

在代码质量方面,NetBSD是“明显的失败者”

NetBSD多年来一直致力于支持尽可能多的硬件。然而,有了这个目标,就需要包含大量的遗留和二进制兼容性(compat)代码的不同程度的质量,von Sprundel指出,因此“NetBSD的安全代码质量却一贯缺乏。”

NetBSD对von Sprundel的bug报告的响应既好又坏。一方面,他说,“他们几乎把所有提交的错误都解决了,几乎是一夜之间!”另一方面,这些补丁还没有在6个月后交付给用户。“除非从最近的检查代码中运行自己的构建,否则你的NetBSD机器仍然是脆弱的。”

NetBSD开发人员修正了von Sprundel的帐户,指出NetBSD 7.1.1在2017年12月22日发布,(在他的34c3演讲前一周)包含了他发现的安全问题的补丁。“他的很多发现都是在二进制兼容层中,而这些都不是导致远程漏洞的原因,”NetBSD基金会董事会成员Taylor R Campbell说。“无论如何,有人需要访问系统来运行该代码。”

von Sprundel在NetBSD中发现的大量的bug,以及该项目迟缓的响应,对NetBSD的未来提出了警告。“NetBSD实际上已经死了,”在Census从事安全工作的研究员patklos Argyroudis说,他的工作是在他的演讲中引用的。“过去有一些公司试图在商业上支持它,但我认为现在这些公司已经消失了。”

虽然NetBSD是一个志愿者驱动的开放源码项目,但是没有任何全职开发人员,但是NetBSD基金会的前成员Campbell和David Maxwell,都相信Agryroudis的悲观是没有根据的。“我们的主要目标是拥有一个拥有干净体系结构的核心系统,然后就很容易移植到新的平台上,”Maxwell说。“在历史上,我们可能会继续保持强势。”

“我们在市场营销方面也声名狼藉,”Campbell 补充道。

FreeBSD, BSD中的“技术最先进者”

长期以来,是三大BSD中最受欢迎的,并在Netflix和WhatsApp等网站上使用。“在perf测试中,FreeBSD与Linux不相上下,或者略微超过了它,”von Sprundel说。“任何可以部署Linux的地方,都可以放心地说,你可以部署FreeBSD。在很多地方他们都大量部署。

FreeBSD在大约一周的时间内对30个内核错误进行了响应,并在源代码库中修复了一些bug。然而,该软件项目只发布了少量的警告,并且“目前还不知道其他的状态”。

Argyroudis认为,开发人员的缺乏伤害了FreeBSD的安全性,不仅在于他们对bug报告的响应能力,还包括实现新的、行业标准的安全特性。“最流行的BSD,技术上最先进的,是FreeBSD,但是他们没有像Linux那样的开发者,这基本上意味着他们在安全特性方面有点落后。”

Argyroudis说,直到最近,FreeBSD才对ASLR进行了初步的支持,而且还不支持KASLR。他还质疑FreeBSD的网络堆栈是否仍然是一个杀手级功能。

“也许10年前,有这样一种观点,即FreeBSD的性能更好,它的网络栈更好,还有其他类似的东西,”Argyroudis说。我不太确定这是不是真的。我肯定对此持怀疑态度。

Maste不同意。他说:“与Linux相比,我们能够在更小的开发人员基础上做大量的工作,无论是在数量还是质量方面都是显著的。”“我们的未来会因为缺少开发者而受到阻碍,这是绝对不正确的。”

FreeBSD内核漏洞会影响OS X吗?

在Mac OS X中有很多FreeBSD代码,并且FreeBSD安全团队与苹果协调信息公开,von Sprundel说。然而,目前还不清楚这些报告的漏洞对苹果笔记本电脑的影响有多大。OS X的内核与15年前的FreeBSD有很大的不同,OS X多年来受到了安全研究人员的更多关注。

“当我向FreeBSD的用户提交这些错误时,他们问‘如果我们把这个发给苹果公司的人,你介意吗?’”。因此,苹果公司的安全团队就有这样的漏洞。我不知道其中有多少是适用于他们的。这里可能有一些错误。

苹果没有回应我们的评论请求,而Maste拒绝进行猜测,指出只有苹果公司才知道这个问题的答案。NetBSD的Maxwell很快指出,OS X包含的代码不仅来自FreeBSD,还包括NetBSD和OpenBSD。

BSD正在死亡吗?

事实证明,受欢迎程度会影响安全。更多的关注意味着bug周期的更短,更多的开发人员意味着新的安全特性会更快地带给用户。BSD已经输给了Linux。

Argyroudis认为,尽管OpenBSD在当时的流行程度远低于FreeBSD,但它可能是最有可能存活的。“我认为OpenBSD有更大的机会生存,因为它有一个更集中的用例。FreeBSD,我认为它比OpenBSD更难生存。

不过,Maste认为,衡量BSD的普及程度是很困难的。

宽松的BSD许可使得 量化BSDs的流行度 更加困难。“对于终端用户来说,诸如代码许可之类的事情可能并不重要,”NetBSD的Maxwell说,“但是对于构建嵌入式系统的人来说,对于那些正在构建产品的人来说,代码的许可是非常重要的。”

Argyroudis对BSD的未来仍持悲观态度。“我喜欢BSD代码库,”他说,“我希望能够告诉你不同的东西,比如更受欢迎的FreeBSD,以及在Linux下生存是多么容易。”但不幸的是,我认为事实并非如此。

“我认为这归结于开发商的缺乏。”


本文源自CSOonline\(^{[1]}\)\(^{[2]}\)
\(水平有限,欢迎园友留言交流\)

[转]BSD系统正在死亡?一些安全研究人员这样认为的更多相关文章

  1. 关于linux系统如何实现fork的研究(二)

    本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 引言 前一篇关于linux系统如何实现fork的研究(一)通过代码已经说明了从用户态怎么通过软中断实现调用系统调 ...

  2. 系统、决策、控制研究系列(SSDC)

    本类目主要介绍的书籍来自springer的系列书籍中的一本,对于该系列书籍介绍如下: “系统.决策及控制研究”(SSDC)系列涵盖了在广泛认知的系统.决策及控制的各个领域的快速.最新和高质量的最新发展 ...

  3. 关于linux系统如何实现fork的研究(二)【转】

    转自:http://www.aichengxu.com/linux/7166015.htm 本文为原创,转载请注明:http://www.cnblogs.com/tolimit/ 引言 前一篇关于li ...

  4. 直流电机PWM调速系统中控制电压非线性研究_控制元件_工业自动化控制_文章

    直流电机PWM调速系统中控制电压非线性研究_控制元件_工业自动化控制_文章_e-works数字化企业网 http://articles.e-works.net.cn/Component/Article ...

  5. IBM研究人员开发了一对低功耗,高性能的计算机视觉系统

    机器学习算法近年来有了突飞猛进的发展.例如,像Facebook这样的最先进的系统,可以在一小时内训练图像分类算法,而不会牺牲准确性.但是,许多这些系统都是在具有强大GPU的高端机器上进行培训的,随着物 ...

  6. 研究人员发现绝大部分酷派(Coolpad)手机暗藏后门(转)

    隐私问题被曝光得越来越多,随着物联网的发展,只会变得越来越严重,不过从当前看来 ,国人对隐私的重视度还远没有国外,期待加强对隐私的保护策略.   转自:http://www.freebuf.com/n ...

  7. 科学效法自然:微软研究人员测试AI控制的滑翔机

    编者按:正如一颗苹果砸出了万有引力,自然界所有存在的事物和现象都有其科学合理的一面,小小的鸟儿也能够给科学带来丰富的灵感和启示. 最近,微软研究人员从自然出发,研究鸟类能够自由停留在空中的科学原理,并 ...

  8. Cortana携手微软学术搜索,变身研究人员最佳个人助理

    编者按:在美国时间7月14日于微软总部雷蒙德召开的2014年微软教育峰会上,负责技术与研究的微软全球执行副总裁沈向洋博士在他的开幕主题演讲中正式宣布,Windows Phone 8.1系统中的虚拟个人 ...

  9. Google研究人员宣布完成全球首例SHA-1哈希碰撞!

    2004年的国际密码讨论年会(CRYPTO)尾声,我国密码学家王小云及其研究同事展示了MD5.SHA-0及其他相关杂凑函数的杂凑碰撞并给出了实例.时隔13年之后,来自Google的研究人员宣布完成第一 ...

随机推荐

  1. 解决IIS配置问题

    解决网站运行一段时间会变慢的问题 http://blog.csdn.net/rryqsh/article/details/8156558 1. IIS 7 应用程序池自动回收关闭的解决方案 如果你正在 ...

  2. java将一个List赋值给另一个List

    声明和实例化: 声明:ArrayList a, 仅仅只是声明了一个list变量,其未来作用相当于C++中的引用变量,亦或者相当于一个对象块的索引,但并未为其分配具体的完整的对象所需要的内存空间,其所分 ...

  3. CodeWarrior 10 添加/修改 头文件路径

    当使用CodeWarrior 10时,默认使用大名鼎鼎的GCC编译器. 我们在构建工程的时候,往往按模块分类文件夹,那么就存在需要包含头文件路径的问题.那么如何加入头文件的路径呢?见下文. 1.打开工 ...

  4. 项目总结20:阿里云免费https证书申请

    项目总结20:阿里云免费https证书申请 1. 登录阿里云控制台 www.aliyun.com,用账户信息登录 2. 在”产品与服务”搜索SSL,选择SSL证书 3. 点击购买证书 4. 选择” S ...

  5. eclipse在mac上的快捷键

    Command + Shift + R: 搜索本地项目文件 Command + Shift + T: 搜索jar中的文件 Command+t:快速显示当前类的结构 command+O: 在某个类文件, ...

  6. CRM--admin组件

    admin组件使用 1.创建一个Django项目 2.在models里面创建表 class Publish(models.Model): name = models.CharField(max_len ...

  7. String、StringBuilder、StringBuffer 区别

    public static void testStringBuffer(){ long start System currentTimeMillis(); StringBuffer sbuf = ne ...

  8. jquery 全选、反选、获取值、背景行、隔行变色和鼠标略过变色变色全特效

    好久没有写东西了,当然不是没东西可写,只是没有时间写.今天抽出点时间来把我最近使用的一些 Javascript 特效的东西贴出来,供自己或者别人查询使用.最近我在做一个新的 B/S 系统,由于没有专门 ...

  9. 3wwang的2019计划

    1.探究osg类生物----系列(35天) 已完结 [置顶]探索未知种族之osg类生物[目录]​www.3wwang.cn 2.osg中的设计模式---系列(15天) 正在创作... osg中抽象工厂 ...

  10. 把button中文字的省略号放到后面

    butt.titleLabel.lineBreakMode = NSLineBreakByTruncatingTail; 加上这句话就可以,uibutton有uilabel的方法