FreeBSD -CURRENT随机数发生器问题
今天John-Mark Gurney修正了一个影响过去4个月左右的FreeBSD -CURRENT的随机数发生器问题,具体受影响的版本是r273872(引入问题)到r278907(修正)。
由于问题只影响 -CURRENT,因此我们不会就此发表安全公告。
问题的影响:在对随机数发生器(/dev/random)进行重构的过程中,原先为内核arc4random(9) API进行初始化(seeding)的部分没有正确地在新的随机数处理器上线(randomdev_init_reader)时进行配置,导致内核一直使用dummy RNG来生成arc4random(9) 的种子。由于dummy RNG的输出范围有限(大约 ),导致arc4random(9) 的输出容易预测。
由于arc4random(9) 同时也用来在用户态代码中产生随机数种子,因此这个问题也连带影响了用户态的随机数生成(由于arc4random(9) 在内核中被广泛使用,因此或多或少地减弱了这个问题的实际影响,但我们建议用户不要因此而产生侥幸心理)。
我们建议使用这些版本的FreeBSD -CURRENT的用户 立即 升级到最新的 -CURRENT,同时销毁并重新生成在这段时间内生成的全部私钥。