演讲

Propagation-Based Vulnerability Impact Assessment for Software Supply Chains

ASE 2025,首尔,韩国

识别影响范围和规模是评估软件供应链漏洞的关键,但现有研究存在明显局限。首先,既有工作要么停留在粗粒度的软件包层面,产生大量误报;要么无法实现覆盖整个生态系统的漏洞传播分析。其次,CVSS 等漏洞评估指标能够刻画单个漏洞,却没有指标专门量化漏洞在软件供应链中传播所产生的动态影响。为解决这些问题并实现准确、全面的漏洞影响评估,我们提出:(i)一种基于分层工作列表的算法,用于生态系统级和调用图级漏洞传播分析;(ii)Vulnerability Propagation Scoring System(VPSS),用于动态量化漏洞影响的范围及其演化。我们在 Java Maven 生态中实现原型,并使用 100 个真实漏洞进行评估。实验结果表明,该方法能够有效开展生态系统级漏洞传播分析,VPSS 也为漏洞影响提供了实用的量化度量。

KernJC: Automated Vulnerable Environment Generation for Linux Kernel Vulnerabilities

(业界)Black Hat Asia 2025, 新加坡

复现 Linux 内核漏洞是系统安全中的关键任务。漏洞复现需要易受攻击的环境和 Proof of Concept(PoC)程序。现有研究大多关注 PoC 的生成,却忽略了环境构建。然而,搭建能够触发漏洞的有效环境颇具挑战。首先,在线数据库中的漏洞版本声明有时并不准确,因此难以保证所选内核版本确实存在漏洞。其次,许多漏洞无法在使用默认配置构建的内核中复现;必须设置复杂的非默认内核配置,才能包含并触发特定漏洞,但如何识别这些配置的信息非常有限。

为解决这些问题,我们提出基于补丁的方法识别真实的易受攻击内核版本,并提出基于图的方法识别激活特定漏洞所需的配置。我们将这些方法实现为 KernJC,自动生成内核漏洞的易受攻击环境。为评估 KernJC,我们构建了一个数据集,包含过去五年内核漏洞研究中 66 个具有 PoC 的代表性真实漏洞。评估显示,KernJC 成功为所有这些漏洞构建环境,其中 32 个(48.5%)需要非默认配置,另有 4 个在 National Vulnerability Database(NVD)中的版本声明不正确。此外,我们还对内核漏洞开展大规模错误版本检测,发现 NVD 中有 128 个漏洞存在错误的版本声明。为促进后续研究,我们向社区开源 KernJC 及其数据集。

VulZoo: A Comprehensive Vulnerability Intelligence Dataset

ASE 2024,萨克拉门托,美国

软件漏洞会带来严重的安全与风险问题。研究者提出了许多评估和排序漏洞的技术,但在评价这些技术时,往往只能从有限的数据源构建数据集,缺少对广泛漏洞情报的全局认识;重复的数据准备过程也让新方案的评估更加复杂。为解决这一问题,我们提出 VulZoo,一个覆盖 17 个漏洞数据源的综合漏洞情报数据集。我们还建立了这些数据源之间的关联,使其更易于针对不同任务进行配置和适配。VulZoo 提供工具脚本,可自动完成数据同步与清洗、关系挖掘和统计生成。我们公开发布 VulZoo,并通过增量更新持续维护。我们相信,VulZoo 能够为漏洞评估与优先级排序研究提供有价值的输入。

KernJC: Automated Vulnerable Environment Generation for Linux Kernel Vulnerabilities

RAID 2024,帕多瓦,意大利

复现 Linux 内核漏洞是系统安全中的关键任务。漏洞复现需要易受攻击的环境和 Proof of Concept(PoC)程序。现有研究大多关注 PoC 的生成,却忽略了环境构建。然而,搭建能够触发漏洞的有效环境颇具挑战。首先,在线数据库中的漏洞版本声明有时并不准确,因此难以保证所选内核版本确实存在漏洞。其次,许多漏洞无法在使用默认配置构建的内核中复现;必须设置复杂的非默认内核配置,才能包含并触发特定漏洞,但如何识别这些配置的信息非常有限。

为解决这些问题,我们提出基于补丁的方法识别真实的易受攻击内核版本,并提出基于图的方法识别激活特定漏洞所需的配置。我们将这些方法实现为 KernJC,自动生成内核漏洞的易受攻击环境。为评估 KernJC,我们构建了一个数据集,包含过去五年内核漏洞研究中 66 个具有 PoC 的代表性真实漏洞。评估显示,KernJC 成功为所有这些漏洞构建环境,其中 32 个(48.5%)需要非默认配置,另有 4 个在 National Vulnerability Database(NVD)中的版本声明不正确。此外,我们还对内核漏洞开展大规模错误版本检测,发现 NVD 中有 128 个漏洞存在错误的版本声明。为促进后续研究,我们向社区开源 KernJC 及其数据集。

进退维谷:runC 的阿克琉斯之踵

(业界)KCon 2022,北京,中国

这项工业技术研究探讨 runC 与 Linux 内核之间的信任边界。演讲回顾 CVE-2019-5736 的修补,比较封印的 memfd 副本与只读 bind mount,并解释 CVE-2022-0847(Dirty Pipe)如何在历史漏洞内核条件下绕过后者。研究设计受限条件下的静态 ELF 文件注入,在不增大文件的情况下保留 runC 原有控制流,并分别通过已有容器与镜像路线演示。最后讨论业务安全、镜像供应链、运行时完整性与基础设施更新等防御思路。考虑到攻击危害,研究源码未公开。

Metarget: Auto-Construction of Vulnerable Cloud Native Infrastructure

(业界)OpenInfra Days Asia 2021,线上

1.4k GitHub stars;入选 CNCF Cloud Native Landscape;已在业界广泛使用。

本次演讲介绍 Metarget,一个用于自动构建易受攻击云原生环境的创新框架。Metarget 支持部署多层易受攻击基础设施,使研究人员和白帽黑客能够高效模拟从容器漏洞利用到集群级持久化的复杂攻击场景。演讲重点介绍云原生安全中的攻击方法,包括针对 Kubernetes 集群的渗透后攻击等真实案例。借助 Metarget,我们探索 CVE-2020-15257 和 CVE-2020-8559 等漏洞,演示攻击者如何实现横向移动并完全控制集群。我们还展示 k0otkit,一种面向 Kubernetes 的渗透后持久化技术,并强调它在自动化和推进攻击性安全研究方面的作用。通过对攻击策略的详细分析,演讲说明 Metarget 等工具如何加速防御创新,推动构建更稳健的云原生安全实践。

k0otkit:针对 K8s 集群的通用后渗透控制技术

(业界)CIS 2020,上海,China

本次演讲介绍 k0otkit,一种面向 Kubernetes(K8s)集群的通用渗透后控制技术。k0otkit 利用 DaemonSets、Secrets 和容器注入等 Kubernetes 原生功能,使攻击者能够快速、隐蔽、持久地控制大规模集群。演讲回顾 k0otkit 多个迭代版本的演进,重点介绍其在隐蔽性、持久性和效率方面的提升,包括采用无文件攻击技术和加密通信。演讲还梳理典型 Kubernetes 渗透流程,涵盖容器逃逸、权限提升和横向移动,直至完全控制集群。通过现场演示,我们展示 k0otkit 如何利用 Kubernetes 漏洞、自动部署反向 Shell,并实现无缝的集群级失陷。最后,演讲总结实施 Pod 安全策略、检测异常容器行为和防范无文件攻击等关键防御策略。这一综合分析为攻防两方面的 Kubernetes 安全研究提供了有价值的洞见。