打个比方,IAST 就像一个在应用程序运行时内置的安全助手,嵌入到应用程序中,实时检测并报告漏洞,这一点和 RASP 有点异曲同工。
静态应用安全测试(SAST)方法在软件开发生命周期(SDLC)的早期阶段,在非运行时环境中检查源代码。
虽然 SAST 工具用起来很简单,但 SAST 基本不会考虑其他安全对策的存在,并且在运行时缺乏可见性,因此会产生大量误报...
SAST 工具通常在集成开发环境(IDE)内部作为编译阶段的一部分运行,并且由于扫描过程需要时间完成,会引入延迟;而相比之下,IAST 比 SAST 更灵活,因为它们适用于生产运行时环境(SAST 需要直接访问源代码)
DAST 方法类似于一个黑盒扫描器,通过对应用程序发送请求来发现安全问题。
DAST 从外部查看应用程序,通过查看服务器对一系列测试的响应来确定是否存在安全问题,但是吧 DAST 无法看到应用程序的内部工作流是怎样的;此外,DAST 测试的自动化还是有点苦难,Forrester 估计,一次 DAST 扫描的持续时间大约需要 5 到 7 天,而使用 IAST 进行测试几乎是实时的...
代理嵌入到应用服务器或运行环境中,监控应用程序的输入输出、函数调用、数据流和执行路径。
分析引擎则通过代理收集的数据,实时分析应用程序的行为,例如可以识别 SQL 注入和 XSS 等。
所以啊为啥说 IAST 和 RASP 异曲同工呢?简单来说,IAST 就是在程序实际运行时,动态地检测和分析代码,找到安全问题。
在开发周期中,IAST 主要用于代码开发前期的,实际上 SAST DAST IAST 都是适用于在代码开发和测试阶段使用...通过在这些阶段进行安全检测,我们能够在代码编写和功能测试时同步发现并解决安全问题,这样不但提升了开发效率,还能减少在发布前进行大规模安全测试的压力,最重要的是还能顺带提升研发同学们的安全意识呀!
https://github.com/HXSecurity/DongTai
https://rasp.baidu.com/doc/install/iast.html
https://github.com/baidu-security/openrasp-iast
https://docs.contrastsecurity.com/en/community-edition--ce-.html
不过他们家可能快取消社区版支持了,现在看起来是全部上云并提供免费试用...所以能用几天还不好说哦..
因为大部分团队在考虑 IAST 时,会直接选择 RASP ...
一方面是 RASP 不仅能检测漏洞,还能在运行时主动拦截攻击,提供更直接的防护效果。对于一些对安全性要求极高的应用场景,RASP 可能更具吸引力,毕竟没人会想花两份钱做一件事对不?
另一方面是 IAST 和 RASP 都需要在应用程序中植入 Agent,部署方式很相似,那既然都要植入 Agent,我不如直接选择功能更强大的 RASP多好啊!
但在我看来 IAST 和 RASP 并非替代关系,而是互补的。IAST 能更早发现漏洞,提供更全面的漏洞信息;而 RASP 则能直接拦截攻击,更适合生产环境,但还是那句话,安全这东西丰俭由人,适当节约一下也没啥不好的!
原文始发于微信公众号(imBobby的自留地):最后说说 IAST,顺便给出一些常用的开源、免费工具!
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论