在软件开发的长河中,C/C++语言因其给了开发者很大的自由度和控制权而广受欢迎,但这种信任机制也无形中埋下了诸多内存隐患,如重复释放、悬空指针以及缓冲区溢出等。这些问题往往导致难以预料的未定义行为,对系统安全构成严重威胁。
在此背景下,一场以Rust语言为核心的系统级重构运动正悄然兴起,旨在为操作系统核心组件披上坚不可摧的安全盔甲。
值得一提的是,统信UOS服务器版已推出Rust版bash和sudo,分别名为utshell和utsudo,为客户提供了更强大的安全特性、更广泛的功能选择和更出色的使用体验。
动因分析
Rust,作为一门系统级编程语言,凭借其严格的编译时检查机制,向开发者提供了一个内存安全的编程环境,将当前软件开发中常见的内存相关安全隐患,如悬空指针、双重释放及空指针解引用等问题,统统扼杀在编译阶段。
Rust不仅限于编译时的安全保障,同时也支持多种运行时检查,如对数组引用访问的边界保护,亦构筑了一道坚实的运行时防线,有效杜绝了缓冲区溢出的风险。
上述特性不仅使得开发者能够更加专注于业务逻辑的创新,而无需过度担忧底层的内存管理问题,更是使得Rust成为构建高安全性要求系统组件,特别是操作系统核心组件的理想选择,为系统的安全运行提供了强有力的支持。
策略与选择
面对操作系统中错综复杂、规模庞大的软件包体系,精准识别并高效重构那些对系统安全至关重要的组件,成为了我们技术革新道路上的首要任务。
为了确保每一次重构都能带来安全性的提升,统信软件综合考虑了多个维度,包括软件包所在层级、使用频率、依赖关系、功能重要性、源码语言、代码量、CVE数量(特别是内存相关漏洞)、社区活跃度及可维护性等。
基于上述重构策略,统信软件已初步完成了对bash(Shell环境)和sudo(权限管理工具)的重构工作,有效提升了这些组件的安全性。
同时,我们也正在积极规划另外几款关键组件的重构,以期进一步巩固和提升操作系统的整体品质,敬请期待。
成效展示
基于当前的重构成果,统信软件对重构前后的组件进行了详尽的安全性对比。
结果显示,尽管原生项目(bash和sudo)在内存检测工具下表现尚可,但Rust重构后的项目(utshell和utsudo)仍展现出可感知的提升。例如,针对内存管理中的指标definitely lost(内存永久丢失),utsudo相比sudo实现了约5%的降低。
此外,在重构过程中,我们还发现了原生项目(bash和sudo)的两处潜在安全风险,并及时进行了优化处理,进一步增强了系统的整体安全性。
当然,Rust重构后的项目(utshell和utsudo)不仅能继承Rust独特的“源生”安全性,还能在代码层面实现更高的自主可控性,从而有效提升了系统的安全性和可靠性。
“源生”安全是将安全元素融入系统的整个生命周期中,能够有效预防安全漏洞和攻击,是保障系统安全的重要手段。
代码自主可控,意味着能够完全自主地控制和管理内部的代码逻辑和执行过程,使得我们能够更加灵活地定制和优化代码,从而提升脚本的执行效果和开发体验。
未来规划
展望未来,统信软件将继续依托分层分类框架,对操作系统核心层中的系统常驻进程和服务进行批量重构替换,特别是那些以往存在高危CVE较多的软件包。
同时,我们还将建立一套完善的重构项目成熟度评判标准,从安全、性能、兼容性等多个维度对重构后的项目进行全方位评估,并明确其是否具备替代原生项目的资格。
为了推动自主操作系统的生态建设,统信UOS始终拥抱开源、贡献开源。此次,统信UOS已将utshell和utsudo的相关成果同步到了deepin、openEuler和龙蜥社区。
欢迎下载和体验,同时也诚挚邀请所有对操作系统组件Rust重构感兴趣的伙伴加入我们,与我们一同构建更加安全、高效、稳定的自主操作系统。
deepin社区地址:
https://github.com/linuxdeepin/utsudo
https://github.com/linuxdeepin/utshell
openEuler社区地址:
https://gitee.com/src-openeuler/utsudo
https://gitee.com/src-openeuler/utshell
龙蜥社区地址:
https://gitee.com/anolis/utsudo
https://gitee.com/anolis/utshell
深耕操作系统领域20年,统信软件深知服务器安全运行的重要性。此次推出的utshell和utsudo,是对统信UOS服务器版全栈安全防护体系的进一步完善和升级。
统信UOS服务器版汲取国内外主流社区技术栈优势,深入技术底层结合国内外设计标准与规范以及各类客户业务应用需求,积极开展技术创新,全面支持国内外主流CPU架构和处理器厂商,在各种应用环境中,满足强安全、高稳定、高性能、易维护以及泛兼容等要求,是一款构建信息化设施环境的基础软件产品:
强安全:
等保四级GB/T 20272-2019认证
商密二级GM/T 0028认证
全栈生态链支持国密
国际知名安全社区OpenSCAP官方首批支持的中国操作系统
21天推送一次补丁更新,每周进行漏洞修复推送
高稳定:
稳定版内核
热补丁升级机制
LTP 7*24小时测试用例通过率超99%
长时高负荷运行,卸荷后60秒内实现系统及各应用流畅运行
高性能:
内存拷贝页技术,拷贝性能提升超70%,满并发优化提升10%
多种自研性能优化成果:文件读写性能提升4%、调度延迟减少10%、多并发锁竞争场景性能提升5%……
相比同类产品,UnixBench等测试全面领先
易维护:
提供自研统信服务器系统迁移软件有易
提供自研统信服务器运维监管平台有幄
提供自研静态数据收集工具
泛兼容:
历史版本兼容性>99%,提供平滑升级方案
组件模块化设计,为用户最大限度解决底层依赖问题
全面通过整机适配兼容性测试(多种不同型号的整机)
支持AI主流软硬件,以及主流厂商最新硬件
图片
Rust语言的引入,不仅是对传统开发模式的一次勇敢挑战,更是对未来系统安全与发展的一次深刻洞察。我们相信,通过不懈的努力与创新,Rust将引领操作系统组件重构的新潮流,开启一个更加安全、高效的编程新时代。