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