从静态分析安全性测试中挖掘钻石

静态分析或静态应用程序安全测试(SAST)工具是在开发过程的最早阶段发现代码库中缺陷的强大方法。但是,用于执行该测试的工具是钝器。

从静态分析安全性测试中挖掘钻石

静态分析或静态应用程序安全测试(SAST)工具是在开发过程的最早阶段发现代码库中缺陷的强大方法。但是,用于执行该测试的工具是钝器。

SAST工具提供了直接用于工具的数据量。我认为它是SOOT

调查结果需要审核或审查。而且经常是从一个人那里手动分类。即使是出于善意,人类也无法跟上步伐,而且往往不知所措。


来自SASTSOOT数据问题

由于它提供的信息量很大,工程师最终只是错过了静态分析工具发现的一些最重要的漏洞,因为这些缺陷隐藏在所有噪声(或SOOT)中。

没有任何额外的过程,开发人员将获得大量静态分析结果,但是他们不知道该把精力集中在哪里。发现的违规数量如此之大,以至于忽略和修复问题一样有用。

在筛选此类SOOT数据时,您试图找到有意义的信息您可以处理和精炼的菱形。但这仅占您数据的10%。当您尝试减少噪声量(也称为假阳性比率)时会出现麻烦。为了消除错误的读数,您需要一个可以轻松调整和配置用于特定环境的工具,同时降低对人工智慧和监督的依赖。

误报的发生可能有多种原因。要了解有关误报及其可能造成的混乱的更多信息,请阅读《静态代码分析中的误报》。


掌握贸易的SAST工具

所有SAST工具都始于您选择正确的检查器集和配置,以与各种类型的代码库(包括旧代码)一起正常工作,并指定违例严重性和缺陷分类。

正确的设置是基于安全准则,可能的法规以及您在现场遇到或预期会发生的问题之类的。然后进行配置以考虑您的框架,上下文,旧代码等,有助于产生更有用的结果。这些检查程序通常具有基本的默认严重性,以简化优先级。

利用本地代码,构建,编码样式和框架的上下文,您可以自定义系统中的规则和配置,以定义静态分析工具将报告的值和阈值。Parasoft通过使用风险模型来完善您应关注的领域来超越此范围。

使用风险模型

风险模型提供了一种客观的方法,可以帮助确定代码缺陷的可利用性,弱点,普遍性和可检测性的影响。以及它可能对应用程序产生什么样的影响。结果是要确保能够优先考虑易于发现和利用的漏洞的更大范围。通过结合严重性模型和风险模型,Parasoft工具可以确定问题的严重程度,同时提供建议的措施。

使用Parasoft静态代码分析工具,您将获得一个解决方案,该解决方案可挖掘大量静态分析结果,从而为您提供希望作用的希望钻石大小的珠宝。通过在相关风险的上下文中考虑严重性的概念,Parasoft工具可以应用来自行业标准安全模型(如CERTCWEOWASP)的数据,并将其直接带入报告和分析仪表板。

通过考虑多种风险模型,我们可以将上下文注入您的静态分析结果中,从而使您可以专注于大型钻石,而无需手动滤除所有烟灰,而不必担心您可能遗漏了什么(假阴性)。


找出最重要的违反AIML的行为

通过利用人工智能(AI和机器学习(ML)技术,Parasoft静态分析工具可以识别所有发现的违规现象之间的热点和交集,因此您可以将精力集中在代码库中,这是造成许多违规的根本原因其他问题。更好的是,ML监视并学习您自己的开发团队的行为,以区分重要和不重要。

根据开发团队的历史行为来训练您的AI模型,可对发现进行多维分析,而ML则对数据进行聚类以识别相关,相关或相似的违规行为。结合这两种技术,您可以获得更好的结果。可以了解到哪些假阳性结果可以忽略,哪些真阳性结果可以突出显示,从而可以将大量信息缩减为几颗非常有价值的钻石。

例如,静态分析可以揭示典型代码库中成千上万的违规情况,尽管您可能能够识别出数百个要解决的缺陷,但您将无法在所有时间内修复所有问题。通过AIML查找违规热点,您可以通过识别导致所有问题的单个代码来同时修复多个缺陷。


使SAST培训轻松愉快

培训人们使用静态分析工具通常被视为一个问题。它需要对特定的编程语言有深刻的了解才能获得最大的收益。因此,Parasoft静态分析解决方案具有集成的培训,教育和认证计划,可帮助您的开发人员快速掌握最新情况,从而可以最大程度地减少报告的误报次数,并将他们的工作重点放在重要的工作上,而不是编写代码通过警告。 

通过减少无关结果的数量,该工具的采用率将提高。只需培训您的团队,他们便无需进行任何挖掘即可获取所需的信息。如果您给开发人员提供三项要解决的事情,这些事情显然是高度优先和真实的,那么您获得的采用要好于为他们提供300次违规行为,而仅解决30个值得解决的缺陷。而且,如果他们的手干净了,他们会很乐意一次又一次地使用该工具。它是值得信赖的顾问和工具,而不是上面令人讨厌的过程。

总结

无论您的静态分析有多少自动化,总会有手动分类的元素。问题是,在找到有价值的东西之前,您必须走多远。但是,借助包含风险元数据的工具以及配备了AIML的工具,可以更加有效地发现和修复缺陷,您可以在软件开发生命周期开始时快速解决违规问题,以构建安全可靠的软件。 

从静态分析安全性测试中挖掘钻石
标签:

来源:慧都

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

上一篇 2021年1月23日
下一篇 2021年1月23日

相关推荐

发表回复

登录后才能评论