操作系统加码主动防护:数智化有了“安全底座”
开发者圈子里流行着一个有意思的观点:操作系统每过 20 年左右,就会出现一次跨越式发展机遇。
上世纪六十年代开始的大型机,到上世纪八十年代的个人计算机,再到本世纪初互联网的崛起,无不和上述观点相吻合:操作系统作为连接软件和硬件的桥梁,不断催生新应用,创造新蓝海。
而正在进行中的数字化、智能化浪潮,应用场景早已呈现出指数级增长的态势,操作系统的“20 年周期律”再一次被印证。
和以往有所不同的是,数智化常常被加上“产业”的前缀,承载着生产力跃迁升级、产业深度转型的使命。操作系统作为产业数智化的“底座”,既要有繁荣的生态,更要在安全上交出一份高分答卷。
01 “得安全者得天下”
时间回到 1991 年,21 岁的 Linus Torvalds 编写出了拥有 10000 行代码的内核,选择遵循 GPL 协议和 GNU 宗旨,将其命名为“GNU/Linux”。
接下来的几年时间里,来自全世界的开发者,对 Linus 编写的内核代码进行了大量修改和补充,加入了 GUI(图形界面)、应用等缺失部分,逐渐形成了一个完善的操作系统,也就是外界所熟知的 Linux。
可能对不少消费者而言,对 Linux 的熟悉度远不如 Windows、Android、iOS,但在服务器和数据中心领域,Linux 却有着 90%以上的市场份额,即使是在 Microsoft Azure 上,也有一半以上的安装了 Linux 虚拟机。
不夸张地说,几乎整个数字世界都运行在 Linux 上。
为什么对安全最为看重的服务器市场,偏偏钟爱开源的 Linux 呢?查阅了大量资料后,我们找到了两个答案。
第一个是开放性。
因为 Linux 是开源的,任何人都可以自由地查看、修改和重新分发其源代码,赋予了 Linux 高度的灵活性和可定制性,衍生出了基于 Linux 的发行版操作系统,比如 Ubuntu、RedHat、Debian、Centos;国内基于 Linux 内核的开源操作系统 openEuler,以及基于 openEuler 的商业发行版操作系统银河麒麟、统信 UOS、麒麟信安等。
第二个是安全性。
借用《大教堂与集市》作者 Eric 的说法,“只要眼睛多,bug 容易捉”。开源软件汇集了不同领域的开发者,他们带着热情钻研代码,让漏洞更容易被发现。谷歌曾在 2022 年公布一份调查报告:Linux 上的漏洞平均只需 25 天即可修复,苹果平均用了 69 天、Google 为 44 天、微软则要三个月左右。
但安全是相对而言的,哪怕开源有着很高的透明度,过去几年时间里,和 Linux 相关的安全事件仍屡见不鲜。
2017 年曝出了名为“Phoenix Talon”的一系列远程执行漏洞,其中一个漏洞为严重级别、三个为高危级别,可导致 DOS 攻击和远程代码执行;以及 2021 年轰动一时的红杉漏洞,攻击者可以通过漏洞,在默认安装的 Ubuntu、Debian、Fedora、CentOS 等主机将权限提升到 root 权限。
时间来到 2024 年,操作系统进一步和 AI 接轨,其中 openEuler 开源操作系统提出了“OS for AI,AI for OS”的理念,并全面增强了 AI 能力。
譬如颠覆了传统的命令行交互方式,基于大模型训练出了 EulerCopilot,初步实现代码辅助生成、问题智能分析、辅助运维等功能;通过异构资源统一管理与调度,实现 CPU 和 XPU 的深度融合,有效提升 AI 训练和推理性能。
当操作系统加速向 AI 演进,怎么消除潜在的安全威胁呢?
02 “从古代战舰到航母”
很长一段时间里,操作系统的安全策略都是“被动防御”。
就像 Linux 社区里曾普遍认为:“Security bugs are just bugs”,以至于安全防护长期依赖于 bug 修补。
问题在于,1991 年的 Linux 内核仅有 1 万行代码,到了 6.6 版本的内核,代码量早已超过 3000 万行。巨大的代码量,加上模块之间的复杂交互关系,导致内核的安全漏洞频出,仅 2023 年就爆出了 710 个安全漏洞。
即使开源在漏洞发现到修复的效率上有优势,但漏洞产生到漏洞发现平均需要 60 天时间,漏洞发现到修补又需要 20 多天的时间,而且 52%的补丁并没有真正把漏洞修复。在这样的背景下,主动防御策略逐渐成为开源社区的共识。
一个典型的例子,就是中关村实验室联手 openEuler 打造的 HAOC 复式内核,选择在系统的设计中构建安全体系。
由于 Linux 的宏内核架构是扁平化的,所有模块集中在同一个地址空间,相互之间没有任何隔离,一旦某个模块存在漏洞,可能导致整个内核被攻陷,无疑增加了构建主动防御策略的难度。
中关村实验室提出了复式内核的设计思想,尝试建立系统性的主动防护:
首先,重构了内核的结构。将内核划分为中枢核心层、普通模块层和高风险模块层。
原先的内核被划分到了普通模块层,通过持续随机化进行保护,提升漏洞供给的门槛;最关键的数据移入中枢核心层,比如业表、权限凭证、系统密钥、防控制策略、敏感指令等;将内核扩展、设备驱动划分到高风险模块,并对每个模块进行单独隔离,避免风险扩散;同时对利用硬件实现层与层之间的隔离。
然后,进行关键数据拟态。通过地址布局的持续随机化,阻止攻击者找到关键数据。
复式内核解决了漏洞威胁的横向移动,却也面临着一个棘手挑战:内核中代码交互十分频繁,对开销要求要足够小。中关村实验室梳理了处理器在内存访问、代码调试等硬件特性,巧用这些硬件实现了层级内的开销隔离。最终实现了层次内的低开销隔离,相较于传统开销方案,有着两个数据级的性能优势。
中关村实验室研究员、中国科学院计算技术研究所研究员武成岗,在操作系统大会 2024 上的主题演讲中打了一个形象比喻:“扁平化的宏内核架构像古代的战舰一样,攻击者很容易完成攻击,而复式内核更像现在的航母,里面有很多舱,有了舱以后,想实施攻击就变得很难。”
正如现代化航母的战斗力,HAOC 内核提供了中枢核心、隔离执行保护、系统密钥保护、策略保护、页表保护、凭证保护、内核扩展隔离和驱动隔离在内的安全选项,并且得到了 Linux eBPF 基金会的高度认可。
03 开源的“中国范式”
2024 年 6 月初,首个 AI 原生开源操作系统——openEuler 24.03 LTS 正式发布,除了智能解决方案的升级,还集成了 HAOC 内核 1.0。
经历了近半年时间的市场检验后,架构式创新带来的新机会和新应用正逐步显现:
比如代码的形式化验证,Linux 内核拥有 3000 万行代码,理论上很难进行形式化验证,复式结构对内核进行划分后,给形式化验证提供了可行性;
再比如复式内核兼具宏内核的性能优势和微内核的安全性,在智能网联车、低空经济、商业航天等领域有着诱人的应用前景。
就在操作系统大会 2024 上,HAOC 内核 2.0 正式发布,相比 HAOC 内核 1.0 实现了多项能力的升级:
1、同时具备 X86 和 ARM 两个主流架构的内核攻击防护能力;
2、对页表结构、权限凭证、访问控制策略和密钥进行安全防护,能够阻断常见的内核提权攻击;
3、对高风险驱动进行隔离管控,阻止安全风险扩散到核心内核;
4、相比 HAOC 内核 1.0,HAOC 内核 2.0 性能提升了 20%。
对于 HAOC 内核的未来发展,武成岗给出了一份清晰的路线图:进一步探索复式内核架构的层内安全增强技术、继续探索软硬件协同隔离技术、验证探索高等级的形式化,以及分期分批地推进复式内核成熟技术进入社区,包括复式隔离框架进入 openEuler 社区、层内增强进入 openEuler 社区,最终进入主线 Linux。
个中原因并不难理解。
内核作为操作系统安全的基础,如果内核被攻破,攻击者可能获得最高级的系统控制权限。积极参与操作系统的开源建设,和全世界的开发者一起推进复式内核的创新和应用,可以说是构筑数智化“安全底座”的不二法门。
几乎是在同一时间,openEuler 社区中来自华为的核心贡献者正式成为 Linux 内核社区的 CVE 检视成员,直接参与 Linux 社区 CVE 检视,将从源头上提高 CVE 识别质量,随时感知 CVE 信息,进一步提升 openEuler 社区在高危漏洞上的响应能力。
无论是复式内核的架构创新,还是深度参与 Linux 内核漏洞检视,无不向外界释放了这样一个信号——中国开源力量的崛起。
在 openEuler 社区上,像中关村实验室这样的开发者和组织还有 2 万多个,他们组成了 109 个技术兴趣小组、进行了 2446 次技术决策、194678 次代码合入、参与了 588 个创新项目,极大地促进全球开源社区的繁荣与进步。
全球著名市场调研机构 IDC 的报告也印证了这一点:2024 年中国新增服务器操作系统领域,openEuler 的市场份额将达 50%。开源五年来,openEuler 系累计装机量突破 1000 万套,单 2024 年,openEuler 的新增装机量将达到 500 万套。
同时也意味着,中国开发者和组织正在从开源社区的参与者,一步步成为建设者乃至主导者,不断提升在操作系统领域的话语权。
04 写在最后
30 多年前,几千名散布在世界各地的开发者,通过在社区中的沟通和协作,鬼斧神工般地造就了一个世界级的操作系统。
30 多年后,当世界进入到数智化时代,迫切需要一个“安全底座”的时候,同样有一群开发者默默贡献着自己的力量。不同的是,这一次有了更多的中国面孔,特别是在内核这个核心环节,让世界看到了更多的中国创新和智慧。
评论