赞
踩
交互式应用程序安全测试(IAST)是 2012 年 Gartner 公司提出的一种新的应用程序安全测试方案,通过代理和在服务端部署的Agent 程序,收集、监控 Web 应用程序运行时请求数据、函数执行,并与扫描器端进行实时交互,高效、准确的识别安全漏洞,同时可准确确定漏洞所在的代码文件、行数、函数及参数。- 来源信通院 研发运营安全白皮书-2020年
新技术的出现,是为了解决老技术历史遗留问题,IAST的老技术就是SAST和DAST
传统的应用安全测试主要包括SAST(静态应用安全测试)和DAST(动态应用安全测试)。SAST对应用程序源代码进行白盒分析。分析是在代码的静态视图上运行的,这意味着代码在被检测时并没有运行,SAST的误报率无法得到有效控制,并且难以适用处于生产阶段的系统。DAST对应用进行黑盒测试,无法访问代码细节。DAST产品不用关注底层的技术和平台,因此使用度更广泛,准确率也有不错的保障。但DAST的技术特性决定了其高漏报率的结果,且无法应用于应用的研发阶段。而如今,作为入选Gartner十大信息安全技术的IAST(交互式安全测试),结合了SAST和DAST的优点,低误报率和高检出率同时得到了保证。灰盒测试的特性使IAST可以有效地应用于从开发到生产的全流程当中,让安全测试与SDLC无缝结合。看到上面这段描述没? 老的技术有问题,需要新的技术来顶,此段内容来源悬镜灵脉IAST介绍
基于开发语言自身的插桩技术,在软件运行过程中采用污点传播技术跟踪用户输入数据(污点)执行流程,来检查安全漏洞。
程序插桩?到底啥是插桩?插桩是一种测试程序性能、检测错误、获取程序执行信息的技术(来源IBM,及维基百科)插桩技术(Program Instrumentation)最早由J.C. Huang 在1978年发表到IEEE的《Program Instrumentationand Software Testing》提出的。在保证被测程序原有逻辑完整性的基础上在程序中插入一些探针(probe),即添加一些代码,获得程序的控制流和数据流信息。例如通过自动工具或手动,在函数执行前后插入读取计时器的代码,获取函数执行时间。可见,程序插桩是一项有着悠久历史的技术,主要应用在软件测试中,其实就是我们比较熟悉的测试方法,比如我们在源代码的函数执行前打印当前时间,在函数之后再次打印时间,进而计算函数的执行时间,找出影响软件性能的函数,就是源代码级别的程序插桩的一种应用。在安全领域最早使用程序插桩技术的,目前没有一个统一说法,2012年鸟哥编写的检测php代码安全漏洞PHP taint 0.0.1,是我知道的第一个基于程序插桩技术检测安全漏洞的工具。都这里就没有办法继续展开了,因为每种语言的插桩都不一样,与语言自身实现关系太强,比较底层,已经大大超出笔者的认知了,逃逃逃
个人感觉IAST是比较有未来的在甲方安全测试中,如前所述,IAST有这种低误报的特性。同时,看到有些厂商如默认雳鉴IAST 已经能够检测逻辑漏洞了,原文"可对常见风险进行检测,且可利用专利级的检测方式,对水平越权、垂直越权等逻辑漏洞进行自动化测试"开源网安灰盒安全测试平台- DevSecOps|IAST灰盒|灰盒测试|应用安全 (seczone.cn)也介绍"支持业务逻辑漏洞检测"虽然目前我还没有理解他们具体怎样检测的逻辑漏洞,但相信IAST针对可以在逻辑漏洞检测方向有所突破,成为超越SAST和DAST绝对优势。
IAST是依赖于语言自身的插桩技术,因此与开发语言强相关,但看了大部分IAST产品,除开源的洞态外,基本上没有说支持啥语言,这也许就是中国网络安全产品的特色,不管用户啥环境啥场景,我的产品都行,是在不行也有0.1%能够覆盖,最终结果可想而知。在不就是我也不写清楚,想要详情请联系商务,商务左转右转,了解了到在反馈给你,然后就是每天/周跟进你是否有需求,是否需要测试,是否有计划(预算), 是否采购,让你最后买买买,你不得不删删删(联系方式)。因此对于IAST产品的分类应该从厂商产品和语言两个方面进行比较。
一句话(总结): IAST将手动安全测试变成了自动化
两句话(二层展开):
对于管理者:更加关心投入与产出,最终预期,所以可以从整个角度展开
对于技术迷:可以从实现原理角度展开
最终两种结合,形成二层介绍
IAST是利用语言自身的插桩技术,在语言内部跟踪数据执行流程,实时发现安全漏洞,具有高检出、低误报的优势,是安全适度左移最佳实践
三句话(三层扩展):这个更加泛的角度,如插桩的产生背景,用途。IAST产品对比,优势,未来等IAST是利用语言自身的插桩技术,在语言内部跟踪数据执行流程,实时发现安全漏洞,集成了SAST和DAST工具的优点,具有高检出、低误报的优势,是安全适度左移最佳实践, 在互联网、银行等行业得到了普遍应用,目前除检测传统安全漏洞外,能够检测权限等逻辑漏洞
Program Instrumentation and Software Testing (程序插桩和软件测试) 英文版 在线下载,免费下载 github5安全文库
(IBM Source code instrumentation overview -IBM 源代码插桩技术概述-主要讲插桩的额外开销
J.C. Huang’s 程序插桩之父的网站
J.C. Huang’s 程序插桩之父的介绍
信通院 研发运营安全白皮书-2020年 http://www.github5.com/view/266
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。