在“心臟流血”之后從OpenSSL的分支出來的LibreSSL項目最近被發(fā)現(xiàn)也存在一個嚴(yán)重的安全缺陷, 這也說明了開發(fā)安全庫確實(shí)不是一件容易的事。 這個漏洞盡管不像“心臟流血”那樣嚴(yán)重, 但是也可能導(dǎo)致LibreSSL的隨機(jī)數(shù)生成出錯。
安全專家Andrew Ayer在 LibreSSL portable 2.0.0的預(yù)覽版本放出兩天后, 經(jīng)過測試和驗(yàn)證。 發(fā)現(xiàn)了這個“可能導(dǎo)致嚴(yán)重錯誤”的缺陷。 他說:“經(jīng)過對代碼庫的測試與審查, 我的反饋是, LibreSSL的偽隨機(jī)數(shù)生成器在Linux系統(tǒng)下不具備魯棒性。 不如它要替代的OpenSSL的偽隨機(jī)數(shù)生成器安全。
Tripwire的安全研究專家Craig Young認(rèn)為:“這個LibreSSL的缺陷顯示了在類似OpenSSL這樣復(fù)雜的代碼庫中創(chuàng)建一個分支的困難性。 這里LibreSSL的開發(fā)者也許沒有充分意識到為什么需要特定函數(shù)(RAND_poll)對偽隨機(jī)數(shù)生成器進(jìn)行種子重置。”
Craig Young補(bǔ)充道:“盡管這段代碼在LibreSSL的開發(fā)者看來也許無關(guān)緊要, Ayer的研究揭示了這其實(shí)與安全大有關(guān)系。 隨機(jī)數(shù)生成器是SSL實(shí)現(xiàn)的重要部分。 因?yàn)樗軌蚍乐购诳屯ㄟ^猜解密鑰來破解加密通信數(shù)據(jù)。”
在Linux系統(tǒng)下, LibreSSL的這個缺陷會導(dǎo)致出現(xiàn)相同輸出的概率高兩倍或者更多。 鑒于此, OpenBSD已經(jīng)發(fā)布了一個針對這個CVE-2014-2970的補(bǔ)丁, 并且聲稱, 已經(jīng)在代碼中進(jìn)行了修正。
因此, 這個缺陷所造成的威脅并沒有那么大, 因?yàn)?/span>LibreSSL并沒有廣泛應(yīng)用, 對很多開發(fā)者來說, 首選的還是OpenSSL。
“這就像可口可樂和百事可樂一樣, 死忠的粉絲不會輕易換牌子。 ”安全研究專家Tyler Reguly說:“LibreSSL已經(jīng)開始逐漸追上了。 這次的這個缺陷的暴露, 讓人們看到了LibreSSL差距, LibreSSL社區(qū)還得加倍努力。 ”
盡管人們普遍認(rèn)為這個缺陷并不意味著LibreSSL項目就會死了, 但是這么早就暴露了這樣嚴(yán)重的缺陷對項目本身也絕不是好事。