软件供应链攻击事件的频发,Passwordstate攻击事件、Codecov到SolarWinds、Apache log4j漏洞...引发大家的关注。
互联网,以至未来IOT时代,针对政府、公司、机构以及个人软件系统的攻击,有可能是全方位地出现在各个环节,采用不同的攻击媒介和技术进攻。
有从破坏中间软件升级功能或CI/CD工具的中有传播恶意更新;
到破坏上游服务器或代码存储库并注入恶意负载,再将有效载荷向下游分发给用户;
同时,也有可能发生在GitHub项目中由于一个合作者没有遵守规矩损害众多人的供应链安全 ...
安全性一般取决于最薄弱的环节,人为因素大概率仍然是最薄弱的环节,因而泄露也往往来自我们意想不到的地方:
开发人员分布广泛,且没有足够的宽带来审核大家提交的每一个代码;
开发人员的数量远远多于安全人员;
开源中使用的代码亦可能是存在缺陷或完全是恶意的...
对一个组织,即使寻找资源为一小部分应用执行代码审查,也并非易事。
讲究效率的今天,人工使用手动安全代码审查是一个消耗有效脑力的陈旧模式。
我们对开源漏洞的审查完成提出了更加自动化和高效化的要求。
SCA技术应运而生,这是目前对应用程序进行安全检测非常有效的办法之一。
软件组成分析 (Soft Composition Analysis) 是识别代码库中开源软件的自动化流程。执行此分析是为了评估安全性、许可证合规性和代码质量。
A、公司需要了解开源许可证存在的限制及其承担的义务。手动跟踪变得艰巨,且会常忽略代码及其附带的漏洞。
SCA自动化解决方案起源于开发这一用例,后经扩展,现亦用于分析代码的安全性和质量。
B、DevOps或DevSecOps 环境中,SCA 激发了采用“左移”范式:
提早进行持续的SCA测试,使开发人员和安全团队能在不影响安全性和质量的情况下提高生产力。
1、可检测范围:包管理器、清单文件、源代码、二进制文件、容器镜像等。
将识别出的开源编制成物料清单(BOM)。
A、将 BOM 与多种数据库(多为商用性)比较;
B、发现代码相关许可证并分析总体代码质量(版本控制、历史贡献等),以便安全团队能识别关键的安全和法律漏洞,迅速采取措施加以修复。
2、各种数据库含有关已知和常见漏洞的信息,其中包括国家漏洞数据库(NVD)。
A、NVD 是美国政府的漏洞存储库;
B、Synopsys 拥有自己的内部漏洞数据库Black Duck® 知识库,这也是目前业内最全面的开源项目、许可证和安全信息数据库。
对于开发和安全而言,自动化开源代码分析拥有诸多优势:
1、可全面显示代码库和应用中的开源
2、可全面展示安全风险
3、可全面展示合规风险
4、精简构建到软件开发生命周期中的安全与合规功能
1、安全性和可靠性
2、自动化并行高效检测
采用 DevOps 方法之后,开发速度陡然提升,各组织都需要不影响开发速度的安全解决方案
数量庞大的开源,仅靠手动跟踪开源代码已远远不够。
而云原生应用和更复杂的应用日益普及,使得采用稳定可靠的 SCA 工具成为高效与稳定的必然。