【问题标题】:What's the Best idea to implement an Anti Connection Tampering for .Net application为.Net应用程序实施反连接篡改的最佳想法是什么
【发布时间】:2011-11-04 07:48:55
【问题描述】:

为我的 .Net 应用程序实施防连接篡改的最佳方法是什么。例如,我不希望任何人看到我的应用程序正在发送到我的服务器的内容.. 或者至少加密已发送到服务器的数据..

我现在脑子里突然冒出一个简单的想法,我不确定这是否是正确的做法,以便难以理解我的应用程序正在向我的服务器发送什么......无论如何,我的想法是使用 SSL 证书。这是防止连接篡改的好方法吗?

任何想法或建议将不胜感激..

【问题讨论】:

  • 为确保您必须拥有由证书颁发机构提供的有效证书。您可以使用此证书在传输级别或消息级别进行加密。传输级别的加密是最简单的,这通常使用 SSL 或 TLS 完成。换句话说,SSL 是一个不错的选择。
  • 你的潜在脾气在哪里?在网络上还是在您正在运行的同一设备上?如果你不回答“网络”,你就注定要失败,反作弊技术多年来一直试图这样做,但仍然不能 100% 工作。否则,使用服务器上的私钥嵌入代码中的公钥将解决网络攻击者问题(并且 SSL/TLS 是一个很好的实现)。

标签: .net connection tampering


【解决方案1】:

这里的问题是潜在的连接可能会以两种方式受到损害 - 从客户端到服务器再返回。将 SSL 证书添加到服务器是不够的,并且需要相互身份验证,但这意味着您应该向每个客户端颁发证书。但这似乎是最强的解决方案。

但是,自签名证书只能用于流量加密,因为它们很容易被劫持 - 最流行的例子是 Fiddler 捕获 https 流量的能力。

当您询问任何想法时,您可能有兴趣完全隐藏连接的事实。例如,通过一些黑客攻击,可以将一些模块注入 Internet Explorer。因此,您的应用程序将使用 IE 环境与模块和模块通信 - 与服务器通信。服务器甚至可以暴露https接口,伪装成普通的web服务器。

顺便说一句,文章Man-in-the-middle attack 包含一个工具列表,您可以尝试检查您的应用程序是否容易受到此类攻击。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 2011-08-22
    • 1970-01-01
    • 2023-03-17
    • 2011-01-03
    相关资源
    最近更新 更多