德甲联赛竞猜-德甲联赛竞猜官网

德甲联赛竞猜-德甲联赛竞猜官网

SAST, SCA和DAST

比较应用程序安全性测试方法 

彼得Cockshott
| 5/14/2021
如何防止漏洞

通过使用特定的应用程序安全测试方法, 安全专业人员可以在软件开发生命周期的早期识别和修复应用程序漏洞.

应用程序为德甲联赛竞猜今天所做的几乎所有事情提供了便利. 银行, 购物, 旅行, 医疗保健, 其他关键德甲联赛竞猜都依赖于底层应用程序和软件包来安全地处理和传输数据.

应用程序安全性测试是保护数据完整性的一个关键组件, 软件开发人员依赖于各种通用的自动化应用程序安全性测试方法. 这些方法各有利弊, 而是当集成到开发过程中并与之结合 渗透测试,它们可以支持评估应用程序安全性的综合方法.

新的应用,旧的问题

尽管在应用程序开发和测试技术方面取得了几十年的进步, 许多开发者过去所面临的问题和挑战仍然存在. 例子包括:

  • 源代码的完整性可以被验证吗?
  • 用户输入可以被消毒吗?
  • 是否禁止用户访问其他用户的机密信息?
  • 应用程序是否保持可伸缩性?
  • 当用户以意想不到的方式与应用程序交互时会发生什么?
  • 如何将错误传达给用户而不给攻击者提供有价值的信息?
注册以获得关于识别威胁的最新网络安全见解, 风险管理, 并加强组织的安全态势.

事实上, 早在20世纪60年代和70年代,人们就开始讨论这些问题, 当军事和航空航天软件和应用需要的时候 彻底检查了漏洞 外国对手可能会利用的地方. 而应用程序安全性测试从那时起已经走过了很长的一段路,并且安全性在软件开发生命周期中已经变得更加紧密, 潜在的担忧仍然存在.

以解决这些问题, 开发团队需要对他们的软件进行一系列严格的安全测试,以确定常见攻击的易感性,然后在应用程序向更广泛的用户基础发布之前实现修复或缓解控制,以防止此类攻击.

静态应用程序安全性测试

开发人员使用的第一种测试形式是通过使用静态应用程序安全测试(SAST)工具来审查源代码. 这些工具评估应用程序的源代码或可执行文件(已编译的二进制文件)形式,以识别可能由于糟糕的编码实践或开发过程中的疏忽而出现的安全缺陷.

1978年发行的Lint是 最早的SAST工具之一. 在第二年作为实用程序添加到Unix操作系统之后, 几十年来,Lint一直是领先的解决方案之一. 目前, 数百种不同的商业和开源解决方案可以用于各种各样的语言和用例. 开放Web应用程序安全项目(OWASP)基金会已经编译了一个 列表 其中的一些解决方案.SAST工具被认为是一种开箱式安全测试, 这意味着测试的重点是软件的设计和结构,而不是软件的功能. 因为这个原因, 开箱测试通常由对软件非常熟悉的个人进行, 比如软件开发人员.

SAST工具是有益的,因为它们可以集成到开发过程的早期阶段, 它们不需要一个功能齐全的应用程序, 它们可以与许多编程语言一起工作(尽管特定于语言的工具可能会产生更高质量的结果). 另外, SAST工具通常可以嵌入到集成开发环境中,以促进持续测试和接近实时的反馈,这些反馈可用于教育开发人员关于安全编码实践的知识. SAST工具还可以有效地识别漏洞, 比如输入验证, 整数溢出或数字错误, 竞态条件, 不正确的指针和引用, 以及其他可以在开发生命周期早期解决的问题.

然而,SAST也有其不足之处. 第一个, SAST工具倾向于识别大量的假阳性和不存在显著风险的琐碎问题. 经常, 大量的误报和错误分类的风险是由于SAST工具缺乏上下文知识和广泛的假设,而这些是支持各种开发语言所必需的.

不幸的是, 这种高误报率和大量不重要的和报告的漏洞会使开发人员变得不敏感,或者增加额外的负担,因为人员不足和不堪重负的开发团队要清除误报. 另外, 许多SAST工具没有检查开源组件的功能, 例如引用的开源库, 的漏洞.

软件成分分析

幸运的是, 可以使用软件组成分析(SCA)工具来帮助识别开源组件中的漏洞. 根据 2021开源安全与风险分析报告 (OSSRA),开源组件在代码库中变得越来越普遍. 一个常见的误解是,开源组件不包含任何漏洞, 事实上,开源组件允许更多的透明度,以便信息安全社区的成员可以审查这些组件的漏洞.

当然, 漏洞仍然存在, 尽管越来越多的人关注这款软件. 例如, OSSRA指出,2020年审计的代码库中有98%包含一些开源组件,其中84%至少有一个公共开源漏洞, 平均每个代码库有158个漏洞.

而这些漏洞往往被归类为中等风险, 各组织仍应认识到这些问题,并实施适当的缓解技术. SCA工具可以在确定和解决问题方面提供真正的价值. 这些工具可以扫描应用程序代码库,以便识别开源组件和任何相关的已知漏洞, 他们可以提出可以应用的修复方案. (OWASP 清单 开源和商业SCA工具.)

动态应用程序安全性测试

而SCA和SAST工具仅基于源代码就能有效地识别可能存在的漏洞, 它们通常无法识别关键的漏洞,而这些漏洞只有在应用程序运行时才能识别. 进入动态应用程序安全测试(DAST)工具.

DAST工具执行封闭的安全测试, 这意味着这些工具不能访问源代码,必须通过应用程序的前端执行由外向内的检查,以确定漏洞是否存在. 这种形式的测试对于识别诸如跨站点脚本等漏洞特别有用, 跨站点请求伪造, 结构化查询语言注入攻击, 不安全的德甲联赛竞猜器配置, 和验证问题.

这些工具可以检测出恶意用户在攻击应用程序时可能使用的漏洞. 另外, 因为测试的性质, 与SAST工具相比,DAST结果往往具有更低的假阳性率, 而这些脆弱性在本质上可能具有更高的风险. DAST工具遵循与应用程序渗透测试类似的方法,通过枚举应用程序页面和功能, 探测枚举区域的漏洞, 试图利用已识别的漏洞来排除误报, 然后根据利用尝试的成功程度对报告中的漏洞进行分类.

然而,DAST工具确实有一些局限性. 它们通常使用一系列预定义的漏洞进行操作,以检查这些漏洞, 而且——为了避免任何操作中断——他们通常不尝试实际执行有效载荷. 因为这个原因, 应该使用实际执行有效负载的DAST工具来扫描托管在临近生产环境或镜像非生产环境中的应用程序, 例如开发或测试环境, 为了在不影响生产数据的情况下模拟生产级控制. (OWASP 清单 开源和商业化的DAST工具.)

适合您的组织的正确的应用程序安全性测试方法

当涉及到应用程序安全性测试和更一般的信息安全时, 没有什么灵丹妙药可以解决每一个风险或识别每一个弱点. 理想情况下,开发人员将有一个 security-by-design 以开发-安全性-操作为重点的环境中的心态. 但即便如此,脆弱性依然存在.

因此, 结合使用各种测试和预防工具可以帮助开发人员从整体上解决安全性问题. 开发人员应该使用DAST工具来补充SAST和SCA工具,以避免编码错误, 动态运行时问题, 并且可以在开发生命周期中有效地识别和修复配置漏洞.

当将这些自动化测试工具与由可信的合作伙伴进行的实际渗透测试相结合时, 组织可以更好地进行尽职调查,保护应用程序和, 随后, 用户的信息.

 

你有想读的话题吗?

让德甲联赛竞猜知道.