软件组成分析(SCA)何时替换SAST或DAST?
软件组成分析(SCA)何时替换SAST或DAST?简短的答案是永远不会。在这里,我为您节省了足够的时间,您可以去做正确的事情,运行SAST和DAST,并致力于强化代码,而不是尝试在应用程序中测试安全性。
这听起来像是咆哮的开始吗?也许。但是请注意,每次出现新技术、新工艺或新技巧时,都会有人认为这是一切的答案。它可以解决软件安全问题,节省开发和测试时间,甚至可以消除世界上的饥饿感。好吧,我越来越戏剧化。但是说SCA最终将取代SAST实质上是说,因为您正在寻找他人代码中的已知漏洞,所以您不必再检查自己的漏洞。
什么是软件组成分析(SCA)?
SCA是软件组成分析。从理论上讲,它与软件物料清单(目前几乎不存在的物料清单)紧密配合,并跟踪应用程序中使用的其他库和组件。当前,这些工具大多只扫描您应用程序的开源组件,而不一定使用物料清单。(注意:其中一些工具还执行其他功能,例如从OSS项目中查找剪切片段,或者识别和管理OSS许可证问题。这既有趣又重要,但仍不能替代SAST的工作。)
SCA的一项主要功能是检查应用程序中的组件是否存在已知漏洞。这很重要,因此您可以避免出现零时差问题,也可以解决一些组件可能没有货源的问题,因此您无法将它们用于SAST。
OWASP提供用于供应链安全的工具
我必须说,SCA当然是工具包中用于保护软件系统的重要部分。广受欢迎且有用的安全组织称为开放Web应用程序安全项目(OWASP),甚至将此概念添加到了流行的OWASP十大当今最关键安全风险列表的最新版本中。它显示为项目A9——使用具有已知漏洞的组件。如果您不使用OWASP,则可能应该使用。如果您不针对CVEand NVD数据库检查应用程序是否存在已知漏洞,则应该这样做。这些来源跟踪发生的实际攻击以及可用的补丁程序和其他补救措施。
OWASP甚至构建了一个名为OWASP Dependency Check的工具,可以为您完成这项工作。像OWASP提供的所有功能一样,它免费提供。Dependency-Check是一种软件组成分析实用程序,可识别项目依赖项并检查是否存在任何已知的、公开披露的漏洞。
软件供应链安全是应用程序安全的关键部分
我必须承认,在不多年前,软件供应链就被人们忽略了。一些关键人物,其中许多人是软件供应链保证论坛(SSCA)的一部分,他们不仅通过专注于代码,还着眼于供应链,努力强调应用安全方面的这一弱点。实际上,由美国国防部(DoD)、国土安全部(DHS)、总务管理局(GSA)和美国国家标准与技术研究院(NIST)主办的SSCA论坛以前称为软件保障论坛(SwA)并更改了名称,以帮助更多地关注供应链。但目的是扩大重点,而不是将其从您的代码转移到其他人的代码上。
软件和供应链保证论坛(SSCA)为来自世界各地的政府、行业和学术界人士提供了一个论坛,以分享他们在软件和供应链风险,有效实践和缓解策略、工具和技术以及任何其他方面的知识和专长。与所涉及的人员、流程或技术有关的差距。
实际上,SCA是一项测试活动——确保根据列表检查您的应用程序,并确保该列表与该列表一致(例如,已知的漏洞(如NVD))。相反,SAST主要不是测试功能(我知道是异端),而是工程功能。SAST的最小值是在进行笔测试之前发现弱点或漏洞。SAST的最大价值是首先指导您加强代码。停止尝试堵塞泄漏并构建不会泄漏的代码。这是在应用程序安全方面领先一步的唯一方法。如果做得好,您仍然需要SCA,因为您仍然会遇到应用程序中所有这些组件以及与之交互的其他程序以及操作系统本身的问题。如果您的SCA表现出色,那么您仍然需要SAST,因为尽管您已经解决了其他人的代码中的问题,但您自己没有做任何事情。目的是相辅相成的,不能相互替代。
总而言之,SCA非常棒,您想要它,实际上您需要它。我很高兴它比以往得到更多的关注。但是,说它将替代DAST或SAST就像说您有锤子,不需要螺丝刀一样。