2013-05-03 206 views
0

我想在操作系统中的某处添加签名以验证Windows映像是否正确。如果你克隆一台带有镜像的计算机,它就可以,因为它拥有所有需要的东西。我只是不希望有人找到签名所在的位置,只需将其复制到自定义图像中,然后看起来不错。我正在考虑一些软散列技术。Windows操作系统签名

也许从计算机上的硬件获得一个盐值,并添加一个短语,只有我会知道并创建一个散列值。然后将其存储在文件或注册表中。我会有一个散列检查器来验证它是正确的。

唯一的问题是,我需要运行一个文件来设置哈希值,但不知道如何防止人们简单地使用此文件并单独运行它来设置哈希值。

是否有其他方法来添加我可以验证的签名?或阻止人们运行应用程序,即使他们有它的副本?

感谢

+0

所以基本上你试图建立一个复制保护模式? – DarkSquirrel42 2013-05-03 14:20:25

+0

@ DarkSquirrel42是的。对于创建散列的程序,复制保护模式可以工作。我也在想,我可以与应用程序托管的服务器通信,以确保它从那里运行。它不需要100%完全证明,但足以阻止人们拿走哈希机并在自己的盒子上运行它。 – Matt 2013-05-03 18:35:26

回答

0

你可以做的是这样的:看了一些硬件特定信息从包装盒和散列(MAC地址...主板序列...硬盘序列...等等)这......添加一些字节以使标识符唯一并将其保存到机器中...现在,您拥有该机器的某种标识符...使其具有更多的篡改弹性符号,该标识符...计算标识符的程序可能是发现......只要签名密钥不存在,您就不能伪造签名标识符......并且由于标识符是基于硬件的,您可以重新计算它以查看当前硬件是否属于当前ID ...当然,如果攻击者开始更改标识符的验证逻辑,这可能会被篡改边你的程序...

+0

这就是我的想法,但程序可以很容易地从服务器复制。会发生什么情况是程序会在安装过程中使用vbscript自动运行。该程序会创建一个哈希签名。恐怕有人会出现并复制散列器,然后他们可以在任何机器上运行它,并且当您使用验证工具检查它时,它会在通常情况下无效时出现有效。也许我可以隐藏系统中的几个注册表项或文件,只是让它更难一点。我只是想阻止人们。 – Matt 2013-05-03 22:39:50

+0

如果我要攻击这样的事情,我的第一个想法是连接一个文件系统和注册表监视器...大约30秒后,您的秘密注册表项不再是秘密......您甚至不需要想想看,如果所有这些应该阻止攻击者是一些隐藏的信息... **将无法正常工作** ... – DarkSquirrel42 2013-05-03 22:53:43