当前位置:   article > 正文

洞态IAST Agent正式开源

洞态

一、洞态IAST

洞态IAST是一款被动式的交互式安全测试工具,具有漏洞检出率高、误报率低、无脏数据、支持数据包加密/一次性签名/验证码等不支持重放的场景下的漏洞检测、支持微服务/API网关/分布式应用等应用架构下的漏洞检测、支持对移动APP的后端服务器进行漏洞检测等优点。此外,洞态IAST支持在不发送数据包的前提下对历史数据中未出现漏洞的API进行的重复检测,最大可能的检测出漏洞。

1.洞态IAST的原理介绍

IAST的核心技术点有三个:

  • 值传递算法

  • 污点链路梳理

  • Hook策略

其中,值传递算法用于污点的标记和污点传播动作的检测;污点链路梳理用于分析污点的完整流向;Hook策略用于定义代码流中需要检测是否有污点出现的位置(污点来源方法、污点传播方法、污点过滤方法、危险函数等)。

污点传播的原理:当应用程序从外部输入(HTTP请求、RPC请求、文件、消息队列等等)获取数据时,这些数据被标记为初始污点,数据在应用程序的各个方法/对象之间传递、通信时,出现了污点的流动,在污点流动过程中,污点数据的复制、变化等操作构成了污点的传播;当污点传播至危险函数,导致危险函数触发危险动作时,出现了漏洞。

洞态IAST的创新点

  • 污点传播的自适应检测
  • 污点传播数据云端离线存储及云端污点链路梳理算法
污点传播的自适应检测

Java语言中,数据分为基本类型和引用类型,所有的引用类型都继承自Object对象,存在hashcode方法用来标记实例化对象;“洞态IAST”根据对象的hashcode来对污点数据进行标记及污点传播过程的判断,同时,针对集合类型、字符串类型等场景进行拆分适配,确保值传递算法的准确性。

“洞态IAST”支持预定义策略的污点传播检测与识别、支持未知方法的污点传播自适应检测,关于值传递算法的核心代码和核心思想,可通过开源版本的JavaAgent自行研究学习。

污点传播数据云端离线存储及云端污点链路梳理算法

污点传播数据云端存储,实现了任意时间重新对历史污点传播过程进行回朔分析,当0 Day爆发或出现新的漏洞策略时,可直接对历史数据进行分析,检测是否存在相关漏洞;

同时,基于”污点传播自适应”算法,可梳理出污点在应用程序中传播时存在的所有污点链路,最终,形成一幅完整的污点调用图(如下图),根据污点调用图,可通过指定自定义的漏洞策略,快速搜索是否存在相关的漏洞。

image-20210331104225072

2. 洞态IAST快速体验

洞态IAST可用于代码审计的过程中自动检测漏洞、

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/664839
推荐阅读
相关标签
  

闽ICP备14008679号