偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

Go 如何應(yīng)對供應(yīng)鏈攻擊?

安全 網(wǎng)站安全
Go 工具鏈有一個明確的安全設(shè)計目標(biāo):無論是獲取還是構(gòu)建代碼,都不會讓該代碼執(zhí)行,無論代碼是否不受信任或者惡意。這是一種有意義的風(fēng)險緩解措施。

Go 官方博客介紹了他們應(yīng)對供應(yīng)鏈攻擊的緩解措施。據(jù)稱,Go 的工具鏈和設(shè)計在各個階段均包含降低攻擊風(fēng)險的考慮。

所有構(gòu)建都被“鎖定 (locked)”

外部變化(例如發(fā)布依賴項的新版本)不會影響 Go 構(gòu)建。

與其他大多數(shù)軟件包管理器所使用的配置文件不同,Go modules 沒有單獨的約束列表和用于鎖定特定版本的 lock 文件。參與 Go 構(gòu)建的每個依賴項的版本完全由主模塊的go.mod文件決定。

從 Go 1.16 開始,上述操作默認(rèn)執(zhí)行,如果go.mod不完整,構(gòu)建命令將失敗。唯一會改變go.mod的命令是 go get和 go mod tidy。這些命令通常不會自動運行或在 CI 中運行,因此這種對依賴關(guān)系樹的改變通常都是刻意為之,可在代碼審查階段被發(fā)現(xiàn)。

這對于安全性非常重要,如果一個模塊被入侵并發(fā)布了一個新的惡意版本,那么在明確更新該依賴項之前,任何人都不會受到影響,從而為生態(tài)提供了審查更改和檢測事件的時間。

版本內(nèi)容永不改變

確保第三方不會影響構(gòu)建的另一個關(guān)鍵屬性是,module 版本的內(nèi)容不可改變。因為如果破壞依賴項的攻擊者可以重新上傳現(xiàn)有版本,他們就可以自動破壞所有依賴該依賴項的項目。

這正是go.sum文件的用途。它包含有助于構(gòu)建的每個依賴項的加密哈希列表。同樣,不完整的go.sum會導(dǎo)致錯誤,并且只能使用go get和go mod tidy對它進(jìn)行修改。因此,對它的任何修改都會伴隨著主觀的依賴關(guān)系改變。

VCS 是事實來源

大多數(shù)項目在開發(fā)過程中都會使用版本控制系統(tǒng) (VCS),在其他生態(tài)中,這些項目還需要上傳到中心軟件包倉庫 (比如 npm)。這意味著有兩個帳戶可能會受到破壞,即 VCS 主機和中心軟件包倉庫。后者使用得更少,也更容易被忽視。這也意味著更容易在上傳到倉庫的版本中隱藏惡意代碼,特別是如果源碼作為上傳的一部分被例行修改。

Go 沒有諸如中心軟件包倉庫帳戶這類東西。包的導(dǎo)入路徑嵌入了直接從 VCSgo mod download 獲取其模塊所需的信息,其中 VSC 上的標(biāo)簽定義了 module 版本。

僅構(gòu)建代碼,但不執(zhí)行

Go 工具鏈有一個明確的安全設(shè)計目標(biāo):無論是獲取還是構(gòu)建代碼,都不會讓該代碼執(zhí)行,無論代碼是否不受信任或者惡意。

這是一種有意義的風(fēng)險緩解措施,假如你正在執(zhí)行一個二進(jìn)制文件或測試一個只使用一個子集的包模塊的依賴。例如,如果example.com/cmd/devtoolx在 macOS 上構(gòu)建和執(zhí)行,那么針對 Windows 的依賴或example.com/cmd/othertool的依賴就不可能危害到你的機器。

在 Go 中,不為特定構(gòu)建提供代碼的 module 對于構(gòu)建沒有安全影響。

“復(fù)制勝于依賴”

最后一項(也可能是最重要)供應(yīng)鏈攻擊風(fēng)險緩解措施也是技術(shù)含量最低的:Go 有拒絕大型依賴樹的文化,并且更喜歡復(fù)制而不是添加新的依賴。

這可以追溯到 Go 的一句諺語:“a little copying is better than a little dependency”(復(fù)制勝于依賴)。

Go module 對自己的“零依賴”標(biāo)簽非常自豪。如果開發(fā)者需要使用一個庫,他會發(fā)現(xiàn)這個庫不會讓他依賴其他作者和所有者的幾十個 module。

這意味著只需少量依賴項就可以構(gòu)建豐富、復(fù)雜的應(yīng)用程序。畢竟無論工具多好,它都無法消除重用代碼所涉及的風(fēng)險,因此最強的緩解措施始終是只有一個小的依賴樹。

本文轉(zhuǎn)自O(shè)SCHINA

本文標(biāo)題:Go 如何應(yīng)對供應(yīng)鏈攻擊?

本文地址:https://www.oschina.net/news/189878/golang-supply-chain

責(zé)任編輯:未麗燕 來源: 開源中國
相關(guān)推薦

2022-04-13 14:49:59

安全供應(yīng)鏈Go

2022-03-04 14:24:21

區(qū)塊鏈技術(shù)供應(yīng)鏈

2023-05-29 13:44:10

2021-04-25 15:49:06

拜登黑客攻擊

2023-10-17 07:09:36

供應(yīng)鏈工人工作條件

2023-05-16 14:58:05

2023-02-23 07:52:20

2022-02-21 10:12:20

供應(yīng)鏈攻擊網(wǎng)絡(luò)攻擊

2022-03-26 22:51:06

區(qū)塊鏈供應(yīng)鏈技術(shù)

2021-09-12 14:38:41

SolarWinds供應(yīng)鏈攻擊Autodesk

2021-09-16 14:59:18

供應(yīng)鏈攻擊漏洞網(wǎng)絡(luò)攻擊

2022-03-14 14:37:53

網(wǎng)絡(luò)攻擊供應(yīng)鏈攻擊漏洞

2021-05-11 11:11:00

漏洞網(wǎng)絡(luò)安全網(wǎng)絡(luò)攻擊

2020-12-24 11:09:44

VMwareCiscoSolarWinds

2020-06-01 08:45:17

GitHub代碼開發(fā)者

2023-06-06 12:53:45

2018-11-09 15:46:34

ICT供應(yīng)鏈漏洞

2022-11-14 10:32:56

供應(yīng)鏈技術(shù)

2022-06-02 14:11:42

區(qū)塊鏈藥品供應(yīng)鏈數(shù)據(jù)

2023-01-11 00:05:58

點贊
收藏

51CTO技術(shù)棧公眾號