互鎖的復(fù)雜系統(tǒng)和FIREFOX 5月附加中斷的混亂

2019-08-22 16:55:44    來源:    作者:

Mozilla發(fā)布了多份動(dòng)作后報(bào)告,分析了5月份的主要混亂情況,這些報(bào)道削弱了大多數(shù)Firefox附加組件。報(bào)告還提出了防止今后類似事件的建議。

5月3日星期五美國東部時(shí)間晚上8點(diǎn)后開始慘敗,當(dāng)時(shí)用于數(shù)字簽名Firefox擴(kuò)展的證書已過期。由于Mozilla忽略了更新證書,因此Firefox認(rèn)為附加組件無法被信任 - 它們可能是惡意的 - 并且已禁用已安裝的任何附加組件。出于同樣的原因,無法將加載項(xiàng)添加到瀏覽器中。

Mozilla通過其研究系統(tǒng),通常負(fù)責(zé)將測試代碼推送到小組或收集有關(guān)贊助內(nèi)容的反應(yīng)數(shù)據(jù)的基礎(chǔ)設(shè)施,對瀏覽器進(jìn)行了一次臨時(shí)修復(fù)。由于研究方法沒有達(dá)到每個(gè)人,在5月5日和5月7日,Mozilla發(fā)布了兩個(gè)Firefox更新--66.0.4和66.0.5--解決了證書問題。

每個(gè)人都提出的第一個(gè)問題是,”你是怎么讓這種情況發(fā)生的?'“Firefox的首席技術(shù)官Eric Rescorla在公司博客的一篇文章中寫道。”在高層次上,故事似乎很簡單:我們讓證書過期。這似乎是一個(gè)簡單的計(jì)劃失敗。“

然而,Rescorla對這種特征提出了異議。他說,情況“比這更復(fù)雜”,他說負(fù)責(zé)團(tuán)隊(duì)知道證書即將到期但是假設(shè)瀏覽器會(huì)忽略到期日期,因?yàn)樵谥暗氖录?,證書檢查已被禁用。“這導(dǎo)致了對中間證書檢查狀態(tài)的混淆。此外,F(xiàn)irefox QA計(jì)劃沒有包含證書過期測試,??因此沒有檢測到問題。這似乎是我們測試計(jì)劃中的一個(gè)基本疏忽。”

其他人則在不同的角度分別報(bào)道危機(jī),包括事故報(bào)告和技術(shù)報(bào)告。

后者分別由主要軟件工程師兼高級(jí)工程師Peter Saint-Andre和Matthew Miller撰寫,得出了類似的結(jié)論。“這一事件不是任何個(gè)人或團(tuán)隊(duì)的錯(cuò),而是由于所有相關(guān)團(tuán)隊(duì)都沒有很好地理解一套互鎖的復(fù)雜系統(tǒng),”兩人寫道。

Saint-Andre和Miller報(bào)告中的細(xì)節(jié)包括Mozilla將其QA(質(zhì)量保證)測試外包給Cognizant Softvision,Cognizant Softvision是一家跨國公司,辦事處分散在印度和烏克蘭,羅馬尼亞和美國“內(nèi)部缺乏”或者隨叫隨到的質(zhì)量保證資源導(dǎo)致在各種平臺(tái)上測試提議修復(fù)的延遲,因?yàn)镾oftvision的外部團(tuán)隊(duì)無法通過正常渠道立即獲得,“圣安德烈和米勒說。“事實(shí)上,與個(gè)人Softvision團(tuán)隊(duì)成員合作可能會(huì)引入法律上的復(fù)雜情況和數(shù)據(jù)泄漏的可能性。”

雖然Rescorla 在附加中斷后不久在一篇博客文章中詳細(xì)說明了Mozilla的一些失敗,但他已經(jīng)承諾了一份推薦的更改列表,以便后來發(fā)布。他7月12日的帖子以及圣安德烈和米勒7月2日的報(bào)道都很好地履行了這一承諾。

建議之一:快速響應(yīng)修補(bǔ)程序交付機(jī)制,可以推動(dòng)Firefox用戶的緊急更新。

5月,Mozilla迅速為桌面版Firefox創(chuàng)建了一個(gè)臨時(shí)修復(fù)程序,并使用Studies系統(tǒng)將修補(bǔ)程序推送到瀏覽器。Mozilla轉(zhuǎn)向研究盡快部署修補(bǔ)程序,而不是讓用戶等待完整的瀏覽器更新。然而有些人報(bào)告說他們沒有收到修補(bǔ)程序,或者沒有啟用Firefox的附加組件。如果用戶已經(jīng)禁用了研究,可能出于隱私原因(默認(rèn)情況下啟用該機(jī)制),例如,他們就不會(huì)獲得補(bǔ)丁。

“這里的教訓(xùn)是,我們需要一種機(jī)制,允許快速更新,而不是遙測和研究,”Rescorla說。“我們想要的屬性是能夠?yàn)槿魏螁⒂昧俗詣?dòng)更新的用戶快速部署更新。這是我們的工程師已經(jīng)在開發(fā)的工作。”

圣安德烈和米勒呼應(yīng)Rescorla,但也詳細(xì)討論了Firefox附加組件的加密簽名。

“從根本上說,完整的Firefox團(tuán)隊(duì)對Firefox附加組件的加密簽名的角色,功能和操作沒有共同的理解,”他們寫道。“盡管有幾個(gè)很好的理由來簽署附加組件(監(jiān)控未在AMO上托管的附加組件,阻止惡意加載項(xiàng),通過將附加組件鏈接到Mozilla根目錄來提供加密保證),但對于基礎(chǔ)知識(shí)沒有共識(shí)這樣做的理由。此外,維護(hù)完整的公鑰基礎(chǔ)設(shè)施(PKI)是一項(xiàng)復(fù)雜的任務(wù),我們不一定能夠牢牢掌握所涉及的工程和業(yè)務(wù)權(quán)衡。“

他們建議生成更完整的文檔,以便每個(gè)人都知道附加組件的簽名是如何工作的,并且假設(shè)Mozilla致力于當(dāng)前的附加簽名方法,那么“我們的證書管理流程,特別是我們的密鑰翻轉(zhuǎn)策略”將得到改進(jìn)。

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。