Livepatch 如何防范恶意行为者?
by Canonical on 12 September 2025

Canonical Livepatch 是一款专为平衡安全与运维便利而架构的安全补丁自动化工具,可为 Linux 内核提供免重启式安全更新。Livepatch 通过内核热补丁即时修复高危及严重安全漏洞(CVE),该修复效果可持续至下次软件包升级与系统重启生效前。系统管理员依托 Livepatch 为 Ubuntu 关键业务服务器提供安全加固,此类场景中安全防护具有至高优先级。
由于 Linux 内核是运行中系统的核心组件,一旦发生故障将导致整机停机。Canonical 通过双重安全架构严密封堵恶意代码注入风险,为内核热修补功能提供协同防护:
- 安全启动机制确保正在运行可信内核
- 模块签名验证确保仅可信代码在运行时加载至内核
安全启动机制通过验证签名确保二进制文件的可信性,其必须由授信源签署。它通过阻止用户空间程序安装不受信的引导程序与二进制文件,实现对 Ubuntu 机器的防护。安全启动验证强制要求模块签名验证,以实现在运行时插入代码。
安全实施 Linux 内核热补丁
Livepatch 通过多重防护层级确保安全运行:
首先,Livepatch 客户端以自更新机制的 Snap 应用形式封装和分发。Snap 软件包具备防篡改、GPG 签名验证、深度压缩和只读文件系统四大核心安全特性。该自更新功能具备智能故障感知能力,若升级失败,将自动回滚至前一可用版本。Snap 应用于严格沙盒隔离环境中,默认启用系统级权限熔断机制。Livepatch Snap 应用处于严格受限状态,仅通过预定义的 Snap 接口,细粒度访问其功能必需的系统区域。
其次,Canonical 实施了基于证书的信任模型,确保 Livepatch 更新由可信来源发布,而非持有恶意企图的第三方发布。
用于运行时代码插入的基于证书的信任模型
Livepatch 实施基于证书的信任链机制,所有补丁均须经 Canonical 密码签名认证。所有由 Canonical 构建的 Linux 内核均预置数字证书,Livepatch 更新在运行时应用前必须通过这些嵌入证书的验证。此外,CA 证书存储在引导加载程序包中,用于在安全启动过程中验证内核签名,但这套验证体系与 Livepatch 模块验证相互独立。
该系统长期稳定运行需依赖两项证书的定期更新。客户端身份验证证书必须更新才能成功访问 Canonical 服务器上的内容,且 Livepatch 客户端中的证书必须与内核嵌入的模块签名证书完全匹配。Launchpad 在 Ubuntu 的开发、封装和维护过程中发挥着关键作用。Launchpad 的构建农场将源代码编译为 .deb 软件包,并托管维护 Livepatch 有效证书的 CI/CD 流程。
Livepatch 工程团队与内核工程团队相互协作,确保内核和 Livepatch 客户端使用正确的证书,并与 Launchpad 团队协同保障构建产物获得合规签名。Canonical 的内核工程师负责为 Livepatch 客户端分发的更新制作软件包。用于测试和验证官方内核构建的同一套工具链,被复用于测试和验证每一个 Livepatch 更新。每个 Livepatch 更新均以带签名的内核模块形式分发,内核在应用补丁前会通过内置证书验证模块签名的有效性。
公钥与私钥证书对必须严格匹配,才能确保内核可持续接收 Livepatch 更新。Canonical 使用私钥证书对每个内核进行签名,而对应的公钥证书在构建时就被嵌入内核中。所有内核模块(包括 Livepatch 分发的补丁)必须使用对应的私钥证书进行签名。当 Livepatch 应用更新时,Livepatch 客户端与内核会通过嵌入的公钥证书共同完成签名验证。嵌入在内核中用于模块签名验证的公私证书若不匹配,将导致 Livepatch 模块无法应用。无效的 Livepatch 更新会在运行时签名验证期间被内核拒绝。
结论
通过安全启动机制建立的信任链最终要求内核模块必须经过签名,这确保了恶意行为者无法将 Livepatch 用作攻击向量。证书过期机制维护着信任链的完整性,并确保系统持续获得补丁的授权访问。针对关键和高危内核漏洞,在漏洞披露后,各类规模机构与个人用户纷纷采用 Livepatch 技术,以压缩其 Ubuntu 实例的漏洞利用窗口期。
订阅博客文章
查看更多内容
使用 MAAS 部署 VMware 虚拟机管理程序
多数现代数据中心本身均为异构架构。VMware 环境常与容器平台、数据库及其他裸机业务负载共存,多年运行于同一套硬件之上。服务器一次性采购,但会随业务需求变化调整承载业务。 然而,ESXi(VMware 虚拟机管理程序)的配置通常由独立流程负责。主机通过 VMware 工具、自定义脚本或专为将部署 ESXi 到机器中开发的自动化程序完成安装。这些工作流单独运行虽行之有效,却未必能与物理基础设施的其他部分实现统一的追踪与管理。 由此导致了脱节:即便归属同一硬件资源池,ESXi 主机的管理方式仍与数据中心其他设备脱离。随着环境规模扩大、架构日趋多元化,这种割裂式管理会形成业务瓶颈。 将 ESXi 纳入统一裸机平台进行统筹管理将是更具扩展性的方案。这使得 ESXi 的配置流程, […]
什么是 Ubuntu Pro?与标准版有不同吗?功能及内容详解
Ubuntu Pro 是 Canonical 推出的全方位订阅服务,提供开源安全防护、技术支持与合规保障。从长达 15 年的安全维护、全天候技术支持,到面向 IT 管理员的自动化加固工具,深入了解 Ubuntu Pro 订阅包含的全部服务。 Ubuntu Pro 具备哪些功能? Ubuntu Pro 是一套安全合规订阅服务,可为操作系统、应用程序及 IT 运维各层级及时提供补丁与安全维护。它助力企业及其工程师保障软件与系统安全,并通过加固工具、自动化流程及一系列其他功能,为企业满足安全标准合规铺平道路。 了解关于 Ubuntu Pro 的更多信息 › Ubuntu Pro 与标准版 Ubuntu 有何不同? 很多人存在误区,误以为 Ubuntu Pro 是独立版本或全新操 […]
代码热风险 – 软件供应链视角下,容器交付前要先“冷却”
已遭遇的安全漏洞,与即将到来的威胁 2025 年 9 月,npm 软件仓库中包括 chalk 和 debug 在内的数十个热门 JavaScript 软件包遭入侵。这些软件包应用极为广泛,几乎无处不在:前端应用、后端微服务以及 CI 工具中均有使用。开发人员并无任何失误操作,他们只是执行了一贯使用的命令:npm install chalk。但恶意软件却悄无声息地侵入了。 这并非操作系统中的漏洞。也不是某台笔记本电脑上的病毒。这是一次供应链攻击:攻击者在开发者构建软件所使用的组件中植入了恶意代码。手段并不复杂,仅仅是一名开发者遭到钓鱼攻击、一次恶意发布,数百万下游用户便因看似是合法更新而将恶意代码引入系统。 而这确实是一次合法的更新。发布者并非有意植入恶意软件,也对此毫不知 […]