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都存在好多年了。