FreeBSD/Alpha 内核缺乏伪随机数生成器漏洞发布时间:2000-05-07 更新时间:2000-05-07 严重程度:高 威胁程度:欺骗 错误类型:设计错误 利用方式:服务器模式 受影响系统 FreeBSD FreeBSD 5.0 alpha,FreeBSD FreeBSD 4.0 alpha详细描述 FreeBSD for Alpha平台版本没有提供/dev/random和/dev/urandom设备。这两个设备通常是用来为加密产生高随机数的。如果软件在打开并从这些设备中读取时没有检查操作是否成功,就可能使用弱随机数来产生密钥。OpenSSL v0.9.4以及OpenSSH 对此缺乏检查,因此在FreeBSD/Alpha上使用的OpenSSL和SpenSSH的加密强度是有限的,并不能作为一个非常安全的系统予以信任。 测试代码 尚无。 解决方案 1a) 更新FreeBSD/Alpha到FreeBSD 4.0-STABLE 1b)安装4.0-RELEASE GENERIC kernel的补丁,下载地址: ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.gz 以root身份执行下面的命令: # fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.gz # fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.gz.asc # gunzip kernel.gz # cp /kernel /kernel.old # chflags noschg /kernel # cp kernel /kernel # chflags schg /kernel 1c)下载内核源码的补丁,并且重新编译FreeBSD/Alpha # fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.sy.diff 下载分离了的PGP签字 # fetch ftp://ftp.freebsd.org/pub/FreeBSD/CERT/patches/SA-00:25/kernel.sys.diff.asc 使补丁生效 # cd /usr/src # patch -p < /path/to/kernel.sys.diff 按照http://www.freebsd.org/handbook/kernelconfig.html所介绍的重新编译内核,重启新的内核: 2)重新编译并使用新内核启动后,你应当重新产生所有OpenSSH生成的SSH密钥, OpenSSL生成的SSL证书以及其他依赖伪随机数进行加密的数据。 相关信息 |