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