前陣子在 blogger 後臺查看小格流量來源自high的時候,迷你倉看到一串討論,裡面某大大宣稱OpenBSD 被FBI植入後門。正好,先前在寫「Windows暗藏NSA 後門」的時後,恰巧研究過這個謠言。本來想說OpenBSD是小眾的小眾,有點懶得談;不過現在發現連ubuntu的大大都被騙了,當然要幫OpenBSD澄清一下。這是已經被證實錯誤的謠言。反倒是RSA加解密演算法如果搭配某些特定、神秘、惡意的金鑰產生器─特別是它可能的衍生產品SecurID─才值得你擔心。首先,幫謠言補上網址,這樣打起來比較有真實感,比較有fu:搜尋「OpenBSD backdoor」,可以看見這事發生在2010年12月。資安專家Bruce Schneier列出6篇報導;但他表示個人並不太相信。「(OpenBSD)這麼龐大的程式碼,一定有很多漏洞可鑽。從既有漏洞裡下手,會比自己動手安插要好多了。除非FBI裡面真的有人那麼笨。」最開始是這樣爆料出來的。一位Gregory Perry私下寄信給OpenBSD的大大Theo de Raadt,宣稱十年前FBI曾找他們公司NETSEC在OpenBSD的加密系統(OCF)當中植入後門。他並點名Jason Wright參與植入後門;而指稱另一位領FBI薪水的Scott Lowe大力鼓吹業界採用OpenBSD背後的真正原因,就是希望備有FBI後門的產品可以進入市場。Perry說他跟FBI的秘密合約過期了,所以才敢講出來。Theo de Raadt在12月14日把信公佈在網路上,要大家自行採取適當措施:擔心的人請自行檢查程式碼;生氣的人另行採取行動;被誣控的人請自己澄清。接下來怎麼辦?如果是Windows或Mac OS,你就禱告吧;但是既然我們面對的是原始碼公開的OpenBSD,那就捲起袖子擦乾淨手上的餅乾屑,大家一起來檢查原始碼(audit)呀!Theo de Raadt的信一寄出去,立即就有10位開發者著手檢查OCF的程式碼。一個星期後,Theo de Raadt貼出結論:他相信:1. NETSEC這家公司有在接政府「資安╱反資安」的案子。2. 1999-2001這段期間,美國政府單位處心積慮將竊聽黑手從軍方伸向商業界。3. Gregory Perry曾在NETSEC工作,並面試僱用Jason Wright,然後Perry自己不知道為什麼就被NETSEC逐出公司。4. Jason Wright碰的是驅動程式而非加解密演算法的部分。5. 主管加解密演算法的Angelos後來確實有接受NETSEC的委託,並且將某一些加解密流程導到Jason Wright的驅動程式去。我們也找到一些bugs,但我認為這些bugs都比較像是「歲月留下的傷痕」("a function of the time in history"),而不像是明顯的惡意後門。6. Jason跟Angelos在(OCF以外的)別處,對OpenBSD 貢獻良多。我個人無法指控他們(惡意植後門)。7. 我相信NETSEC所接的案子,原先確實是想要植入後門。8. 如果真有後門程式,我也不認為它曾經成功入侵OpenBSD的官方版本。也許是在NETSEC他們自己的版本裡面。9. 如果Jason跟Angelos早知道NETSEC是家什麼樣的公司,他們早應該告訴我,這樣我們當初也許會有不同的對策。10. 很高興大家藉這個機會把這部分這麼重要的程式碼清查了一遍,回應了大家長久以來心中的疑慮。那篇公開信當中也很清楚地列出他們找到的bugs的網址。Gregory Perry並沒有就此住口,反而後來又貼了一長篇,除了解釋背景和歷史之外,並懷疑FBI與伊朗資金合作甚至力推「密碼演算法輸出解禁」的這個政策背後有陰謀。其中他很明確地聲稱RSA演算法有漏洞,又質疑RSA發明人為何要放著大把專利金不賺,將該演算法釋放到公領域。既然Perry的專長是資安,而他又並沒有道歉認錯,於是我專注在他對資安文件倉算法提出的疑慮,又搜尋、連結到一篇密碼學書摘,指出:如果採用Elliptic Curve Asymmetric方式產生的金鑰來餵給RSA演算法吃,那麼確實可以暗藏後門。作者是專門研究密碼學植後門的Adam L. Young與Moti M. Yung。然後又搜尋到"Simple Backdoors for RSA key generation" 跟"A Comprehensive Study of Backdoors for RSA Key Generation" 兩篇學術論文,都是在改進Young與Yung的「植後門金鑰產生器」。前者指出:「對於第三方提供的金鑰產生器,千萬別拿來用在RSA加密機制當中。」後者的作者是臺灣的孫宏民教授,探討如何改進Young與Yung 所提出的金鑰產生器,讓用戶更不容易發現後門的存在。然後又搜尋到一個被懷疑有後門的身份認證機制"SecurID"。以硬體版來說,這個產品像一把鑰匙,可以用來開啟對應的鎖。比較特別的是:它每一分鐘會改變一次密碼,所以它的時鐘必須與鎖同步,顯示的密碼才會正確。這個裝置被設計成禁止拆解研究(reverse engineering),據說是為了安全的理由。重點是:它正是RSA公司的產品(所以我猜應該是採用RSA加密技術)、它最強大的地方就是它有一個金鑰產生器(而不是像過去的LPT1硬體鎖,金鑰是燒死在電路版上的)、沒有人可以研究它的金鑰產生器如何運作(因為禁止拆解研究)。這些不尋常的特性恰好就是「入侵佔領RSA的金鑰產生器」所有的╱所需要的。2011年3月,NetworkWorld、ComputerWorldUK報導:「不願具名的產業分析師表示:RSA跟政府秘密協商,讓政府可以(在SecurID產品裡)嵌入後門,以換取SecurID獲得授權出口的權利。(還記得Perry說的「密碼演算法輸出解禁」嗎?)RSA表示:基於法律因素,他們無法回應這項指控。本來只是要寫一篇破除謠言文而已,沒想到越搜尋越發現真相太奇妙了……下個結論收尾吧:1. 2003年以後的BSD,或許有一些安全漏洞(誰沒有啊?)但經過眾人檢視原始碼後,並沒有發現後門。2. 下次要指控某個開放原始碼軟體被植入後門時,請搜尋一下,給個網址好嗎?謠言止於搜尋。如果真的內藏木馬,那一段程式碼的名稱╱時間╱作者╱內容一定會被明白糾出來的。3. 真正有問題的不是現代的OpenBSD,而是針對RSA演算法所設計的某一特定類型金鑰產生器。如果你所採用的資安產品,而底層的加解密機制恰好是RSA,那麼請小心。RSA本身不是問題;可能有問題的是(亂數)金鑰產生器。不論你有沒有能力研讀其金鑰產生器,請試著去取得它的原始碼。如果取得的過程困難重重,那麼最好別用。4. 「RSA公司所生產的SecurID產品被懷疑有後門」,有許多側面證據(circumstantial evidences)但沒有一針見血的鐵證可以證明這個說法。如果真的在意安全,不用也罷。維基百科說:SanDisk、Motorola、Broadcom、Blackberry等等公司的產品都有採用;OATH HOTP是可以取代SecurID的開放版替代品。5. 美國的NSA與FBI等邪惡組織在資訊產品裡藏後門的時候,通常都不是直接大剌剌地明修棧道,而是藏在加解密模組的(亂數)金鑰產生器裡面─就像NSA 在Windows裡暗藏的後門DUAL_EC_DRBG一樣。因為看得懂程式碼的門檻比較低;看得懂加解密演算法系統(含金鑰產生器)破綻的門檻比較高。6. 同樣被懷疑遭美國政府植後門,微軟與OpenBSD 的後續處理方式與收場就大不相同。原因在哪裡?陽光是最好的消毒劑──美國最高法院大法官Louis Brandeis。(本文轉載自資訊人權貴ㄓ疑,ckhung)本版內容與PanSci泛科學網合作,每週二定期出刊,PanSci泛科學網為台灣數位文化協會推動之科學素養計劃。●網址:pansci.tw/存倉
- Sep 10 Tue 2013 15:47
-
OpenBSD 並沒有內藏FBI後門
請先 登入 以發表留言。