RSA创新沙盒盘点 | Cycode——软件供应链安全完整解决方案

发布者:绿盟科技
发布于:2022-05-23 09:04

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


声明:该文观点仅代表作者本人,转载请注明来自看雪