保护组件免受黑客攻击

时间:2010-07-14 19:06:21

标签: .net assemblies digital-signature verification data-manipulation

我有一个控制台应用程序引用程序集A.我想确保如果A.dll被篡改或替换,应用程序将无法运行。

一种选择是使用强名称签名。但是我需要担心strong name bypass吗?

还有其他好的选择吗?

6 个答案:

答案 0 :(得分:5)

如果你可以建立保护,黑客可以打破它。不要过于担心防止篡改,那些能够在心跳中打破它的人可能不会在乎,即使他们这样做了,你几乎什么都不能阻止它们。

最好的建议是授权团队专门为保护您的应用程序而构建的产品。就像密码学一样,通常最好不要自己动手。

答案 1 :(得分:1)

你可以使用你的dll的MD5哈希,但即使这不是非常万无一失,因为任何想要打破你的应用程序的人只会使用反射器并找出你真正在做什么,可能只是直接修改你的程序。您可以获得有助于此的代码混淆器,但没有什么是完全防黑客的。这真的是一个折衷 - 你阻止某人改变你的dll的价值是什么?有人会有什么可能性?并且在时间=金钱方面需要花多少钱才能防范?

答案 2 :(得分:0)

该页面的作者说:

  

相反,对于整合检查,你   真的需要使用Authenticode   签名。

答案 3 :(得分:0)

您需要的是www.red-gate.com/products/smartassembly/等产品,并且有很多这样的产品。但是,它们只能在一定程度上保护您的组件,没有一种是100%安全的。

答案 4 :(得分:0)

执行Web浏览器的操作并依赖来自受信任的第三方的证书。

答案 5 :(得分:0)

实际上,甚至不要试图以任何方式保护你的代码/程序集,或其他任何东西。 我的意思是,如果有可能(并且它被设计)在计算机上运行,​​对于公众等,它是不可能保护它 - 你可以在你自己的计算机上做任何你想要的,有好的工具,你这样拆卸它在一秒钟内。

所以,不要试试,你只会浪费你的时间。