引言
近年来,应用程序安全测试AST技术越来越受市场关注,且得到了更多的应用。究其原因是日益增多的安全攻击让企业意识到了网络安全的重要性。面对严峻的网络安全现状,实现高度安全的软件开发生命周期和有效的 DevSecOps 实践已成为企业和安全团队至关重要的目标。
当大多数应用程序开发团队采用DevOps模式,转向敏捷开发以提高开发的速度,缩短业务上线的周期时,会面临业务着急上线检测不足,带病上线的情况。
诸如AST(SAST、DAST、IAST、SCA)测试工具就得到了众多的应用,主要是用于在DevSecOps工具链模型中实现从编码到测试阶段的安全检测。
从AppSec到DevSecOps
AppSec是应用程序安全(application security)的缩写,通常指软件开发生命周期的应用安全过程,包括识别、修补和修复应用程序中的漏洞。
DevSecOps集成开发、安全和运营,当AppSec加入DevOps时,就形成了DevSecOps。AppSec和DevSecOps的主要区别在于前者是一个周期中的过程,而后者指的是组织中的方法论和文化。不过,最终都是为了持续地提供高质量的安全可靠产品、保持低成本为目标。
实现DevSecOps的4种应用安全测试定义如下:
💙 静态分析(SAST):也称为"白盒测试",SAST是一种软件安全漏洞测试。该工具会在开发应用程序时分析源代码,以检测和报告可能导致安全漏洞的弱点。通过使用此类工具,可以在开发早期识别安全漏洞。
💙 动态分析(DAST):也称为"黑盒测试",是一种软件安全漏洞测试。此类型的工具在运行时检测指示安全漏洞的条件使用此类型的工具,可以在开发周期的后期识别安全错误、运行时和与环境相关的问题。
💙 交互式应用程序安全测试(IAST):"同时结合了SAST和DAST的元素"。IAST 具有代码可见性的运行时代理分析正在运行的应用程序。
💙 软件组成分析(SCA):软件成分分析是一种扫描第三方应用程序中的源代码或生命周期中使用的开源组件的解决方案。除了检测漏洞之外,SCA 工具还提供对许可的可见性,它们可以轻松集成到CI/CD 管道中,并从构建到预生产阶段持续检测漏洞。
DevSecOps下的AST和RASP
在敏捷开发和外包的时代,实施安全的软件开发生命周期至关重要。我们需要扩展软件安全方法,以便在部署应用程序后为其提供额外的保护层。RASP恰好是能够实现这样的技术,在应用程序运行时实现自我保护。
如上图所示,我们可以清晰地看到,AST安全测试工具聚焦在代码开发到版本发布的过程阶段,而对于应用程序上线运营阶段的安全防护,则需要依托于RASP。由此可见,RASP对于AST来讲,是安全能力的补充,分别作用于不同的阶段。
虽然,RASP和IAST使用类似的技术;它们都在Web服务器上运行并连接到应用程序的运行时,但它们在目的、方法和输出方面有所不同。
例如,IAST针对应用程序的分析基于动态污点追踪技术,分析外部输入代码中的执行流程中是否有相关清洗、过滤、校验等操作,最终报告包含风险的数据流;RASP则是在后台运行,分析应用程序流量和活动,仅在检测到恶意行为将要被执行时进行警告或拦截,而不会关注正常的流量和行为,最终报告的是恶意行为的事件信息。
IAST 在测试环境中运行,作为安全测试的一部分,主要目的是检测漏洞以进行修复,而 RASP 则在生产环境中运行,旨在攻击发生时报告或阻止攻击。
作为 DAST 和 SAST 工具的补充,RASP 可帮助 DevSecOps 团队了解软件在线上运行过程中的安全风险,深入应用程序内部以防止恶意攻击,通过给应用程序额外上一道保险,可以让真实的攻击行为作为材料,帮助开发团队提高安全意识,并加速 DevOps。
而且,RASP安全产品与应用程序集成,通过分析流量和最终用户行为来防止运行时的攻击。当 RASP 产品检测到攻击时,它们会发出警报,阻止单个请求的应用程序执行,会对应用程序下发“虚拟补丁”以来防止后续的攻击利用。由于 RASP 工作在代码运行时环境,可以以代码级的信息来更准确地识别攻击,减少误报并报告或阻止真正具有威胁的操作。
RASP是AST的加强“武器”
虽然作用阶段不同,通常RASP相对于AST的增强主要有如下四点:
😎 RASP 可以加速应用程序的发布流程,有些漏洞来不及修复时,可以使用 RASP 提供临时防护,确保应用按时交付。
😎 RASP可以提供多维度的危害指标,包括 URL、原始请求、攻击来源、危险参数、代码调用堆栈等,从而帮助安全运营团队更好地响应网络安全事件。
😎 运行应用程序时,允许开发团队在任何时间做好更充分的准备并了解其应用程序正在执行的操作。
😎 其无缝集成和无代码部署对应用程序整体性能的影响最小。
因此,可以说RASP是一个包罗万象的应用程序安全选择。
总结
RASP的优点在于能嵌入在应用程序内部,应用代码无感知。所以在使用RASP的过程中,无需担心原有的应用安全程序检测工具是否要被替换,RASP会是检测工具的绝佳partner。将RASP与检测工具联动扫描,能够更好了解应用程序上下文,方便定位漏洞信息,更少的误报和漏报,对各种绕过手法具有更强的防护能力。
扫码添加小镜微信,邀请入群哦
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...