Synopsys(新思科技) 成立于1986年,全球电子设计自动化(EDA) 与半导体IP领导者(纳斯达克:SNPS)。核心业务覆盖芯片设计全流程,提供EDA工具链、IP核及软件安全解决方案。通过收购Coverity、Black Duck等,提供SAST、SCA等应用安全测试方案。

SAST
0.01条评价415次浏览
所属厂商:
交付方式:
定价方式:
适用客户规模(/人):
价格区间:
公司介绍:
产品详情
一、核心架构设计
1. 分层分析框架
graph TB A[源码解析层] --> B[中间表示层] B --> C[多引擎分析层] C --> D[结果验证层]
2. 核心组件功能
- 源码解析层
- 输入支持:
- 支持语言:C/C++/Java/C#/Python/JavaScript/Go
- 编译中间件:LLVM IR(C/C++)、JVM字节码(Java)、.NET MSIL(C#)
- 技术实现:
- C/C++:基于Clang前端生成AST
- Java:集成Eclipse JDT构建控制流图(CFG)
- 跨文件分析:处理头文件/类继承关系
- 中间表示层
- 统一中间表示(IR):
- 代码属性图(CPG):融合AST+CFG+数据依赖图(DDG)+控制依赖图(CDG)
- 示例数据结构:
struct CPG_Node {
NodeType type; // FUNCTION/VARIABLE/CALL
vector<Edge> data_edges; // 数据流边
vector<Edge> control_edges; // 控制流边
};
- 多引擎分析层
- 污点分析引擎:
- 基于静态单赋值(SSA) 形式追踪数据流
- 跨过程分析(Interprocedural)支持递归调用
- 符号执行引擎:
- 使用Z3求解器验证路径约束
- 内存模型:分区域(Region-Based)指针分析
- 模式匹配引擎:
- 规则库:覆盖CWE Top 25/OWASP Top 10
- 自定义规则:支持TCL语法扩展
- 结果验证层
- 路径可行性验证:
- 不可达路径自动过滤(误报率↓30%)
- AI辅助降噪:
- 随机森林模型分类历史漏洞特征
二、核心技术实现
1. 深度语义分析技术
- 上下文敏感分析(Context-Sensitive):
- 区分不同调用点的函数行为
// 场景1:高危操作
process_input(user_data); // 可能触发缓冲区溢出
// 场景2:安全操作
process_input("CONST_SAFE"); // 无风险
- 指针分析优化:
- 流敏感(Flow-Sensitive) 分析:
- 跟踪指针在不同代码点的状态变化
- 对象敏感(Object-Sensitive):
- 区分同一类的不同实例
2. 内存安全专项检测
- 缓冲区溢出:
- 结合边界检查与符号执行
char buf[10];
int idx = get_user_input(); // 符号值:idx ∈ [0,100]
if (idx < 10) {
buf[idx] = 0; // 安全路径
} else {
buf[idx] = 0; // 触发告警(idx可能≥10)
}
- Use-After-Free:
- 对象生命周期状态机建模:
stateDiagram Allocated --> Freed Freed --> Used : 触发UAF告警
3. 并发漏洞检测
- 数据竞争(Data Race):
- Happens-before关系建模(Pthreads/OpenMP)
- 死锁检测:
- 锁依赖图(Lock Dependency Graph)分析
三、企业级特性
1. 大规模代码支持
- 增量分析:
- Git Diff感知 → 仅扫描变更代码
- AST缓存复用率 >70%
- 分布式扫描:
- 支持Kubernetes集群部署
- 吞吐量:百万行代码/小时(C/C++项目)
2. 深度语言支持
语言
关键技术
特殊能力
C/C++
Clang AST + LLVM IR转换
内核驱动代码分析(如Linux Kernel)
Java
字节码+源码混合分析
Spring框架注入漏洞检测
Rust
MIR(中级中间表示)解析
所有权(Ownership)规则验证
3. 集成扩展能力
- CI/CD流水线:
# GitLab CI示例
coverity_scan:
image: synopsys/coverity
script:
- cov-build --dir cov-int make
- cov-analyze --dir cov-int --all --checker-option OPTIMIZER:true
artifacts:
paths: [cov-int]
- 结果输出:
- 支持SARIF/XML/JSON格式
- 与Jira/Jenkins/SonarQube集成
四、技术边界
1. 优势场景
- 嵌入式系统:
- 零误报检测内存漏洞(C/C++)
- 大型单体应用:
- 千万行级代码分析(银行核心系统)
- 安全合规:
- 自动映射漏洞至MISRA/CERT编码规范
2. 技术局限
- 动态语言特性:
- Python的
eval()/元类编程检测受限 - 逻辑漏洞深度:
- 业务设计缺陷需人工审计补充
- 超高并发场景:
- 线程数>1000时路径爆炸问题待优化
五、技术演进方向
- Rust内存模型扩展:
- 生命周期(Lifetime)静态验证
- LLM辅助修复:
- 基于漏洞上下文生成补丁建议
- 二进制混合分析:
- 源码+二进制联合检测(闭源库场景)
总结
Synopsys Coverity通过 “统一中间表示(IR)+ 多引擎协同” 架构实现:
- 深度语义分析:
- 上下文敏感指针分析 + 路径敏感符号执行
- 工业级精度:
- 内存漏洞误报率<15%,支持千万行级代码
- 标准合规:
- 自动检查MISRA/CERT/ISO 5055规范
其技术本质是将程序语义转化为可计算模型,通过形式化方法证明安全缺陷,为高可靠性场景提供可验证的静态分析能力。
展开更多
案例介绍
暂无内容
版权/专利
暂无内容
评价

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

向我咨询

发表评论






