RSAConference2022將於舊金山時間6月6日召開。大會的Innovation Sandbox(沙盒)大賽作為“安全圈的奧斯卡”,每年都備受矚目,成為全球網路安全行業技術創新和投資的風向標。
前不久,RSA官方宣佈了最終入選創新沙盒的十強初創公司:Araali Networks、BastionZero、Cado Security、Cycode、Dasera、Lightspin、Neosec、Sevco Security、Talon Cyber Security和Torq。
綠盟君將透過背景介紹、產品特點、點評分析等,帶大家瞭解入圍的十強廠商。今天,我們要介紹的是廠商是:Cycode。
一、公司介紹
Cycode成立於2019年,總部位於以色列特拉維夫,公司的執行長兼創始人為Lior Levy,他在網路安全攻防方面擁有十多年的經驗,曾是以色列國防部的網路架構師兼安全研究員,如圖1所示。該公司專注於軟體供應鏈安全,開發了業界首個原始碼控制、檢測和響應平臺[1],並於2021年11月完成了5600萬美元的B輪融資。
圖1 CEO:Lior Levy
Cycode提供一套完整的軟體供應鏈安全解決方案,可保護軟體開發生命週期(Software Development Life Cycle, SDLC)各個階段的可見性、安全性和完整性。其解決方案可以幫助安全團隊在不影響專案開發進度的情況下顯著地降低原始碼洩露的風險[2]。2021年5月,該公司釋出了自己的知識圖譜[3],Cycode透過與DevOps工具和基礎設施提供商整合,使用一系列掃描引擎查詢硬編碼機密、程式碼錯誤配置、程式碼洩露等安全問題來降低SDLC各階段的安全風險。
二、背景介紹
在軟體開發方面,開發生產效率和軟體安全性之間一直存在著鬥爭,隨著開發效率的提高,應用程式的安全需求會越來越多。在過去的10年中,軟體開發生產效率顯著提高,我們已經進入到一個擁有虛擬機器、容器和微服務架構的雲原生世界,但軟體應有的安全措施並沒有到位,這也導致了近些年軟體供應鏈攻擊事件層出不窮[4]。
軟體供應鏈攻擊是指在軟體開發、交付和使用的任何階段破壞軟體及其相關元件的一種行為,攻擊者通常會未經授權訪問開發環境和基礎設施,包括版本控制系統、工件登錄檔、開源儲存庫、持續整合管道、構建伺服器或應用程式伺服器等,來達到修改原始碼、指令碼和包以及建立後門來竊取受害者環境中資料等目的。潛在軟體供應鏈安全威脅見圖2[4]。
軟體供應鏈安全形勢逐漸嚴峻,程式碼被篡改及敏感資料洩露會給軟體開發造成嚴重影響,近期軟體供應鏈攻擊具有的代表性例子有:2020年SolarWinds攻擊事件[5]、2020年NetBeans IDE攻擊事件[6]、2021年Kaseya攻擊事件和2021年Codecov攻擊事件[7]。Gartner報告指出[8],惡意程式碼注入威脅次數的增加使得保護內部程式碼及外部依賴項(開源和商業軟體)變得越發重要,到2025年全球45%組織機構的軟體供應鏈將遭到攻擊,這個資料將會是2021年的三倍。
圖2 潛在的軟體供應鏈安全風險
三、產品介紹
據Cycode公司官網描述,該公司目前提供一套完整的軟體供應鏈安全解決方案,可為客戶的整個軟體開發生命週期提供可見性、安全性和完整性的保護。Cycode將該解決方案整合到了一個平臺之上,目前該平臺主要有五個關鍵功能點,分別是:DevOps工具安全、防程式碼篡改、硬編碼機密監測、原始碼洩露監測和基礎設施即程式碼安全,下文我們將主要圍繞這五個功能進行產品介紹。
01DevOps工具安全
隨著 DevOps工具鏈變得越來越複雜,管理整個軟體開發生命週期也變得越來越困難。Cycode在工程團隊和工具中應用並實施一致的治理和安全策略,以提供完整的可見性和強化的安全態勢。透過標準化所有軟體開發生命週期中工具的配置,安全團隊可以專注於安全策略而不僅僅是開發實施的細節。據Cycode介紹[9],DevOps工具安全主要包含三個具體措施,分別是:執行最低許可權、強化身份驗證和監測異常活動,相關功能產品截圖見圖3(圖3到圖16均引用自[9])。
執行最低許可權:Cycode認為執行最低許可權策略是最重要的安全措施之一,強制執行最低許可權策略可以降低所有安全問題的風險。從實際情況來看,開發人員經常會出現某一天提高許可權來完成當日特殊工作的情況,而攻擊者或惡意內部人員可能會利用這些情況在系統之間橫向移動來竊取或篡改程式碼。Cycode透過刪除開發人員帳戶上多餘和未使用的許可權(例如訪問儲存庫、讀寫及使用者與管理員許可權)來自動稽核和執行最低許可權策略。
圖3 最低許可權策略截圖
強化身份驗證:攻擊者常以開發人員賬戶為目標展開攻擊,並使用被盜賬戶進入系統內部,而現代的開發團隊使用的工具範圍十分廣泛,幾乎每個工具都有不同的預設設定和安全選項,因此在所有這些工具中實施一致的身份驗證策略既困難又耗時。Cycode透過與DevOps工具和基礎設施整合來強化身份驗證,例如多因素身份驗證和單點登入。強身份驗證使攻擊者更難獲得開發人員帳戶的訪問許可權,從而降低了攻擊者利用被盜帳戶展開滲透攻擊的風險,相關功能產品截圖見圖4。
圖4 強化身份驗證截圖
監測異常活動:內部威脅很難觸發傳統的安全檢測機制,因此常常具有比較大的破壞性。惡意內部人員通常知道重要物品在哪裡,並且可以透過使用合法憑證和提供的訪問許可權來避免檢測。Cycode透過了解使用者通常如何與 SDLC中的工具互動來識別內部威脅,該產品會自動檢查系統中的高風險偏差來進行預警,例如從未知位置克隆程式碼或在短時間內克隆過多的儲存庫。透過識別環境中的可疑和異常活動,Cycode有助於在SDLC中的內部威脅到達違規點之前發現它們。相關功能產品截圖見圖5。
圖5 監測異常活動截圖
02防程式碼篡改
防止程式碼篡改是強化軟體供應鏈的關鍵所在,軟體供應鏈的攻擊面非常巨大且相互關聯,任何單點解決方案或方法都無法提供全面的保護。Cycode產品可以在SDLC的每個階段協同工作,這大大降低了程式碼篡改風險。防程式碼篡改功能包含以下兩個具體措施,分別是:驗證SDLC程式碼完整性和監控關鍵程式碼。
驗證SDLC程式碼完整性:Cycode知識圖譜可以驗證SDLC中輸入輸出是否匹配,例如提交的程式碼庫與構建系統中的對應檔案是否匹配,這種方式是防止程式碼篡改的一種有效手段。相關功能產品截圖見圖6。
圖6 驗證SDLC程式碼完整性截圖
監控關鍵程式碼:Cycode支援監控重要的程式碼片段,例如構建規則、分支保護規則、CI/CD 設定、基礎設施即程式碼 (infrastructure as Code, IaC) 等,軟體開發團隊對於這些關鍵程式碼的更改需要特別的注意。相關功能產品截圖見圖7。
圖7 監控關鍵程式碼截圖
03硬編碼機密監測
Cycode提出了一套完整的硬編碼機密檢測解決方案,包含以下三個具體措施,分別是:硬編碼機密全方面掃描、優先修復和最佳化的開發流程。
硬編碼機密全方面掃描:Cycode利用穩健、連續的硬編碼機密全方面掃描來查詢SDLC所有位置(例如原始碼、構建日誌、基礎設施即程式碼、kubernetes 叢集等)中任何型別的硬編碼憑證(例如API金鑰、加密金鑰、令牌、密碼等)。相關功能產品截圖見圖8。
圖8 硬編碼機密全方面掃描截圖
優先修復:評估暴露的硬編碼機密重要性程度,提示開發人員優先修復最為重要的硬編碼機密。相關功能產品截圖見圖9。
圖9 優先修復截圖
最佳化的開發流程:將掃描引擎整合到開發人員的工作流程,阻止開發人員將硬編碼機密存入到程式碼庫之中。相關功能產品截圖見圖10。
圖10 最佳化的開發流程截圖
04原始碼洩露監測
原始碼是任何軟體公司智慧財產權的核心,如果原始碼落入駭客之手,後果會非常嚴重。Cycode產品可以最大限度地降低程式碼洩漏的可能性和風險,具體有以下兩個措施:主動識別開源倉庫中的專有程式碼、識別異常和可疑的使用者活動。
主動識別開源倉庫中的專有程式碼:Cycode可以自動識別客戶的專有程式碼並持續掃描開源倉庫,如果客戶的專有程式碼出現在開源倉庫之中,Cycode會自動提醒客戶儘快處理。相關功能產品截圖見圖11。
圖11 主動識別開源倉庫中的專有程式碼截圖
識別異常和可疑的使用者活動:Cycode透過發現可能導致洩露的異常活動來提前警告客戶,異常活動包括使用者活動、儲存庫訪問模式等。相關功能產品截圖見圖12。
圖12 識別異常和可疑的使用者活動截圖
05基礎設施即程式碼安全
IaC工具透過自動配置提高了團隊的開發效率,但是IaC中的任何錯誤配置最終都可能在雲環境中產生惡劣影響。Cycode支援識別錯誤配置並直接在開發人員工作流程中進行修復,具體有以下四個措施:查詢IaC中的錯誤配置、掃描開發人員工作流程、自動修復和識別配置偏差。
查詢IaC中的錯誤配置:Cycode透過自動掃描引擎幫助開發人員輕鬆查詢和修復IaC錯誤配置,例如可公開訪問的儲存桶、未加密的靜態關鍵資料、弱密碼策略和不可輪換的加密金鑰等。相關功能產品截圖見圖13。
圖13 查詢IaC中的錯誤配置截圖
掃描開發人員工作流程:掃描新的提交和合並請求以發現錯誤配置,如果掃描返回IaC策略違規,Cycode會自動將結果呈現給開發人員。相關功能產品截圖見圖14。
圖14 掃描開發人員工作流程截圖
自動修復:Cycode可以自動對錯誤配置進行修復,保證IaC工具處於最佳狀態。相關功能產品截圖見圖15。
圖15 自動修復截圖
識別配置偏差:不斷將IaC配置與生產基礎設施中的配置進行比較以識別偏差。相關功能產品截圖見圖16。
圖16 識別配置偏差截圖
四、產品主要特點
Cycode最大的特點是構建了一個圖形資料庫後端(我們常稱為知識圖譜),這個知識圖譜將軟體開發生命週期的所有工具、安全相關資訊及工具傳遞的後設資料串聯了起來。基於這個知識圖譜,客戶可以使用自己的資料或從預先編寫的資料庫中進行選擇來查詢,也可以對潛在的違規路徑及軟體開發生命週期中的所有事件進行可視連結深入分析[10]。
Cycode可以利用的資料來源包括雲API、登錄檔、基礎設施即程式碼工具及原始碼控制管理系統等,透過將這些資料來源中的資料進行重疊,Cycode可以獲得上下文資料以實現快速迴圈或自動分類警報,而這個特點正是現在許多安全產品不具備的,目前許多安全工具都是獨立的,它們經常向開發人員提出數百個警報,而其中大多數警報都與上下文無關。使用Cycode的產品可以讓客戶自主地建立策略,即使使用者不同階段用了不同的工具集,Cycode仍然可以讓客戶在軟體開發生命週期的每個階段去執行安全策略。
五、DevSecOps概念發展趨勢
隨著DevOps被越來越多企業所認可及利用,DevSecOps概念也變得越來越火。從最近4年入圍RSAC創新沙盒前十的企業來看,每年都會有DevSecOps相關的廠商。
2019年,ShiftLeft公司憑藉著“對軟體程式碼進行自動地分析、保護與稽核”的功能概念成功入圍了RSAC創新沙盒前十[11]。2020年,ShiftLeft公司再次入圍RSAC創新沙盒前十的名單,這次該公司提出的安全概念是“面向軟體開發生命週期的持續性安全防護”。ShiftLeft利用相關技術讓漏洞檢測的檢出率和誤報率得到了有效提升,該公司產品從漏洞檢測、靜態防護、自定製查詢漏洞等多方面對SDLC進行了安全防護,從而實現了DevSecOps高效率的落地[12]。2021年,Apiiro公司成功入圍了RSAC創新沙盒前十的名單,該公司提出了業內首個程式碼風險平臺,該平臺可以幫助客戶在SDLC的早期進行有效的風險管理,實施應用程式治理和法規遵從性,並防止針對CI/CD的高階攻擊。Apiiro會分析整個開發過程中的資料,以幫助組織檢測惡意程式碼,確定優先順序並補救有風險的重大變更[13]。2022年,Cycode公司成功入圍了RSAC創新沙盒前十的名單,這也實現了DevSecOps概念連續四年出現在RSAC創新沙盒前十的壯舉。
綜上所述,我們也可以分析出DevSecOps相關的產品正在逐步化完善。2019年ShiftLeft公司僅僅是對軟體程式碼進行自動化安全評估,到了2020年該公司便推出了軟體開發全生命週期安全性核查的產品,再到2021年Apiiro公司便基於SDLC流程推出了強化版程式碼風險核查平臺,最後到今年Cycode公司推出了首個完整的軟體供應鏈安全核查的產品。DevSecOps概念產品化速度不可小覷,這一方面證明了DevSecOps概念如火如荼,另一方面也說明了軟體供應鏈安全市場這塊蛋糕之大。
六、總結
近些年來軟體供應鏈攻擊頻發,例如2020年SolarWinds攻擊事件、2020年NetBeans IDE攻擊事件、2021年Kaseya攻擊事件和2021年Codecov攻擊事件,Gartner預期2025年全球45%組織機構的軟體供應鏈將遭到攻擊,這個資料將會是2021年的三倍。
Cycode成立於2019年,這家年輕的創業公司致力於提供一套完整的軟體供應鏈安全解決方案。Cycode目前主要提供五個方面的功能,分別是:DevOps工具安全、防程式碼篡改、硬編碼機密監測、原始碼洩露監測和基礎設施即程式碼安全,該公司最大的特點便是構建了一個整合SDLC上下文資料的知識圖譜,該知識圖譜可以結合客戶的特點提供更加可靠的安全預警。在2022年,Cycode被Gartner評為最酷的保護雲原生應用安全的廠商之一(共三個)[10];同時Cycode進入了RSAC創新沙盒前十的名單。
對於安全廠商來說,我們既需要了解Cycode產品的技術原理,也需要學習他們戰略佈局的思維;對於網際網路公司來說,我們既要提高軟體開發過程中網路安全的意識,也需要佈置一套完整的軟體供應鏈安全監測體系。原始碼安全是DevSecOps中至關重要的一環,然而國內原始碼安全卻不容樂觀。綠盟科技創新中心基於網路空間測繪的技術,發現了國內多個重要關鍵基礎設施單位洩露的程式碼倉庫,覆蓋金融、醫療、科教、交通、運營商等共10個領域。基於此,我們對其中約100個洩露的程式碼倉庫進行了核驗,聯絡了對應程式碼使用的單位,幫助相關客戶下線處理了洩露的程式碼倉庫。
軟體供應鏈安全不容小覷,它不僅會直接對相關企業單位造成嚴重影響,也會對國家整體網路安全造成極大的威脅。軟體供應鏈安全形勢越發嚴峻,軟體供應鏈安全也值得引起我們所有人的注意。
參考文獻
[1] https://www.crunchbase.com/
[2] https://cycode.com/about-us/
[3] https://www.xujun.org/note-135260.html
[4] https://go.cycode.com/2021-software-supply-chain-security-priorities-survey
[5] https://www.solarwinds.com/sa-overview/securityadvisory
[6] https://securitylab.github.com/research/octopus-scanner-malware-open-source-supply-chain/
[7] https://about.codecov.io/security-update/
[8] https://www.gartner.com/en/documents/4003625
[9] https://cycode.com/#
[10] https://cycode.com/blog/cycode-recognized-as-a-cool-vendor-in-recent-gartner-report/
[11] https://blog.csdn.net/shipinginfo/article/details/88526352
[12] https://www.imiaoyun.com/article/article_details/id/9113.html
[13] https://mp.weixin.qq.com/s/8va-oDlILDytP9kbSo8maA