Are all BSDs created equally — 一次关于BSD内核漏洞的调查

在今年(2017)的defcon大会上,Ilja van Sprundel做了一个名为 “所有的BSD生来是平等的吗?”(Are all BSDs created equally? ),副标题: 一次关于BSD系统内核漏洞的调查(A survey of BSD kernel vulnerabilities)。我在youtube上搜了一下,目前还没有视频。

 

浏览了一下pdf文件。主要内容如下:

作者花了三个月时间检查了OBSD/FBSD/NBSD的内核代码,主要涉及系统调用、驱动程序、TCP/IP栈、trap handler、文件系统以及用于兼容其他系统(如Linux)的代码,截止报告期,共发现bug或漏洞约115个,其中:

FBSD: ~30

OBSD: 25

NBSD: ~60

 

作者列出的OpenBSD相关的bug有:

 

Unbound malloc and out of bound read (could panic or info leak)

OpenBSD 6.1

Been there since OpenBSD 4.0 Fri Apr 28 08:34:31 2006

getcwd syscall when taking data from fuse / userland

 

mbuf mishandling, leading to crash

Doesn’t guarantee it pulls up enough mbuf data

OpenBSD 6.1

Bug has been there for almost 9 years

以及:

 

Wide open aJack surface

Atmel AT76C50x IEEE 802.11b wireless network device [atu(4)]

Atheros USB IEEE 802.11a/b/g/n wireless network device [otus(4)]

Realtek RTL8188SU/RTL8192SU USB IEEE 802.11b/g/n wireless network device [rsu(4)]

Ralink Technology/MediaTek USB IEEE 802.11a/b/g/n wireless network device [run(4)]

Atheros USB IEEE 802.11a/b/g wireless network device [uath(4)]

 

Across all BSDs

OpenBSD的开发人员已经在最新的源代码中修正了这些问题。对于使用OB6.0/6.1的同学,检查一下是否最新的二进制patch已经出来,有的话要及时打上这些补丁。

 

感谢报告的作者,让BSD系统得到进一步的完善。毕竟很多bug都存在好多年了。