博雯 發(fā)自 凹非寺
量子位 | 公眾號 QbitAI
過去三年內(nèi),誰家程序員修Bug最強(qiáng)?
Linux。
谷歌如是說。因?yàn)樵谒麄冏钚掳l(fā)布的安全漏洞修復(fù)報(bào)告中,Linux修一個Bug平均只要15天,所用時間最少:
(甚至比谷歌自家都要快)
上述數(shù)據(jù)來源于谷歌在2014年開展的零計(jì)劃(Project Zero)項(xiàng)目,由谷歌內(nèi)部的頂級安全大佬參與,群專門對全世界的移動操作系統(tǒng)、 Web瀏覽器和開源庫進(jìn)行漏洞發(fā)掘和研究。
在發(fā)現(xiàn)漏洞后,谷歌會向各大供應(yīng)商報(bào)告這些漏洞,并定期追蹤報(bào)告的修復(fù)情況。
這次報(bào)告的時間從2019年到2021年,整體來看,各大廠程序員在修Bug上是越來越嫻熟了:
在3年前,平均三個月才能修完,還會有各種超過最后期限的拖延,到2021年就僅需52天,全年總共只有一個Bug超過了修復(fù)期限……
(別急,最后告訴你這個最強(qiáng)拖延癥到底是誰)
接下來,我們就來公開處刑一下各大廠商的Bug修復(fù)情況。
Oracle最拖延,Chrome、iOS YYDS
首先,在過去3年內(nèi),谷歌共向全世界供應(yīng)商們報(bào)告了376個問題,其中有93.4%已被修復(fù),3.7%被標(biāo)記為WontFix(不會修復(fù)),還有2.9%的Bug仍未被修復(fù)。
再來看看具體賽道。
報(bào)告首先祭出了令無數(shù)打工人心頭一顫的名詞,Deadline。
谷歌給出的標(biāo)準(zhǔn)修復(fù)期限是90天,寬限期14天,超過104天之后即被視為延遲。
從這一維度來看,大多數(shù)都能在104天內(nèi)完成絕大多數(shù)Bug(90%以上)的修復(fù),其中Oracle展現(xiàn)出了非常明顯的拖延癥,即有超過一半(57%)的Bug都是在deadline之后修的:
不過,人家的Bug數(shù)也是最少的,總共只有7個……
Bug的平均修復(fù)時間也就是我們開頭放出的那張表,整體上大家的Bug都越修越快,Linux新的一年更是平均半個月(15天)就能修復(fù)。
不過也有個別廠商速度出現(xiàn)了倒退,比如報(bào)告的發(fā)布人谷歌,2021年的報(bào)告修復(fù)天數(shù)比2020年多了一倍不止……
Web瀏覽器上,有一張Chrome、Webkit、Firefox三大瀏覽器從“漏洞公開”到“補(bǔ)丁發(fā)布”所用的時間分布圖:
可以看到,大多數(shù)情況下,Chrome在40天之內(nèi)就能修好Bug,而Webkit的周期則拉得更長。
谷歌在報(bào)告中解釋到,由于Webkit是iOS平臺上唯一允許使用的瀏覽器引擎,其改動會影響到iOS中使用的所有瀏覽器,所以它的長周期也是可以理解的。
統(tǒng)計(jì)過去三年的平均修復(fù)天數(shù),Chrome也是YYDS,只有30天左右:
報(bào)告里提出,Chrome安全漏洞的快速修復(fù)時間或許與其本身的版本更新速度有關(guān)。
在移動操作系統(tǒng)中,iOS被報(bào)告的Bug數(shù)量最多,平均修復(fù)時間最短:
不過,蘋果會將iMessage、 Facetime和Safari/WebKit 等“應(yīng)用程序”的安全更新也作為操作系統(tǒng)更新的一部分發(fā)布,因此,iOS的整體數(shù)量就顯得更多。
而由于Android的應(yīng)用程序是通過Google Play Store進(jìn)行安全更新的,因此谷歌并沒有將這些更新算入報(bào)告中。
One More Thing
最后,公布一下谷歌零計(jì)劃選出的“最強(qiáng)拖延癥”——來自Android在2021年9月2日發(fā)布的漏洞,至此已有4個多月:
內(nèi)容描述是vold’s incremental-fs APIs trust paths from system_server for mounting,一個和IncFS系統(tǒng)的信任路徑有關(guān)的問題……
嗯。
參考鏈接:
[1]https://googleprojectzero.blogspot.com/2022/02/a-walk-through-project-zero-metrics.html
[2]https://Bugs.chromium.org/p/project-zero/issues/list?colspec=ID%20Status%20Restrict%20Finder%20Reported%20Deadline%20Remaining%20CVE%20Vendor%20Product%20Summary&q=id%3E%3D2137%20Deadline%3DExceeded%20-Deadline-Grace&can=1