Flutter Cocoon 已達(dá)到 SLSA 2 級(jí)標(biāo)準(zhǔn)的要求
文/ Jesse Seales, Dart 和 Flutter 安全工作組工程師
今年年初,我們發(fā)布了 Flutter 2022 產(chǎn)品路線圖,其中「基礎(chǔ)設(shè)施建設(shè)」這部分提到:2022 年 Flutter 團(tuán)隊(duì)將增加對(duì)供應(yīng)鏈的安全的投入,目的是達(dá)到符合基礎(chǔ)設(shè)施 SLSA 4 級(jí)別中描述的要求。4 月份下旬,Dart 團(tuán)隊(duì)與 GitHub 合作,Dependabot 開(kāi)始支持 pub.dev 上的 package 版本檢測(cè)。
Cocoon 是一個(gè)管理 Flutter Infra CI 的工具應(yīng)用,我們已經(jīng)實(shí)現(xiàn)了提升到 SLSA 2 級(jí)標(biāo)準(zhǔn)所要求的內(nèi)容,將身份識(shí)別和訪問(wèn)管理 (Identity and Access Management, IAM) 權(quán)限降低到所需的最低權(quán)限,并對(duì)部分應(yīng)用權(quán)限管理實(shí)施了基礎(chǔ)設(shè)施即代碼 (Infrastructure as code, IaC) 的策略。
身份識(shí)別和訪問(wèn)管理 (IAM) 是一種安全權(quán)限措施,主要用于訪問(wèn)敏感技術(shù)資源時(shí),為不同需要的人授權(quán)不同的權(quán)限。基礎(chǔ)設(shè)施即代碼 (IaC) 的核心思路是通過(guò)代碼而不是用手動(dòng)的方式和流程來(lái)管理項(xiàng)目的基礎(chǔ)設(shè)施。
亮點(diǎn)
Cocoon 不僅可以管理 Flutter Infra CI,還可以將多個(gè) CI 服務(wù)與 GitHub 集成,使得團(tuán)隊(duì)在 GitHub 上開(kāi)發(fā)變得更容易。Cocoon 通過(guò)了 SLSA 2 級(jí)的要求,這意味著 Cocoon 已經(jīng)解決了 SLSA 1 和 2 級(jí)別中所有的安全問(wèn)題。Google 的開(kāi)源安全團(tuán)隊(duì)已經(jīng)驗(yàn)證并審核了 Cocoon 具備 SLSA 2 級(jí)標(biāo)準(zhǔn)的要求。

我們?yōu)?docs-flutter-dev、master-docs-flutter-dev 和 flutter-dashboard 實(shí)施了額外的安全強(qiáng)化措施,使用基礎(chǔ)設(shè)施即代碼 (IaC) 系統(tǒng)實(shí)現(xiàn)身份識(shí)別和訪問(wèn)管理 (IAM)。這幾個(gè)項(xiàng)目非常重要,他們?yōu)?Flutter 提供開(kāi)發(fā)文檔以及 Flutter 構(gòu)建狀態(tài)的儀表盤等。在 IaC 系統(tǒng)的管理下,安全權(quán)限的更改需要改動(dòng)代碼,沒(méi)有批準(zhǔn)則無(wú)法進(jìn)行任何改動(dòng)。也就是說(shuō),安全權(quán)限的改變是要通過(guò)版本控制系統(tǒng)來(lái)修改代碼的,并且需要提供改變的理由。現(xiàn)有的 IAM 權(quán)限將會(huì)被減弱以遵循最小權(quán)限原則 (Principle of least privilege)。
優(yōu)勢(shì)
- 為 Cocoon 實(shí)現(xiàn) SLSA 2 級(jí)的要求內(nèi)容,意味 Cocoon 的供應(yīng)鏈具有「針對(duì)特定威脅的額外抵御能力」;
- Cocoon 的自動(dòng)構(gòu)建流程為 flutter-dashboard 和 auto-submit 提供了源代碼出處和防篡改的構(gòu)建證明,這有助于加強(qiáng)構(gòu)建流程中使用多種工具的安全性,如 Google Cloud Platform、Cloudbuild、App Engine 和 Artifact Registry;
- 整體看,我們已經(jīng)為 Cocoon 解決了所有級(jí)別要求中 83% 的內(nèi)容,并已經(jīng)敲定了為了滿足每個(gè) SLSA 級(jí)別的合規(guī)性工作,我們也做好 Cocoon 邁向 SLSA 4 級(jí)要求的準(zhǔn)備。
經(jīng)驗(yàn)總結(jié)和最佳實(shí)踐
- 通過(guò) Google Cloud Build 服務(wù),我們僅做了相對(duì)較小的改動(dòng)就提升了 Cocoon 構(gòu)建過(guò)程中的供應(yīng)鏈安全性,因?yàn)樵獢?shù)據(jù)驗(yàn)證會(huì)在 Cloud Build 過(guò)程中自動(dòng)驗(yàn)證。
- 通過(guò)代碼來(lái)管理和調(diào)整 IAM 權(quán)限會(huì)帶來(lái)很多額外的好處,并且可以使首次訪問(wèn)權(quán)限的授權(quán)變得更簡(jiǎn)單。
- 提高或“升級(jí)” SLSA 的不同等級(jí)規(guī)范有時(shí)需要根據(jù)應(yīng)用的構(gòu)建流程等因素做出不同的投入。在爭(zhēng)取達(dá)到最高級(jí)別 (SLSA 4) 的過(guò)程中會(huì)需要做很多不同于其他等級(jí) (比如 SLSA 2 級(jí)) 的更改。
展望下一步
這將是 Flutter 和 Dart 走向更高 SLSA 級(jí)別要求的開(kāi)始,我們希望可以將其中的收獲實(shí)踐到更多的應(yīng)用中,同時(shí)也希望開(kāi)始為 flutter/flutter 這樣更復(fù)雜的代碼庫(kù)進(jìn)行 SLSA 2 級(jí)以上的改造工作,同時(shí)也希望 Cocoon 應(yīng)用可以達(dá)到更高水平的 SLSA 合規(guī)等級(jí)。
posted on 2022-10-10 13:54 Flutter社區(qū) 閱讀(439) 評(píng)論(0) 收藏 舉報(bào)
浙公網(wǎng)安備 33010602011771號(hào)