← 最新论文
💻 computer science

TOMOYO Linux: A Mandatory Access Control Method Based on Application Execution State

本文介绍了 TOMOYO Linux,这是一种新型强制访问控制方法,它通过评估应用程序的执行历史和意图,而非仅仅依赖传统的应用程序-文件组合,来增强系统安全性,从而降低恶意访问和操作错误的风险。

原作者: Toshiharu Harada, Tetsuo Handa, Masaki Hashimoto, Hidehiko Tanaka

发布于 2026-06-09
📖 1 分钟阅读☕ 轻松阅读

原作者: Toshiharu Harada, Tetsuo Handa, Masaki Hashimoto, Hidehiko Tanaka

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一下,你的电脑是一座庞大且繁忙的办公大楼。在这座大楼里,有成千上万名员工(应用程序)需要完成他们的工作。有些需要阅读文件,有些需要撰写报告,还有些需要拨打电话(网络连接)。

旧方式:只会问“你是谁?”的保安

长期以来,计算机安全的工作就像是在大门口守着一个非常简单、甚至有点糊涂的保安。这个保安只问两个问题:

  1. “你是谁?”(你是哪个应用程序?)
  2. “你想开哪扇门?”(你想访问哪个文件?)

如果保安看到一名“浏览器”员工试图打开“秘密密码”文件,他会查阅一份名单。如果名单上写着“浏览器可以打开密码文件”,他就放行;如果没有,他就拦住。

问题在于: 这种系统过于粗糙。它并不关心浏览器为什么要打开这个文件。

  • 场景 A: 浏览器只是在加载一个普通的网页。(安全)
  • 场景 B: 浏览器被黑客误导,试图窃取你的密码文件。(危险!)

旧保安看到的是同一个员工(浏览器)和同一扇门(密码文件)。他无法区分这是一次正常的访问还是一次窃取行为,因此他要么让所有人进入(有风险),要么把所有人都关在外面(不切实际)。

新方式:TOMOYO Linux(会“讲故事”的保安)

本文作者提出了一种为 Linux 计算机设计的新型安全保安,名为 TOMOYO。这位保安不仅会问“你是谁?”,还会问:“你是怎么来到这里的?你的故事是什么?”

“执行历史”的魔力

想象一下,每当办公大楼里的员工被录用或开始一项新任务时,他们都会获得一个护照印章

  • 如果你从大厅进入,你会得到一个印章:大厅 -> 接待处 -> 你的办公桌
  • 如果你通过后窗被黑客强行闯入系统,你的印章可能会看起来完全不同:后窗 -> 通风管道 -> 你的办公桌

TOMOYO 追踪运行在计算机上的每一个程序的完整历史。它确切地知道每个应用程序到达当前状态所经过的路径。

实际运作方式

让我们来看一个 Shell(一种允许你输入命令的命令行工具)。在旧系统中,Shell 仅仅是一个 Shell。但在 TOMOYO 中,保安会查看护照:

  1. 安全的 Shell: 你是从自己的电脑控制台登录的。
    • 历史记录: 内核 -> 登录界面 -> 你的 Shell。
    • 保安的决定: “好吧,这是一个受信任的用户。你可以运行你需要的几乎任何程序。”
  2. 可疑的 Shell: Apache Web 服务器(运行网站的程序)被黑客入侵,并生成了一个 Shell 来尝试进行渗透。
    • 历史记录: 内核 -> Web 服务器 -> 被黑的 Shell
    • 保安的决定: “等等!一个来自 Web 服务器的 Shell 非常可疑。你只能做非常特定的事情,比如读取日志文件。你不允许运行危险程序或删除文件。”

尽管两者是完全相同的程序文件(/bin/bash),但由于它们的故事不同,TOMOYO 对待它们的方式截然不同。

“白名单”机制

TOMOYO 的运作方式就像一个严格的白名单

  • 旧系统(黑名单): “如果我知道你是坏人,我就会阻止你。”(但黑客总是在发明新的坏手段)。
  • TOMOYO(白名单): “我只会让你做那些我写在你特定故事里的事情。”

如果一个程序试图做一件不在其特定“故事列表”中的事情,保安会立即将其拦截。即使该程序拥有“超级用户”(管理员)权限,保安也不会在意。规则适用于所有人。

为什么这更好(论文的观点)

该论文声称,这种方法解决了旧系统无法解决的问题:

  • 它能阻止“伪装”攻击: 如果黑客将一个危险文件重命名为一个看起来很安全的文件,旧保安可能会被蒙蔽。TOMOYO 则通过查看历史记录参数(给程序的具体指令)来判断该行为是否合理。
  • 它更容易管理: 管理员无需为整栋大楼制定复杂的规则,而是可以观察“学习模式”。系统会记录在一切正常运行时员工实际做的事情,然后锁定除此之外的所有行为。这就像是在办公正常的一天拍下一张照片,然后只允许这些精确的动作发生。
  • 它很快: 作者进行了测试,发现虽然这会给计算机增加一点点额外工作量(就像保安检查护照需要一秒钟一样),但并不会显著减慢办公速度。对于大多数任务,这种延迟对用户来说是无感的。

核心结论

TOMOYO Linux 将安全从静态的“身份检查”转变为动态的“故事检查”。它明白语境(Context)至关重要。一个程序在一种情况下可能是安全的,但在另一种情况(例如被黑客劫持后)下执行同样的操作则是危险的。通过追踪每个应用程序的旅程,TOMOYO 能够拦截那些传统安全保安根本无法察觉的攻击。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →