delphij's Chaos

选择chaos这个词是因为~~实在很难找到一个更合适的词来形容这儿了……

11 Aug 2012

周末地图炮时间:沙箱与开发者的良心

TextMate 2 宣布开源了,在 一则报道 中指出,这是对苹果 OS X 新增的限制的回应,我对此十分怀疑。

为什么呢?因为沙箱是非常重要的安全机制。沙箱其实到处存在,只不过在过去没有 OS X 中这样全面和细致而已。例如,现代操作系统中两个进程不能随便互相写对方虚拟内存中的内容;又比如,操作系统中通过"用户"、“属主"等概念来进行访问控制,等等。这些机制的存在,限制了由于开发人员偶然犯错导致的损失范围。许多不靠谱而且不负责任的开发者,则会以种种借口指责沙箱拖慢了他们的开发进度。更有甚者,其中的一些甚至还会告诉用户打破沙箱(例如比较常见的是很多 php 应用建议用户 chmod -R 777),其结果则必然是在发生问题时产生更大的损失。

是的,我的意思就是,如果有人建议你用一些方法削弱操作系统的沙箱机制来运行他的程序,那不仅这个开发者的水平太差,而且他的良心也让狗吃了。


Archived: 14 Comments

haohaolee | August 11, 2012 6:31 PM

对对对,这也是我面对很多Windows应用建议关掉UAC时的感想

ext- | August 12, 2012 8:52 PM

不知博主有没有实际上用过The unarchiver在mas里的sandbox版本。sandbox到解压缩程序连+x权限都不能有,导致其完全丧失解.app.zip之类的能力(用mac稍微久一点的童鞋都该知道这类app大量存在,比如0xED),以致the unarchiver作者不得不在Google code维护另一个去掉sandbox的版本。这是这个开发者的水平太差,还是他的良心让狗吃了呢?

Xin LI replied to comment from ext- | August 12, 2012 9:22 PM

显然是开发者的良心问题,因为他们根本不在意用户是否会因为这样做而更容易受到攻击,这类OS的bug不应该以任何理由做workaround。

Sutra | August 12, 2012 10:35 PM

Homebrew 不知道是否可以作为例子。

J replied to comment from haohaolee | August 13, 2012 8:38 PM

UAC罗里八嗦的烦死人

Hank | August 13, 2012 8:51 PM

我在mas里面买了bbedit,结果连个command line tools都装不了。结果还要绕一大圈去要个license装安装版。作为开发者和效率控,我不会再从app store买任何app,去你妹的沙箱模型。我的PC我做主。

haohaolee | August 13, 2012 9:53 PM

ls几位,要分清开发者和用户的区别

Tin | August 13, 2012 10:10 PM

我支持 @delphij 的观点,我是说我支持“安全沙箱”是非常有效的保证系统安全的方法,鼓励大部分不明真相的用户放弃“安全沙箱限制”从而把自己暴露在危险中的行为是可耻的。“安全沙箱”应该可以有效的减少我们的众多需要我们技术支持的“亲戚朋友”找到我们维护系统的麻烦。
不过还是有但是。当用户知道自己要干什么的时候,当用户知道如何管理风险的时候,我们要允许他们使用非安全沙箱的应用。当一个软件的用户群大都是这种用户的时候我们应该允许应用放弃App Store版本告别沙箱。就好比大家都知道玩枪不靠谱,美帝还是允许大家持枪。 by @diamondtin

https://www.google.com/accounts/o8/id?id=AItOawlg-o3H2vYOE2BvnUtP5VrePEdcO89N5WY | August 13, 2012 10:12 PM

我支持 @delphij 的观点,我是说我支持“安全沙箱”是非常有效的保证系统安全的方法,鼓励大部分不明真相的用户放弃“安全沙箱限制”从而把自己暴露在危险中的行为是可耻的。“安全沙箱”应该可以有效的减少我们的众多需要我们技术支持的“亲戚朋友”找到我们维护系统的麻烦。
不过还是有但是。当用户知道自己要干什么的时候,当用户知道如何管理风险的时候,我们要允许他们使用非安全沙箱的应用。当一个软件的用户群大都是这种用户的时候我们应该允许应用放弃App Store版本告别沙箱。就好比大家都知道玩枪不靠谱,美帝还是允许大家持枪。 by @diamondtin BTW:你的网站的留言系统太反人类了……

syh | August 13, 2012 10:16 PM

要么开源,要么appstore及其沙盒。

Xin LI replied to comment from https://www.google.com/accounts/o8/id?id=AItOawlg-o3H2vYOE2BvnUtP5VrePEdcO89N5WY | August 13, 2012 10:20 PM

你这不是用 Google 登录上来了么?只要发一次就Trust,我这个主要是因为不这么干广告评论太多了。。。

xiliangchen | August 14, 2012 4:40 AM

说真的,开发者不算,作为一门普通用户,有多少时候需要超出沙箱的功能??
开发者抱怨沙箱是因为我们是开发者,需要用到很多超出的功能,但是不表示普通用户也需要这么多功能
就拿The unarchiver来说,既然普通用户都直接从app store下载东西了,那么为什么会需要解压executable文件?这本身就是件危险的事情,你不知道这个东西执行后会带来什么后哦过

Null | August 17, 2012 2:26 AM

是的,禁止居民出家门是非常重要的安全机制。这种限制其实一直存在,只不过过去没有这么全面和细致而已。例如,一个人私闯别人的私宅是被视为违法的;又比如,很多地方(比如银行金库、政府机关)禁止未授权的人进入。这些机制的存在,限制了别有用心的人导致的损失范围。许多不靠谱而且不负责任的人,则会以种种借口指责禁止居民出门拖慢了社会进程。更有甚者,其中的一些甚至还会告诉别人打破限制(例如比较常见的是很多人建议银行金库向全社会敞开大门不设防),其结果则必然是在发生问题时产生更大的损失。

randy replied to comment from Null | August 29, 2012 4:53 AM

类比看起来很有意思,但其实并没有什么说服力。