Debian OpenSSL包里的算法有问题,random number生成居然是在process pid里选取,导致生成key可穷举
以下摘自metasploit的blog
The Bug
On May 13th, 2008 the Debian project announced that Luciano Bello found an interesting vulnerability in the OpenSSL package they were distributing. The bug in question was caused by the removal of the following line of code from md_rand.c
MD_Update(&m,buf,j);
[ .. ]
MD_Update(&m,buf,j); /* purify complains */
These lines were removed because they caused the Valgrind and Purify tools to produce warnings about the use of uninitialized data in any code that was linked to OpenSSL. You can see one such report to the OpenSSL team here. Removing this code has the side effect of crippling the seeding process for the OpenSSL PRNG. Instead of mixing in random data for the initial seed, the only “random” value that was used was the current process ID. On the Linux platform, the default maximum process ID is 32,768, resulting in a very small number of seed values being used for all PRNG operations.
所有在2006.9月到2008.5.13的debian平台上生成的key均受影响。debian很快修复了此漏洞,并给出了blacklists和自查工具。
攻击工具应该很快会出现,metasploit已经生成了key的数据库,可以用类似rainbow的方法去查询,也可以直接暴力破解ssh key。
现在就等worm什么时候出现了。
因为这个漏洞比较严重。
Fires 于 2008-05-19 13:24:10发表:
了解