0
0

Sandbox 初探

Singularity 发表于 2011年12月16日 12:37 | Hits: 2115
Tag: Mac OS X | 软件开发

Mac OS X Lion 的 Sandbox 是一项了不起的创新。当然,我不反对有人批评目前的 entitlement 可选项不够完备,还需要扩展。在假设今后可能加入新选项的前提下,现有的概念和实现已是巨大的进步。 操作系统局限于 discretionary access control 和 mandatory access control 两种安全模型已经太久了!后者概念复杂,除了涉密极高的部门,连电信银行等大型企业都几乎无人采用,完全没可能进入个人计算领域。前者又过于简单:资源(通常是文件)本身拥有一个访问限制列表 (access control list) [1];进程被赋予一个系统帐号身份,为下列情况之一: 用户的登录帐号,如果是从普通的系统图形化工具如 OS X Finder 或者 Windows 的「start」菜单启动,这是最常见的情况; Supervisor 用户,如果是用 sudo 或者 Windows 的 lauch as administrator 功能启动; 其它帐号,如果是通过 login 等工具设定 shell 进程的帐号再从 shell 启动。 操作系统根据进程的帐号身份和资源的 ACL 决定满足还是拒绝进程对资源的访问请求。用户可能接触到两种程序和两种数据: 非可信程序:其访问和处理数据的行为不明; 非可信数据:可能通过 buffer overflow 等手段向程序注入恶意代码;所以,从系统安全的角度,非可信的数据和程序被等同视为恶意代码的潜在载体,下文统称「恶意代码」。 可信程序:其访问和处理数据的行为经过验证(比如通过低权限帐号长时间运行而没有在系统的 audit logs 中发现其可疑行为被拒绝的纪录;或者由声誉良好的组织发布;或者是操作系统的自带工具)。系统安全的目的之一是避免可信程序被恶意代码篡改。如果可信程序遭到篡改,那么系统中就出现了名义上可信而实质上有恶意的代码,安全防线即被攻破。 可信数据:用户自己创建的文件,或者通过其它方式确保不含有恶意成分的数据(比如通过低权限帐号运行的进程打开,而未在系统的 [...]

原文链接: http://techsingular.net/?p=1912

0     0

我要给这篇文章打分:

可以不填写评论, 而只是打分. 如果发表评论, 你可以给的分值是-5到+5, 否则, 你只能评-1, +1两种分数. 你的评论可能需要审核.

评价列表(0)