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