软件组成分析SCA何时能够取代SAST和DAST?

软件组成分析SCA何时能够取代SAST和DAST?这个问题没有看起来的这么简单。为了节省你的时间,我建议做更多有意义的事情,比如运行静态应用程序安全测试(Static Application Security Testing,SAST)和动态应用程序安全测试(Dynamic Application Security Testing,DAST),专注于强化代码,而不是尝试在应用程序中测试安全性。

Parasoft C++test帮助团队写出更好的代码,实施更有效的测试,以及持续地监视以实现质量目标。 C++test 可以进行静态分析,全面代码审查,运行时错误检测,并在单元测试和组件测试中集成覆盖率分析。这些能够在开发周期的开始阶段,在开发桌面上自动完成。C++Test能够在桌面的IDE环境或命令行的批处理下进行回归测试,为监测和分析质量趋势提供数据。此外, C++test 与 Parasoft 的 Concerto 结合在一起, 提供基于 Web 交互式的仪表板,具有细分能力的 Concerto 使团队能够通过 C++test 的结果以及其它关键进度指标来把握项目状态和趋势。

Parasoft C/C++test产品 购买Parasoft C/C++test

软件组成分析SCA何时能够取代SAST和DAST个问题没有看起来的这么简单。为了节省你的时间,我建议做更多有意义的事情,比如运行静态应用程序安全测试(Static Application Security Testing,SAST)和动态应用程序安全测试(Dynamic Application Security Testing,DAST),专注于强化代码,而不是尝试在应用程序中测试安全性。

听起来有点像标题党许吧。但是每次出现新技术或者技术出现新发展的时候,都会有人认为技术迭代是必然的。因为软件组成分析(Software Composition Analysis, SCA)能够解决软件安全问题,节省开发和测试时间,甚至可以消除世界上的饥饿感。好吧,我表现得越来越像在说个人脱口秀,其实我只是想夸张地表达新技术在部分人中眼里的作用。但因此说SCA最终就能取代SAST,本质上就像在说因为你查找了别人代码中的bug,所以不再需要检查自己代码中的bug一样。

什么是软件组成分析(SCA)/strong>

从理论上讲,软件组成分析与软件材料清单(software bill-of-materials,目前几乎不存在的东西)紧密联系,并持续跟踪应用程序中使用的其他库和组件。目前,这方面的工具大多只是扫描应用程序中的开源组件,而不一定会和材料清单一起使用。(注:部分工具还可以执行其他功能,例如从OOS项目中查找剪切片段,或者识别管理OOS许可证问题。虽然这两者既有趣又重要,但是仍然不能完全替代SAST)检查应用程序中的组件是否存在已知bug是SCA的一项主要功能。其重要的地方在于你可以因此避免0DAY漏洞,也可以解决因为某些组件找不到源而无法使用SAST技术分析的问题。

OWASP提供了用于供应链安全的工具

首先我必须强调,SCA是工具包中用于保护软件安全系统的重要部分。开放Web应用安全项目(the Open Web Application Security Project,OWASP)——一个主流的实用的安全组织,甚至将这一概念加入到当今流行的OWASP十大最重要安全隐患的名单之中。这个项目就是A9-使用有已知漏洞的组件。当然如果你没有接触过OWASP,我仍然建议你使用SCA。如果你还没有针对CVE和NVD数据库检查应用程序是否存在已知漏洞,同样建议你使用SCA。这种技术可以跟踪实际发生的攻击以及可用的补救程序和其他补救措施。

OWASP甚至出了一个叫OWASP Dependency Check的工具,可以为你完成这项工作。跟OWASP提供的所有工具一样,这个工具也是免费的。Dependency-Check是一款分析软件组成的应用程序,可以识别项目依赖并检查是否存在已知的、已公布的漏洞。

软件供应链安全是应用程序安全的关键部分

不可否认,直到不久之前,软件供应链一直是人们忽略的主题。而现在,一些关键人物(其中部分来自软件和供应链保障论坛(Software and Supply Chain Assurance Forum,SSCA))呼吁大家关注应用程序安全领域的这一弱点,希望大家不仅专注于代码,也要关注供应链。实际上,由美国国防部(DoD)、国土安全部(DHS)、总务管理局(GSA)和美国国家标准与技术研究院(NIST)主办的SSCA论坛以前称为软件保障论坛(SwA),为了提高对供应链的关注,他们更改了论坛名称。不过他们的目的是提高大家对供应链的关注度,而并不是将对自己代码的关注转移到他人的代码上。

这个软件和供应链保障论坛(SSCA)为政府、行业以及来自世界各地的学者提供了平台。人们可以在论坛上分享他们相关的知识和经验,内容包括软件和工具链风险、高效实践和减灾战略、工具和技术以及任何关于别人不知道的相关人员、流程或技术方面的主题。

实际上,SCA是一项测试实践——确保能够根据表单(例如已知的像NVD这样的漏洞)检查你的应用程序,并确保修改通过。与之相对,SAST主要关注的不是测试功能,而是工程功能。SAST最基本的价值在于进行事前测试之前发现缺陷或者漏洞。而它最大的价值在于从一开始引导你提高代码的质量,构建没有泄露问题的代码。这是目前在应用程序安全领域提前检测出代码质量缺陷的唯一方法。如果想做得更完美,你仍然需要SCA,因为你依旧会遇到关于应用程序中所有组件以及与其他程序交互相关或者操作系统本身的问题。即使你SCA实践得不错,你依然需要SAST。因为如果你只应用了SCA,你可能只解决了别人代码中的问题,但是没有对自己的代码做任何事情。SCA与SAST的目的是相辅相成,不能互相替的。

总而言之,SCA技术非常棒,我们确实需要它。我很高兴它受到越来越多的关注。但是说它将代替DAST或者SAST,就好比说你有个锤子,就不需要螺丝或者起子了一样。

【往期回顾】

Parasoft C / C ++ test 10.4.3版本发布!更强的单元测试框架

功能安全标准支持者Parasoft助您实现合规性,消除开发安全漏洞

静态分析和编码标准合规性助力自动驾驶汽车ISO 26262认证成功

Parasoft加入汽车工业软件可靠性协会,共同开发集成MISRA / AUTOSAR编码准则

看这里!行业专家给出的2020年的软件测试预测


想要了解Parasoft、Parasoft SOAtest、Parasoft Virtualize更多信息或资源的朋友,请点击这里~

解决方案专家联系,以了解如何在组织中部署Parasoft的自动化软件测试解决方案。

标签:

来源:慧都

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年1月19日
下一篇 2020年1月20日

相关推荐

发表回复

登录后才能评论