不少人使用開源軟體的核心理由是開源軟體相比於閉源軟體更加的安全。
這樣的結論源自於這樣的一個認知:開源軟體相比於閉源軟體,能夠獲得更多的開發者和關注,社群可以向開源專案提交程式碼,從而針對所遇見的問題提供相應的解決方案。相比於商業公司,這樣能夠找到的 Bug 更多,更好。
這樣的認知,我將其稱之為「開源的機制安全」,也就是說,這個機制是可以讓整個軟體更加的安全。
但是,機制安全並不能夠保證軟體足夠的安全。
機制安全能夠成立的前提有很多,比如:
1. 開源專案的團隊會接受來自社群的貢獻:雖然不少專案都開源了,但是很少合併來自社群的貢獻,這使得該軟體雖然開源了,但是實際上並沒有享受到開源軟體所帶來的機制安全。
2. 開源專案的團隊獲取到足夠多的社群貢獻:相比於一些知名的開源專案,你所使用、貢獻的專案可能並沒有足夠多的開發者來為其貢獻程式碼,在發現 Bug 的方面,因為沒有足夠多的人,也就導致了相對來說,不夠安全。
此外,開源這件事在安全層面來看,就是一把雙刃劍。固然你通過開源獲取到了更多的貢獻,但同時因為你將測試從黑盒測試轉為了白盒測試。開發者只需要閱讀已經開源的程式碼,就可以從中發現漏洞並使用漏洞。
綜上,我們會得出一個結論:開源軟體並不一定是安全的。
最新評論