gpt4 book ai didi

.net - 验证 .NET Framework 程序集

转载 作者:行者123 更新时间:2023-12-04 11:40:29 25 4
gpt4 key购买 nike

我刚刚浏览了我们的 german VB.NET forums有一些有趣的事情让我有些头疼。

实际上可以使用 ReflexIL 或其他一些 IL 编辑器来编辑 .NET Framework 程序集。您唯一需要绕过的是程序集的强名称签名。更改程序集 IL 后,您必须运行 sn.exe -Vr [assemblyname]有点跳过强名称验证。之后,您必须清除缓存的 native 图像。只需通过 C:\Windows\assembly目录并删除与您的程序集相关的每个图像。然后重启。登录后,运行 ngen install [assemblyname] .现在新品 生成 native 图像。

这有效。我在我的虚拟环境 (Windows XP x86) 中验证了这个过程。现在最让我担心的是您可以轻松绕过 .NET VerifyHash VerifyData RSACryptoServiceProvider 的方法.这实际上也有效。我和我的一个 friend 测试可以验证这个问题( see screenshots )。那相当容易。

例如,如果我要创建一个基于 .NET Framework 加密类的许可系统,它可能会被绕过 全系统 .NET 应用程序在系统上使用该框架。此外,每个人都可以通过挂接到方法来记录和更改我调用的函数的输入。

现在我的问题是:
既然这可能是一个大问题,我该怎么做呢?当然,恶意用户可以只编辑我的应用程序,但这不会像在系统范围内执行此操作那么糟糕。
我正在考虑一些框架校验和验证,但由于 .NET 框架有很多不同的更新,这似乎是不可能的。

任何解决方案或建议?微软是否以某种方式解决了这个问题?

最佳答案

如果攻击者对您的计算机具有管理员访问权限(这是您描述的攻击所必需的),那么您几乎已经输了。你可以做的任何事情都可能被攻击者规避。

正因为如此,我认为试图防御这种类型的攻击是完全没有意义的。如果您必须处理不受信任的、可能受到危害的计算机,那么您就不能相信它们会做任何敏感的事情,而您必须在自己的服务器上或类似的事情上进行。

关于.net - 验证 .NET Framework 程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14505441/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com