前言
过去的一年里,SolarWinds和Kaseya以及Apache log4j漏洞等黑客入侵事件让软件供应链风险得到了更多的关注,也给人们敲响了新的警钟:
无论是通过渗透软件交付管道,还是利用开源组件中现有的漏洞,攻击者都在利用供应链控制的漏洞来危害组织及其客户;安全漏洞威胁已然成为我们无法回避的问题。
开源软件数量呈指数增长,导致我们根本无法单纯通过人力对漏洞进行筛查;且庞大的开源数量群让库间关系越发复杂,我们很难察觉到漏洞的存在。
在快速发展的时代里,效率至上是大家默认的规则。为了尽快产出,研发人员必然会采用大量的开源组件和第三方库。
与此同时,开发者更多关注自身编码是否安全可行,却忽略了这些“外来者”的风险。显而易见的是,当第一个问题出现,后续影响都会接踵而来,从而引发多米诺骨牌效应,造成难以估量的经济损失。
层出不穷的软件安全事件也印证了这一点:黑客只需找到软件供应链中的一个漏洞就可以发起攻击,开发人员却要对整个软件供应链进行维护。一旦出现被攻击的情况,留给研发人员的时间便会被压缩。
我们必须对开源漏洞的审查完成更加自动化和高效化的要求。
为了解决开源应用威胁这一问题,SCA技术应运而生,这是目前对应用程序进行安全检测最有效的办法之一。
SCA简介
01 什么是SCA
SCA(Software Composition Analysis)软件成分分析,通过检测软件许可证、依赖项以及代码库中的已知漏洞和潜在漏洞来分析开源组件,使 DevOps 能够管理其安全风险和许可证合规性。