close

掃碼訂閱《中國信息安全》雜誌


權威刊物 重要平台 關鍵渠道

郵發代號 2-786

文│奇安信集團代碼安全事業部 董國偉
近年來,全球軟件供應鏈安全攻擊事件持續高發,且危害越來越大。2020 年底和 2021 年底分別爆發的太陽風網絡攻擊事件和Log4j 網絡攻擊事件使得美國更加重視自身的供應鏈安全防護。2021 年 5 月 12 日,美總統拜登簽署了「關於改善國家網絡安全(EO 14028)」的行政命令,其中的第 4 節針對「加強軟件供應鏈安全」提出了一系列具體要求,旨在迅速改善美國軟件供應鏈的安全性和完整性,特別是優先解決關鍵軟件的問題。要求中大部分內容涉及標準、指南、措施的制定修訂及對美聯邦機構遵守和使用它們的限定。本文分析了這些標準指南的主要作用和側重,並對我國軟件供應鏈安全標準體系的建設提出了建議。

一、五類安全標準覆蓋軟件供應鏈主要環節

分析發現,EO 14028 所涉軟件供應鏈安全標準指南主要包括五類,即關鍵軟件的安全使用指南、軟件供應鏈的安全開發指南、針對供應商軟件的安全測試標準、包含軟件物料清單 (SBOM) 與網絡安全標識在內的安全標記標準以及面向組織供應鏈風險管控的綜合安全管理指南,如圖 1 所示。

圖 軟件供應鏈安全標準分類示意圖
表 1 給出了具體指南及完成情況。除《SBOM最低要素》外,其他都由美國國家標準與技術研究院(NIST)主導完成;修訂的標準有兩項,SP800-161 和 SP 800-218;關鍵軟件相關指南作為需「優先解決的問題」被最早制定完成並發布。

表 1 EO 14028 涉及的軟件供應鏈安全標準指南

根據以上內容可以發現,這些標準考慮了軟件開發、測試、使用、流轉、管理等方面的安全,即 NIST 等通過梳理歸納已有的(如關鍵軟件安全措施的每項和 SSDF 每項任務後都詳細列出了參考標準)和新收集的(如 NIST 在 2021 年 6 月、9 月、12 月多次組織標準草案研討會,僅 6 月就收集了 150 多份意見)標準、工具和最佳實踐,形成了一個覆蓋軟件供應鏈主要環節的安全防護標準體系。

二、各類標準對軟件供應鏈安全的規範作用

(一)安全使用指南
《關鍵軟件使用安全措施》聚焦美國聯邦機構對關鍵軟件的使用,不考慮開發和獲取。安全措施針對關鍵軟件或平台的未授權訪問防護、數據保護、軟件資產識別、威脅快速檢測和響應、人員培訓及行為管理等目標,包含「建立並維護大數據清單」「建立並維護軟件清單」「快速識別、記錄並緩解已知漏洞,持續減少暴露時間」等措施,軟件成分分析(SCA)工具可為後兩項措施的落地提供自動化輔助能力。所有措施的參考文獻都包括《提升關鍵基礎設施網絡安全的框架 (CSF)》第 1.1 版和《NIST SP 800-53 信息系統和組織的安全與隱私控制》第 5 版兩項。
(二)安全開發指南
NIST 根據 EO 14028 的要求修訂了《安全軟件開發框架》(SSDF)。SSDF 描述了一組高層級安全軟件開發最佳實踐,其重點關注實現實踐的結果,而沒有明確實現它們的具體工具、技術和機制。第 1.1 版中定義了組織準備(PO)、保護軟件(PS)、生產安全性良好的軟件(PW)、漏洞響應(RV) 等四類 19 項實踐,這些實踐直接或間接(如保護開發環境)涉及軟件本身,即考慮到了軟件供應鏈的主要要素。每項實踐又被分解為若干完成它所需的「任務」。
SSDF 1.1 的實踐和任務涵蓋了需求、設計、第三方軟件集成、編碼、構建、源代碼和可執行碼測試、漏洞修復響應和分析等階段,考慮了人員、工具鏈、開發環境、授權訪問、完整性、安全配置等軟件生產要素;與 1.0 版相比,新版增加和調整的任務主要涉及維護組件和依賴項的來源數據、驗證第三方組件、與第三方溝通需求、開發環境安全等;使用自動化工具檢測並修復已知和未知漏洞依然是軟件供應鏈安全的核心工作,框架中超 4 成的任務與此有關,可由安全人員在靜態應用安全測試(SAST)、交互式應用安全測試(IAST)和SCA等自動化工具的輔助下完成漏洞檢測。SSDF 是以軟件生產者視角描述的,為了從美聯邦機構(購買者)的角度響應行政令要求,《根據 EO 14028 4e 制定的軟件供應鏈安全指導》提供了一系列建議,用來確保它們所購買軟件的生產商遵循基於風險的安全軟件開發方法。生產商通過向購買機構提供工件及符合性證明,將安全軟件開發實踐的符合性作為其內部流程的一部分。
(三)安全測試標準
《開發者驗證軟件的最低標準指南》向軟件供應商和開發人員推薦了驗證的最低標準,為軟件生產者提供了高級別指導方針。之所以叫做「驗證」,是由於為了識別和修復安全缺陷,指南引入了許多靜態和主動的保障技術、工具、流程。指南擴展了 SSDF 的「生產安全性良好的軟件(PW)」類實踐,特別是「審查分析可讀代碼以識別漏洞並驗證安全需求的符合性(PW.7)」和「測試可執行代碼以識別漏洞並驗證安全需求的符合性(PW.8)」兩項。
指南共推薦了 11 種安全驗證和測試技術,其中的威脅建模、代碼掃描、黑盒測試、模糊測試、網絡應用掃描等是針對設計方案、源代碼、可執行代碼、Web 服務軟件的傳統安全檢測技術;「運行內置檢查和保護」、「檢查所包含的庫、包、服務等代碼」兩項技術考慮到了軟件供應鏈中普遍存在的編譯構建和第三方代碼的安全問題;「檢查硬編碼敏感信息」作為一種技術被單獨提到,說明了此類問題的嚴重性和受重視程度。
(四)安全標記標準
EO 14028 中明確的供應鏈標記主要有兩種,SBOM 和網絡安全標識。SBOM 是構建軟件時所使用各種組件的詳細信息和供應鏈關係的記錄,能夠為生產者、消費者和軟件操作者提供可深入理解供應鏈的信息;網絡安全標識則是消費類軟件和 IoT 等產品與安全有關的信息,可以在消費者做出購買決定時提供參考。
1.SBOM 標準
《SBOM 最低要素》將 SBOM 的主要作用確定為軟件組件識別、外部數據與軟件產品關聯 ( 如軟件與漏洞數據的映射 ) 等,這些也是 SCA 工具實現的重要基礎。基於此,標準確定的最低要素內容如表 2 所示。軟件包數據交換(SPDX)已於2021 年 8 月作為國際標準 ISO/IEC 5962:2021 發布;實踐和過程中的「深度」、「已知的未知情況」均與依賴相關,前者表示 SBOM 使用者可通過傳遞依賴步驟數量指定深度,後者指需要清楚區分沒有進一步依賴關係的組件和依賴關係未知且不完整的組件等情況。依賴關係的準確與否會直接影響漏洞真實可利用性的判定,這一點在標準中也進行了說明。

表 2 SBOM 最低要素內容

2.網絡安全標識標準

NIST 的標識計劃致力於根據最低要求和預期結果確定標識的關鍵要素,而非建立自己的標識。《消費類軟件網絡安全標識推薦標準》和《消費類 IoT 產品網絡安全標識推薦標準》雖然面向的對象不同,但都重點描述了基線標準、標識內容和符合性評估三個部分。
消費類軟件的基線技術標準是一系列關於軟件的聲明,定義了應向消費者傳遞的有關安全軟件開發實踐和其他安全屬性的信息,包括描述性聲明和安全軟件開發聲明兩類,其中後者共 8 項,如實現安全開發過程、實施負責任的漏洞披露、提供軟件完整性和來源信息、無硬編碼敏感信息等,有多項與 SSDF 的實踐或任務對應;IoT 產品的基線產品標準是 IoT 產品或其開發者預期的網絡安全結果,共 10 項,如資產識別、數據保護、網絡安全狀態識別等,基線還給出了上述各項內容對常見 IoT 漏洞的防護作用。
標識內容包括網絡安全相關風險和屬性的表示、標識有效性的測試、標識及其意義的公眾教育等。對於兩類軟件,NIST 均建議採用二元標識(Binary Label),並與分層方法結合使用,以便於消費者獲取標識項目額外的線上信息和軟件的符合性信息聲明。
符合性評估用來識別軟件或產品是否滿足基線標準中指定的要求。鑑於軟件產品及所涉及風險的範圍較廣,兩個推薦標準中均未指定單一固定的符合性評估方法,但都列舉了供應商符合性聲明(SDOC)、第三方測試或檢查、第三方認證等方法作為參考。
(五)綜合安全管理指南
NIST SP 800-161 最初命名為《聯邦信息系統和組織供應鏈風險管理實踐》,是為了給美聯邦機構組織提供識別、評估、選擇、實施信息通信技術(ICT)供應鏈風險管理流程的指導,幫助它們緩解供應鏈安全風險而制定的指南。它通過層級式的管理框架、四步驟的管理流程、多類別的緩解活動,將 ICT 供應鏈風險管理整合到組織的整體風險管理體系中。
SP 800-161 修訂版草案被命名為《系統和組織網絡安全供應鏈風險管理實踐》,對象不再着重強調「聯邦機構」,更多使用「企業」,但目標及總體框架與之前基本一致。草案中明確,指南並非要為網絡安全供應鏈風險管理(C-SCRM)提供一個確定的路線圖,企業可基於策略、指導方針、響應方案或其他特定需求對其中的流程和控制進行修改或補充。
草案增加了「C-SCRM 關鍵實踐」章節以指導組織的使用,它分別描述了基本、持續和增強三個組織能力級別的實踐內容。此外,作為指南的核心內容之一,草案中「C-SCRM 安全控制」類別的數量從原來的 19 增至 20,增加了「供應鏈風險管理 (SR)」和「個人識別信息處理和透明度 (PT)」兩類,分別針對 C-SCRM的策略方法流程工具、PII 的處理及透明度問題;去掉了「來源 (PV)」類控制,將其作為控制項SR-4( 以 SBOM 的形式 ) 併入 SR 類中;其他類的控制項也有不同程度的增刪調整。
草案還增加了附錄 E 和 F,其中附錄 F 重點介紹了與 EO 14028 4(c) 有關的第三方軟件和服務的獲取、使用及維護等軟件供應鏈安全實踐(C-SCRM 的一個子集),給組織的 IT、C-SCRM、採購等部門提供了遵守行政令的指導。附錄 F 給出了「關鍵軟件定義」、《關鍵軟件使用安全措施》和《開發者驗證軟件的最低標準指南》等對草案其他章節內容,特別是C-SCRM 安全控制項的影響或與它們的對應關係。
此外,附錄還對 SBOM、增強的供應商風險評估、開源軟件控制、漏洞管理實踐等為美聯邦機構量身定製的軟件供應鏈新概念,列舉了組織在基本、持續、增強三個能力級別上應採取的實踐的範例。例如對於「開源軟件控制」,三個級別的實踐分別包括使用 SCA 工具識別已公開的源代碼漏洞、使用二進制 SCA 作為源代碼 SCA 的補充以識別構建和運行中可能引入的問題組件、避免使用未內置防護措施來緩解常見漏洞類型的編程語言和框架等。

三、我國軟件供應鏈安全標準體系建設建議

我國已發布《GB/T 36637-2018 ICT 供應鏈安全風險管理指南》,並且正在制定軟件和 IT產品供應鏈安全要求的國家標準,頂層規範正在不斷完善。根據目前狀況,本文建議加快構建我國的軟件供應鏈安全標準化體系,為軟件供應鏈相關組織機構、企業和人員提供更多可操作性較強的指導細則。
(一)新標準制定方面
推進軟件安全開發、軟件供應鏈安全工具能力評估、開源軟件安全使用、軟件代碼安全測試、SBOM 數據格式、軟件安全標識等方向實踐指南的研究和編制,明確詳細技術要求和流程規範等。
(二)已有標準使用方面
對已發布的安全編程、代碼安全審計、漏洞檢測、軟件安全檢測等方面的國家標準進行系統研究,分析它們對軟件供應鏈安全的技術保障作用,從中梳理出具體操作指南,加大宣傳力度並推廣使用,必要時可考慮進行修訂。

(本文刊登於《中國信息安全》雜誌2022年第2期)

掃碼關注我們

更多信息安全資訊

請關注「中國信息安全」

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 鑽石舞台 的頭像
    鑽石舞台

    鑽石舞台

    鑽石舞台 發表在 痞客邦 留言(0) 人氣()