開源代碼帶來的10大安全和運營風險
Endor Labs 引入了OWASP風格的清單,列出了使用開源軟件 (OSS) 中固有的最重要或影響最大的風險。
OSS 的使用實際上是免費的,而且隨時可用——它滿足了軟件開發中對速度和低成本的商業需求。超過 80% 的現代應用程序代碼來自 OSS 的情況并不少見,因此它會一直存在(至少在某些新技術可以提供更快但仍然便宜的軟件開發之前)。
這里的問題是我們對我們使用的開源的來源知之甚少。它沒有保證或 SLA;我們通常不知道這個開發工具的開發者;它可以在我們不知情的情況下引入重大安全風險(想想Log4J)。
Endor Labs 是一家總部位于加利福尼亞州帕洛阿爾托的初創公司,由 Dimitri Stiliadis(首席技術官)和 Varun Badhwar(首席執行官)于 2021 年創立,是一家專注于在商業應用程序開發中越來越多地使用 OSS 所包含的復雜性和威脅的公司。
其 Station 9 研究團隊現已開發并發布了一份關于十大開源軟件風險的報告。希望是為 OSS 效仿OWASP Top Ten 為 Web 應用程序安全提供的內容。它按嚴重程度列出了十個最重要的風險(安全和/或操作),提供了描述、示例、補救措施和進一步的參考來源。與 OWASP 列表一樣,它將隨著個別風險的變化或嚴重程度被新風險取代而得到維護。
不出所料,當前排名第一的風險是“已知漏洞”。Endor 描述指出,“組件版本可能包含易受攻擊的代碼,由其開發人員意外引入。漏洞詳細信息已公開,例如通過 CVE。漏洞利用和補丁可能可用也可能不可用。” 這里值得注意的是 Rapid7 的研究指出,56% 的 CVE 漏洞在公開披露后的 7 天內被利用。
其余九種風險是:
- 合法包的妥協,例如,攻擊者可能會注入惡意代碼以利用供應鏈攻擊該代碼的用戶
- 名稱混淆攻擊,類似于基于 Web 的攻擊中的拼寫錯誤搶注
- 未維護的軟件,其中的組件可能在不知不覺中不再得到維護或支持
- 過時的軟件,即使可能有更新的版本,但仍在使用舊版本,
- 未跟蹤的依賴項,可能是因為它不是上游 SBOM 的一部分
- 許可證和監管風險,例如,許可證可能與下游消費者的預期用途不相容
- 不成熟的軟件,OSS項目開發可能不符合開發最佳實踐
- 未經批準的更改,組件可能在開發人員不知情的情況下更改
- 依賴性過小或過大,在后一種情況下,組件可能會提供很多功能,但只能使用其中的一小部分
當然,OSS 風險遠不止十種。“如果情況發生變化,我們可能至少每年都會更新這份名單。幾年,什么都不會改變;幾年之后,”Badhwar 告訴SecurityWeek。
您可能認為引入 SBOM 是為了為應用程序開發人員解決這些問題,但 SBOM 幾乎是獨一無二的,它是一項領先于行業實踐而不是落后于行業實踐的法規。“業界還沒有為 SBOM 做好準備,”Badwahr 說。自動生成通常不準確且不完整。“如果我們要轉向使用 SBOM 作為我們風險分析的無可爭議的事實來源,我們需要解決這些問題。今天情況并非如此。”
盡管 OSS 生態圈對許多正在使用的商業應用程序很重要,但它的脆弱性也值得考慮。Badwahr 指向 Core-JS。“Core-JS 是互聯網的基石。選擇任何互聯網應用程序,你都可以確定它使用了 Core-JS。”
但是 Core-JS 由俄羅斯的 Denis Pushkarev 維護。他靠它過著相對微薄的生活——直到現在。西方對俄羅斯的財政捐助受到了西方貨幣制裁的打擊。根據 The Stack 的一份報告,他被迫考慮替代方案,包括將其封閉源代碼和商業化。
事實上,OSS 生態圈的可持續性取決于其貢獻者的可持續性,而這與地緣政治的未來一樣難以預測。Endor 希望對主要 OSS 風險的列舉能夠幫助應用程序開發人員將注意力集中在使用開源軟件所涉及的風險上——包括突然無人維護的軟件(風險 #4)。