Smart-Diff - 语义风险δ
可利用性的变化,不是CVE数量的变化
两个版本之间可达性和VEX状态的语义差异。
计数差异显示了有多少个标识符到达和离开了。Smart-Diff比较了两种摘要作为风险状态:哪些发现在执行路径上得益或失去,哪些VEX状态移动,以及你的政策评估了哪些变化。
它改变的是审稿人首先阅读的内容,而不是下面的研究结果。
它在证据保全链主干中的位置
- 资料来源
- 建造
- 扫描
- 结论
- 判定
- 部署
- 观看
当候选摘要被审查以考虑晋级时,Delta 是计算出来的:判定包含了与所替代摘要的哪些变化,并最终将其封存为证据。
同一版本的两次朗读
举个例子——演示式表达,不是测量结果。
基于计数的工具报告
+3个CVE
三个标识符通过基础镜像更新和依赖性增加而来。统计显示风险增加了。无法确定这三人中是否有人能执行死刑。
Smart-Diff报告
+3个CVE,可利用表面减少
这三个新增建筑都没有被观察到的执行路径。一个在上一期摘要中可达且未修正的发现已经消失。实质性的变化就是移除。
“+3 CVE,可被利用的表面减少”是基于计数的工具无法生成的一句话。这需要知道哪些发现可以执行,而不是有多少。
它实际比较的内容
Smart-Diff 是一个风险差异状态,绑定在两个镜像摘要上:你运行的发布和你提议的发布。 Reachability分析证明易受攻击的代码是否确实被您的应用程序调用——过滤扫描器噪声中的误报
可达路径变更
哪些发现在基础摘要和目标摘要之间获得了或丢失了观察到的执行路径。无法达成的发现与消失的发现是不同的事件。
政策相关三角洲
跨越你保单评估的门槛的变更:严重程度变化、固定方案可用性、可达性类别。保单变更时,忽略了保持在delta区内,排名较低。
绑定在两本摘要中,像任何判定一样可重放
delta 以DSSE签名的证明形式记录,命名基础镜像和目标镜像摘要。其有效载荷包含新增、删除和修改的发现、可达门结果以及材料变更列表。从同样的两个摘要和相同的证据中重新运行,你得到的差异是一样的。 DSSEDead Simple Signing Envelope - 用于以加密签名签署任意数据的简单灵活标准
为什么计数会误导
一个版本可以在代码中添加十个未加载的CVE标识符,并移除一个可访问且未修复的发现。基于计数的门阻挡了发布——这是更安全的那种。材料风险变化检测对偏差进行排序,使审核者先读取可利用表面的移动。长尾只需一个滤芯。
关于底层发现群体的上下文,而非 delta:~85% 关键容器漏洞存在于非活跃代码中(Sysdig 2024 容器安全报告)。只计算标识符的差异会继承比较双方的噪声。
三角洲降落之地
晋级前进行发布审查。
- 候选人摘要进入审核阶段。其判定与当前目标环境中批准的摘要发生了差异。
- 评审者首先会阅读实质性变化:哪些变得可达,哪些无法覆盖,哪些VEX州改变了,以及原因。
- 晋级时,delta会被封存于判定证据中。当有人后来问为什么允许这次发布时,答案会包括自上次以来的变化——而不仅仅是快照。
界限
Delta 质量追踪可达性覆盖。可达性分析涵盖 Java、C#、Go、JavaScript、TypeScript 和 Python。在这些语言之外,Smart-Diff 仍会记录两个摘要之间新增、删除和更改的发现,但不能声称可利用性发生了变化,并会明确说明这一点,而不是报告没有变化。
