我试图更好地理解OSX代码签名,以及它在保护我的软件方面给我带来的好处。有人能帮我澄清一下某些问题吗?
给定一个代码签名的应用程序,但不是沙箱:
如果黑客更改应用程序的二进制文件,应用程序将不再被视为已签名。但是,它是否仍然正确运行(请注意,Lion将警告用户应用程序没有签名)?
给定一个代码签名的和沙箱的应用程序:
在这种情况下,如果黑客更改代码,会发生什么?他/她是否可以简单地删除权利文件来创建一个没有任何沙箱限制的应用程序的未签名版本?
给定一个已签名但不是(而不是)的沙箱应用程序,其中包含有签名和沙箱的XPC服务助手,我可以做些什么来保证黑客不能创建任何部分的非签名(和修改)版本。在我看来,就目前的情况而言,黑客可以做到以下几点:
我说错了吗?如果是,为什么?
谢谢,
时间
发布于 2013-01-09 21:47:19
你基本上是对的。您要寻找的是复制保护,这是没有人知道如何(好)做的事情,这不是代码签名或沙箱尝试做的事情。如果你的程序在运行时被接管并被用来做它不应该做的事情,沙箱所做的就是限制它的伤害。代码签名所做的是阻止其他人将他们的程序传递给您。
我故意用了“他们的程序”这个词。你必须意识到,一旦“你的程序”出现在别人的电脑上,他们开始搞砸它,它就不再是你的了;它是他们的,他们可以用它做任何他们想做的事情。他们可以取出部件(沙箱等)添加部件(恶意代码等),更改内容,.他们甚至可以编写一个“全新”的程序,恰好包括你的程序的部分(或全部)。
有些事情可以让您的代码难以修改/重用,但是没有人知道如何使代码变得不可能。苹果没有尝试,他们的安全措施是针对其他目标的。
https://stackoverflow.com/questions/14246053
复制相似问题