操作系统加码主动防护:数智化有了“安全底座”

简介: 操作系统的发展遵循约20年的周期律,从大型机到个人电脑,再到互联网时代,每次变革都催生了新的应用和市场。当前,随着数字化、智能化的浪潮,操作系统再次迎来革新机遇。以Linux为代表的开源操作系统,凭借其开放性和安全性,在服务器市场占据主导地位。面对AI时代的安全挑战,openEuler提出“OS for AI,AI for OS”理念,通过复式内核设计和AI技术,强化了系统的安全性和性能,展现了中国在开源领域的创新实力。

开发者圈子里流行着一个有意思的观点:操作系统每过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 内核社区 CVE 检视团队

无论是复式内核的架构创新,还是深度参与Linux内核漏洞检视,无不向外界释放了这样一个信号——中国开源力量的崛起。

在openEuler社区上,像中关村实验室这样的开发者和组织还有2万多个,他们组成了109个技术兴趣小组、进行了2446次技术决策、194678次代码合入、参与了588个创新项目,极大地促进全球开源社区的繁荣与进步。

全球著名市场调研机构IDC的报告也印证了这一点:2024年中国新增服务器操作系统领域,openEuler的市场份额将达50%。开源五年来,openEuler系累计装机量突破1000万套,单2024年,openEuler的新增装机量将达到500万套。

同时也意味着,中国开发者和组织正在从开源社区的参与者,一步步成为建设者乃至主导者,不断提升在操作系统领域的话语权。

04 写在最后
30多年前,几千名散布在世界各地的开发者,通过在社区中的沟通和协作,鬼斧神工般地造就了一个世界级的操作系统。

30多年后,当世界进入到数智化时代,迫切需要一个“安全底座”的时候,同样有一群开发者默默贡献着自己的力量。不同的是,这一次有了更多的中国面孔,特别是在内核这个核心环节,让世界看到了更多的中国创新和智慧。

相关文章
|
7月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(1)
412 1
|
1月前
|
安全 Linux 数据安全/隐私保护
Vanilla OS:下一代安全 Linux 发行版
【10月更文挑战第30天】
59 0
Vanilla OS:下一代安全 Linux 发行版
|
5天前
|
人工智能 安全 Android开发
移动应用开发与操作系统的深度协同:构建高效、安全的移动生态####
【10月更文挑战第21天】 本文深入探讨了移动应用开发与移动操作系统之间的内在联系与相互影响,强调了两者在构建高效、安全移动生态系统中的关键作用。通过分析当前主流移动操作系统(如Android、iOS)的特性及发展趋势,结合移动应用开发的最新技术与挑战,本文旨在为开发者提供一套全面的理解框架,以促进更加协同高效的应用开发实践。 ####
36 18
|
27天前
|
安全 物联网 Unix
什么是安全操作系统?
什么是安全操作系统?
45 2
|
1月前
|
人工智能 供应链 安全
|
2月前
|
安全 Ubuntu 搜索推荐
|
2月前
|
安全 搜索推荐 Ubuntu
|
7月前
|
存储 弹性计算 安全
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
718 1
带你读《从基础到应用云上安全航行指南》——九大提升ECS实例操作系统安全性的技巧(2)
|
7月前
|
安全 Java 编译器
long类型在32位操作系统上的安全问题
long类型在32位操作系统上的安全问题
189 1
下一篇
DataWorks