.net - 使用 SOAP 消息将加密改进到 .NET 富客户端应用程序到后端服务器
问题描述
我们有一个旧的 .NET 富客户端应用程序通过 SOAP 使用 SSL 加密连接到后端服务。模拟攻击,我在本地机器上安装了 Burpsuite 并拦截了流量,对其进行了修改并将其发送到端点(即使它是使用 SSL 加密的)。保护应用程序免受此类漏洞的最佳方式(最快/最便宜!)是什么?
解决方案
我认为您可以拦截未加密的流量,因为 Burp 执行 SSL MITM……如果有人可以在机器上使用 burp,这意味着他们拥有高权限……所以这不是应用程序安全性的问题,而是系统安全性的问题:低级权限正在使用客户端的用户。
您可以在富客户端中添加另一层加密,但您需要将加密密钥存储在客户端和服务器端的某个位置。将加密密钥存储在富客户端中并不是那么安全,因为很容易反编译 .NET 代码或在调试环境中执行它来捕获密钥。还带有混淆层。
您可以评估使用非对称加密:具有公钥和私钥的密钥对。您可以在富客户端中使用公钥加密秘密,只有服务器才能使用私钥解密它们。但这取决于您要保护的秘密。
由于非对称加密比对称加密慢,您可以加密一个会话对称密钥并与服务器共享。
但是,如果有人可以反编译您的富客户端,他们就可以重写您的代码并做他们想做的事!
推荐阅读
- python - 在熊猫数据透视表数据框中查找特定索引名称的所有记录的总和
- python - 重写代码以将正确输出保存到文本的简单方法
- ruby - 未找到 Rbenv 映像,但已安装版本
- windows - 如何使用ffmpeg水平和垂直组合多个图像
- ios - 如何以编程方式使用 swift 在 UITextField 下面显示 UITableView?
- python - 如何在不丢失蒙版中间数据的情况下去除边框上的噪点
- c# - 无法使用 Harris 检测检测角点
- swift - SwiftUI:为什么这个 ScrollView 的内容错位了?
- python - 为什么我的脚本不显示新创建的文件?
- excel - 跨多个表的 DAX 乘法总和 (sumproduct)