首页 > 解决方案 > 使用 SOAP 消息将加密改进到 .NET 富客户端应用程序到后端服务器

问题描述

我们有一个旧的 .NET 富客户端应用程序通过 SOAP 使用 SSL 加密连接到后端服务。模拟攻击,我在本地机器上安装了 Burpsuite 并拦截了流量,对其进行了修改并将其发送到端点(即使它是使用 SSL 加密的)。保护应用程序免受此类漏洞的最佳方式(最快/最便宜!)是什么?

标签: .netsoappublic-key-encryption

解决方案


我认为您可以拦截未加密的流量,因为 Burp 执行 SSL MITM……如果有人可以在机器上使用 burp,这意味着他们拥有高权限……所以这不是应用程序安全性的问题,而是系统安全性的问题:低级权限正在使用客户端的用户。

您可以在富客户端中添加另一层加密,但您需要将加密密钥存储在客户端和服务器端的某个位置。将加密密钥存储在富客户端中并不是那么安全,因为很容易反编译 .NET 代码或在调试环境中执行它来捕获密钥。还带有混淆层。

您可以评估使用非对称加密:具有公钥和私钥的密钥对。您可以在富客户端中使用公钥加密秘密,只有服务器才能使用私钥解密它们。但这取决于您要保护的秘密。

由于非对称加密比对称加密慢,您可以加密一个会话对称密钥并与服务器共享。

但是,如果有人可以反编译您的富客户端,他们就可以重写您的代码并做他们想做的事!


推荐阅读