保护控制台应用程序

时间:2017-08-17 09:20:29

标签: .net security

我正在开发一个挂钩到另一个进程的控制台,并在主应用程序中发生某些事件时向web api发送请求。

  • 要验证对api的请求,使用HMAC身份验证,因为登录 密码不是一个选项。
  • 我在app.config和保护部分保留共享密钥值 通过SecureString检索它。
  • 当没有互联网访问时,所有数据都保存在加密文件中 使用CryptoStream

在我看来这是保护我的应用程序的不错方法,但我担心这还不够,因为用户可以访问本地计算机的.exe和管理员权限,他们肯定会尝试找到如何破解我的应用程序。

我还能做些什么来加强安全性?或者也许你可以建议其他方法?

2 个答案:

答案 0 :(得分:3)

  

用户可以访问本地计算机的.exe和admin权限

安全方面,你注定要失败。您无法保护攻击者具有root访问权限的内容。根本没办法。唯一的方法是限制用户或将所有代码移动到服务器端,留下一个空心的前端,基本上可以为服务执行所有操作。

举个例子:

  

我在app.config的保护部分保留共享密钥值,并通过SecureString

检索它

是什么阻止用户反编译您的应用,在控制台上插入显示SecureString的行,再次编译 并运行它?没什么,因为他们是机器上的根。任何已根植的东西都没有安全保障。

答案 1 :(得分:1)

如果可以选择,您可以加密与API的通信。为此使用HTTPS和认证。如果您担心用户可能会反编译您的.exe,包括一些假例程也可能会有所帮助。

您能说明您担心用户可以使用该应用程序吗?