Debian OpenSSL Bug – 後門還是安全事故?
這樣一來,很多依賴於OpenSSL隨機數生成器的程序,其實並沒有它們以為的那麼多的隨機選擇。比如,一個這樣的程序要為SSL(安全網路瀏覽)和SSH(安全遠程登錄)生成秘鑰。嚴格來說,這些秘鑰必須是隨機的:如果你可以猜到我的秘鑰,你就可以破解我使用該秘鑰保護的任何東西。這意味著你有能力讀取加密的通訊信息,登錄到遠程伺服器,或者偽造看起來似乎是真實的信息。這個漏洞是2006年第一次引入,而且進入到Ubuntu中(另一個流行的linux發行版,廣泛應用於網路伺服器)。漏洞影響到數以千計的伺服器而且存在了很長一段時間,因為只是給受影響的伺服器打補丁還不足以解決問題,必須替換掉任何在漏洞存在情況下生成的秘鑰。
順便說一句,為偽隨機數生成器尋找熵是個著名的難題。事實上,在今天來看要解決這個問題依然是個巨大的挑戰。隨機錯誤難以檢測,因為當你盯著輸出看時,每次運行程序結果都不一樣,就像隨機的一樣。弱隨機性很難發現,但是它可以使(貌似)安全的加密系統失效。不過,Debian中的那個漏洞很醒目,被發現後在安全社區引起了很多嘲笑。
於是有人問,這是個故意設置的後門嗎?似乎不大可能。做出這個更改的代碼維護者 Kurt Roeckx,後來成為Debian項目的主管。這意味著他是個可靠的傢伙,不是為了插入漏洞而由NSA偽造出來的身份。想進入Debian項目組的核心,需要做出巨大的努力,那真是出了名的難進。這樣看來,錯誤根本不是有意為之,而是一系列失誤導致的,而且後果嚴重。
漏洞確實是在一個透明的環境下發生的。所做的任何一件事都是公開的。但是漏洞還是引入了,而且長時間未被注意到。部分原因在於,透明引起了很多混亂,導致本應發現這個顯而易見的漏洞的人們也都沒太在意。 另外,也因為漏洞本身太過微妙,一個隨意的觀察者很難發現修改帶來的影響。
這是否意味著軟體透明沒什麼幫助? 我可不這麼認為。許多人都贊同透明軟體要比不透明軟體更安全。但是這也並不表示漏洞不會產生,或者認為有其他人都看著呢而我們自己就可以掉以輕心。
至少,多年以後,透明可以讓我們回顧,究竟是什麼導致了某個漏洞--本文例子中,就是工程上的紕漏,而非人為破壞。
via: https://freedom-to-tinker.com/blog/kroll/software-transparency-debian-openssl-bug/
譯者:l3b2w1 校對:jasminepeng
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive