Veracode成立于2006年,2017年被CA Technologies收购,现归属博通(Broadcom),是全球领先的应用安全(AppSec)SaaS平台提供商。公司专注于为开发周期提供全流程安全测试解决方案

IAST
0.00条评价361次浏览
所属厂商:
交付方式:
定价方式:
适用客户规模(/人):
价格区间:
公司介绍:
产品详情
Veracode IAST(原名Veracode Runtime Analysis)采用 “动态污点追踪 + 运行时智能探针” 双引擎架构,其核心创新在于 “无代理(Agentless)” 设计与 “二进制级分析” 能力。系统由四大模块构成:
1. 智能探针注入系统
- 无代理部署:
- 无需预装Agent,通过调试接口(JPDA/JVMTI) 或 进程注入技术 动态植入探针
- 支持Java/.NET应用:
- Java:通过
jdb或jvmti接口动态挂载监控逻辑 - .NET:利用CLR Profiling API注入检测代码
- 轻量化探针特性:
- 按需激活:仅当安全测试启动时注入,测试结束自动卸载
- 内存驻留<50MB:远低于传统Agent方案(通常>200MB)
2. 二进制污点追踪引擎
- 工作原理:
graph LR
A[HTTP请求] --> B(标记污点源)
B --> C{二进制指令监控}
C --> D[传播污点标签]
D --> E{危险函数调用?}
E -->|是| F[触发漏洞]
- 关键技术:
- 指令级监控:在JIT编译层面对CPU指令插桩(如监控
mov,lea等涉及内存操作的指令) - 污点标签压缩:使用位向量(Bit Vector)存储污点状态,单标签仅占4字节
- 跨线程传播:通过线程本地存储(TLS)实现多线程环境污点跟踪
3. 漏洞验证引擎
- 被动检测模式:
- 监控真实用户流量,记录漏洞触发路径(如SQL查询被篡改)
- 主动验证模式:
- 自动生成无害PoC验证漏洞可利用性:
SELECT 'veracode_test' -- SAFE
- 支持漏洞类型:
- 漏洞类型
- 验证逻辑
- SQL注入
- 检测查询结构是否被改变
- XSS
- 验证恶意脚本是否在响应中执行
- 命令注入
- 检查系统命令参数是否被污染
4. 中央分析平台(Veracode Platform)
- 分布式数据处理:
- 基于Kafka流处理架构,支持每秒处理10万+污点事件
- 漏洞关联分析:
- 与SAST/SCA结果联动:
- IAST验证SAST报告的潜在漏洞
- SCA识别第三方库漏洞后,IAST检测其是否被触发
- AI误报过滤:
- 基于历史数据训练LSTM模型,识别误报模式(如测试数据干扰)
核心技术实现细节
1. 污点传播规则库
- 污点源(Source)定义:
// Java示例:标记HTTP参数为污点源
public void doGet(HttpServletRequest req) {
String param = req.getParameter("input"); // Taint Source
}
- 传播规则:
- 字符串操作:
concat(),substring()保留污点标签 - 集合类型:
List.add()将污点传播至集合元素 - 对象序列化:污点状态随对象持久化
- 净化函数识别:
- 自动识别
encodeURI(),PreparedStatement.setString()等安全函数
2. 二进制级监控实现
- Java字节码插桩优化:
- 采用ASM框架动态重写字节码:
class TaintMethodAdapter extends MethodVisitor {
public void visitMethodInsn(int opcode, String owner, String name, String desc) {
if (isSinkMethod(owner, name)) { // 检测危险方法
insertTaintCheck(); // 插入污点检查指令
}
super.visitMethodInsn(opcode, owner, name, desc);
}
}
- .NET CLR监控:
- 通过
ICorProfilerCallback接口拦截方法调用
3. 分布式追踪技术
- 跨服务追踪:
- 在HTTP Headers注入追踪ID:
X-Taint-Trace-ID: 7d3f0a9e-1
- 支持微服务架构:Zipkin/OpenTelemetry集成
- 异步调用追踪:
- 通过线程池上下文传递污点标签(Java的
InheritableThreadLocal)
高级安全能力
1. 0day漏洞检测
- 异常行为分析:
- 监控危险函数的非常规调用:
Runtime.exec("sh -c abnormal_command") // 异常命令模式
- 内存攻击检测:
- 堆溢出监控:通过内存分配钩子检测缓冲区越界
2. 第三方库漏洞验证
- 被动指纹识别:
- 通过堆栈帧识别库版本(如
log4j-2.14.1.jar) - CVE触发检测:
- 当检测到
JndiLookup.lookup()调用时,关联CVE-2021-44228
3. 安全基准测试
- 自动化测试用例生成:
- 基于API Schema生成边界值测试Payload:
{"input": "<script>alert(1)</script>"} // XSS测试用例
DevSecOps集成能力
1. 持续测试流水线
# GitLab CI示例
ia_scan:
image: veracode/runtime-scanner
script:
- veracode-scan start --app MyApp --test "mvn test"
- veracode-scan wait --timeout 1800
rules:
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
- 质量门禁:CVSS≥7.0漏洞自动阻断合并请求
2. 结果同步与治理
- 漏洞数据格式:支持SARIF、CycloneDX
- 集成生态:
- 系统类型
- 集成方式
- 缺陷管理
- Jira, ServiceNow
- CI/CD
- Jenkins, Azure DevOps
- 安全平台
- Splunk, Elastic SIEM
性能优化技术
1. 智能采样策略
- 高频函数降采样:
- 对
String.equals()等基础函数启用1/100采样率 - CPU熔断机制:
- 当系统负载>80%时自动切换至关键漏洞监控模式
2. 污点标签压缩
- 位图编码优化:
- 使用RoaringBitmap压缩标签存储,内存占用降低10倍
3. 分布式计算
- 边缘计算节点:
- 在K8s集群部署本地分析节点,减少云端数据传输
技术边界与适用场景
1. 优势场景
- 遗留系统:无需源码即可分析二进制应用
- 容器化环境:支持Docker/K8s动态注入
- 高合规行业:满足PCI DSS, HIPAA审计要求
2. 技术局限
- 语言支持:深度支持Java/.NET,其他语言(如Go)有限
- 异步漏洞:非请求链路漏洞(如定时任务)需结合日志分析
- 性能损耗:复杂应用CPU开销可达8-12%
总结
Veracode IAST通过 “无代理动态插桩” 与 “二进制级污点追踪” 技术,在无需源码的前提下实现高精度漏洞检测。其核心价值在于:
- 精准检测:污点路径定位至代码行,误报率<5%
- 无缝集成:无代理设计实现分钟级接入,零改造现有系统
- 全栈关联:与SAST/SCA结果联动,构建完整应用安全视图
该方案特别适合拥有大量遗留系统的金融、医疗行业,以及需快速落地DevSecOps的云原生企业,是Veracode应用安全平台的核心检测引擎。
展开更多
案例介绍
暂无内容
版权/专利
暂无内容
评价

"客观"-"真实"-"中立"-"专业"点评,每项不少于20字,总字数不少于90字,帮助更多迷茫的IT人。点评完即可现金抽奖,满5个送笔记本/平板活动支架;10个送扫地机器人;20个送VIP视频会员。
评分标准及明细
0-20分
很糟糕功能/性能/服务等基本无法使用
20-40分
较差功能/性能/服务等存在较多问题
40-60分
一般行业同类平均水平,凑活够用
60-80分
还不错行业上游水平,能满足大部分使用需求
80-100分
优秀行业领先水平,只有20%左右评比对象满足这个标准
总评分
项目
评分
同类平均分
综合
0
0
兼容性
0
0
稳定性
0
0
易用性
0
0
性能
0
0
市场占有率
0
0
功能
0
0
扩展性
0
0
美观度
0
0
技术服务
0
0
性价比
0
0
时间排序↓
最新
精华
0 条评论

向我咨询

发表评论






