linux 内核开发人员最近在内核邮件列表中发布了一组新的 rfc 补丁,建议将可重定位的 x86_64 内核以 pie(position-independent executable,位置无关可执行文件)格式进行链接。此举核心目标是强化内核安全性,并为后续更深层次的安全加固奠定基础。

PIE 格式使得内核能够在运行时被加载到任意内存地址,显著提升攻击者推测关键函数或数据位置的难度。该机制已在用户空间程序中广泛部署,是增强地址空间布局随机化(ASLR)效力的关键技术之一。在内核中引入 PIE,可与现有 KASLR(内核地址空间布局随机化)机制协同工作,形成更严密的内存保护体系。
补丁作者 Ard Biesheuvel 表示,此前 x86_64 平台长期未启用 PIE,主要受限于若干实现障碍,包括对特殊 PIE 指令生成的支持需求、全局偏移表(GOT)处理复杂性、潜在的二进制体积膨胀以及性能顾虑。本次补丁方案通过避免使用 GOT 插槽来生成 PIE 兼容代码,并针对主流编译器(GCC 与 Clang)进行了充分验证:
- 代码尺寸增幅控制在约 0.2%(Clang)至 0.5%(GCC)之间
- 在多种 CPU 微架构上,借助典型基准测试(如 hackbench)评估,未发现可测量的性能下降。
该补丁集共包含 19 个独立补丁,当前仍处于 RFC(征求意见稿)阶段,尚未进入正式合并流程,是否纳入主线内核仍有待社区评审与决策。需注意的是,这些变更仅在启用 CONFIG_RANDOMIZE_BASE(即激活 KASLR 及相关安全选项)的构建配置下生效;若该选项被禁用,则继续沿用现行的传统链接方式。
若最终获批合入,这将成为 Linux 内核安全演进中的一个标志性进展,有望大幅提高内核镜像抵御基于内存漏洞利用攻击的能力。对于强调安全性的服务器环境、云平台基础设施及嵌入式系统等场景,该特性或将提供更为可靠的底层防护支撑。
源码地址:点击下载










