Linux中國

開源供應鏈:一個有關信任的問題

共同作者:Curtis Franklin, Jr

開源軟體通常被認為比專有軟體更安全、更有保障,因為如果用戶願意,他們可以從源代碼編譯軟體。他們知道在他們環境中運行的代碼的來源。在他們的環境中運行的代碼每個部分都可以被審查,也可以追溯每段代碼的開發者。

然而,用戶和提供者們正在逐漸遠離完全控制軟體所帶來的複雜性,而在轉而追求軟體的便捷和易用。

VMware 副總裁兼首席開源官 Dirk Hohndel 說:「當我看到在一個有關網路安全和隱私的講座中,演講者運行 docker run 命令來安裝和運行一些從互聯網上下載的隨機二進位文件時,我經常會大吃一驚。這兩件事似乎有點相左。」

軟體供應鏈,即將應用程序從編碼、打包、分發到最終用戶的過程是相當複雜的。如果其中有一環出現錯誤,可能會導致軟體存在潛在的風險,特別是對於開源軟體。一個惡意行為者可以訪問後端,並在用戶不知情或不受控的情況下向其插入任何可能的惡意代碼。

這樣的問題不單單存在於雲原生領域,在現代應用開發中很常見,這包括 JavaScript、NPM、PyPI、RubyGems 等等。甚至連 Mac 上的 Homebrew 過去也是通過源代碼提供,由用戶自己編譯。

「如今,你只需要下載二進位文件並安裝它,並期望其源代碼並沒有被惡意修改過。」Hohndel 說,「作為一個行業,我們需要更加關注我們的開源代碼供應。這對我來說是非常重要的事,我正努力讓更多的人意識到其重要性。」

然而,這不僅僅是一個二進位與源代碼的關係。只運行一個二進位文件,而不必從源代碼構建所有東西有著巨大的優勢。當軟體開發需求發生轉變時候,這種運行方式允許開發人員在過程中更加靈活和響應更快。通過重用一些二進位文件,他們可以在新的開發和部署中快速地循環。

Hohndel 說:「如果有辦法向這些軟體添加簽名,並建立一個『即時』驗證機制,讓用戶知道他們可以信任此軟體,那就更好了。」

Linux 發行版解決了這個問題,因為發行版充當了看門人的角色,負責檢查進入受支持的軟體存儲庫的軟體包的完整性。

「像通過 Debian 等發行版提供的軟體包都使用了密鑰簽名。要確保它確實是發行版中應包含的軟體,需要進行大量工作。開發者們通過這種方式解決了開源供應鏈問題。」Hohndel 說。

但是,即使在 Linux 發行版上,人們也希望簡化事情,並以正確性和安全性換取速度。現在,諸如 AppImage、Snap 和 Flatpack 之類的項目已經採用了二進位方式,從而將開源供應鏈信任問題帶入了 Linux 發行版。這和 Docker 容器的問題如出一轍。

「理想的解決方案是為開源社區找到一種設計信任系統的方法,該系統可以確保如果二進位文件是用受信任網路中的密鑰簽名的,那麼它就可以被信任,並允許我們可靠地返回源頭並進行審核,」 Hohndel 建議。

但是,所有這些額外的步驟都會產生成本,大多數項目開發者要麼不願意,或無力承擔。一些項目正在嘗試尋找解決該問題的方法。例如,NPM 已開始鼓勵提交軟體包的用戶正確認證和保護其賬戶安全,以提高平台的可信度。

開源社區善於解決問題

Hohndel 致力於解決開源供應鏈問題,並正試圖讓更多開發者意識到其重要性。去年,VMware 收購了 Bitnami,這為管理由 VMware 所簽名的開源軟體提供了一個良機。

「我們正在與各種上游開源社區進行交流,以提高對此的認識。我們還在討論技術解決方案,這些方案將使這些社區更容易解決潛在的開源供應鏈問題。」 Hohndel 說。

開源社區歷來致力於確保軟體質量,這其中也包括安全性和隱私性。不過,Hohndel 說:「我最擔心的是,在對下一個新事物感到興奮時,我們經常忽略了需要的基礎工程原則。」

最終,Hohndel 認為答案將來自開源社區本身。 「開源是一種工程方法論,是一種社會實驗。開源就是人們之間相互信任、相互合作、跨國界和公司之間以及競爭對手之間的合作,以我們以前從未有過的方式。」他解釋說。

via: https://www.linux.com/articles/open-source-supply-chain-a-matter-of-trust/

作者:Swapnil Bhartiya 選題:lujun9972 譯者:Kevin3599 校對:wxy

本文由 LCTT 原創編譯,Linux中國 榮譽推出


本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive

對這篇文章感覺如何?

太棒了
0
不錯
0
愛死了
0
不太好
0
感覺很糟
0
雨落清風。心向陽

    You may also like

    Leave a reply

    您的電子郵箱地址不會被公開。 必填項已用 * 標註

    此站點使用Akismet來減少垃圾評論。了解我們如何處理您的評論數據

    More in:Linux中國