统信软件今日宣布,统信 UOS 服务器版将于不久后推出 Rust 版 Bash,名为 utshell,旨在突破传统 Shell 所面临的安全局限。

IT之家注:Bash 是一种广泛应用于各种 Unix 和 Linux 系统的 Shell 程序,是 Bourne shell 的后继兼容版本与开放源代码版本。
统信软件表示,在 Bash 中,有一些命令没有对参数进行防篡改检查,因而给系统带来了安全风险。
例如,alias 命令允许用户为其他命令或命令序列创建别名,然而它并未对参数进行防篡改检查,进而导致未经检查的参数可能会被利用来执行恶意代码或进行未经授权的操作。

为了应对上述问题,utshell 对 alias 命令的规则进行了明确界定,目的在于确保使用的便捷性,并且能够有效地防止命令被恶意篡改,从而限制恶意行为或误操作的发生。
-
当别名和 $PATH 下可执行文件重名时,只允许别名和可执行文件一致。例如,如果我们想要创建一个别名“ls”,那么与之对应的可执行命令也必须是“ls”,且允许在命令中添加参数,以便用户可以根据自己的需求对命令进行个性化制定。
-
别名不能与其他别名、函数名称发生重名,以避免在使用别名时出现二义性,进而更好地确保操作系统能够正确理解用户的指令,避免混淆和误解。
不仅仅限于 alias 命令,utshell 还对所有命令进行了检查,并对那些可能受到恶意篡改威胁的命令进行了规则的优化处理,如 hash 和 function 命令等。
在 Bash 中,mapfile 命令是用于对数组进行赋值的工具,但它并没有对数组的越界情况进行有效的检查和控制。当用户输入的参数数量超过数组容量时,溢出部分可能会被误当作命令来执行,从而引发潜在的安全隐患。

为了避免上述情况的发生,utshell 采取了对数组边界的判断措施。例如,当传入的参数过多时,自动截断或给出警示等,从而保证只有合法、预期的参数才能被传递给 mapfile 命令。
此外,通过使用 Rust 重构 Bash,utshell 不仅能继承 Rust 的“源生”安全性,还能在代码层面实现更高的自主可控性,从而提升系统的安全性和可靠性。
6 月初,统信 UOS 服务器版 V20(1060)已集成了 utshell 的部分功能,为即将发布的完整版 utshell 提供了初步体验。IT之家附下载地址:
deepin 社区地址:
https://github.com/linuxdeepin/utshell
欧拉社区地址:
https://gitee.com/openeuler/utshell
龙蜥社区地址:
https://gitee.com/anolis/utshell
广告声明:文内含有的对外跳转链接(包括不限于超链接、二维码、口令等形式),用于传递更多信息,节省甄选时间,结果仅供参考,IT之家所有文章均包含本声明。
未经允许不得转载:新聚网 » 统信 UOS 将推 Rust 版 Bash 命令行工具 utshell,支持防篡改、防溢出

新聚网
Swift Assist 进化:苹果 Xcode 26 可接入端侧、Claude 等 AI 编程模型
安全公司曝光黑客盗用开发团队账号在 NPM 平台散布恶意软件包,涉及 React Native / GlueStack 项目
英特尔发布 32.0.101.6881 WHQL 显卡驱动,修复《守望先锋 2》游戏崩溃问题
时隔一年半,苹果手记 Journal 应用将随 macOS / iPadOS 26 登陆 Mac / iPad
苹果推出容器化框架,可直接在 Mac 上创建、下载或运行 Linux 容器镜像
微软 Win10 / Win11 新版 Outlook 被曝新问题:重要会议安排凭空消失
Linux 6.16 首个 RC 候选版发布:提升电源管理效率、扩展硬件支持、优化 EXT4 文件系统





