Cycode:軟件供應鏈安全完整解決方案
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工具安全、防代碼篡改、硬編碼機密監測、源代碼泄露監測和基礎設施即代碼安全,下文我們將主要圍繞這五個功能進行產品介紹。
01 DevOps工具安全
隨著 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