创建具有管理权限的进程最安全的方法是什么?

本文关键字:安全 方法 是什么 进程 创建 管理 管理权 权限 | 更新日期: 2023-09-27 18:11:53

我有一个服务器,它使用CreateProcess函数来启动需要管理权限的客户端程序。我很犹豫是否要这样做,因为黑客所要做的就是将他们的程序hacker.exe替换到与我的客户端程序相同的位置,并将其命名为totallysafeclient.exe,我的服务器将以管理权限启动它。

我正在考虑使用System.Security.Cryptography来计算totallysafeclient.exe的哈希值,以确定它是否确实是它所说的。想法吗?

创建具有管理权限的进程最安全的方法是什么?

经过一些额外的研究,使用System.Security.Cryptography是一个非常糟糕的选择,因为Windows已经有一个涉及RSA加密的内置机制,称为代码签名。对代码签名可以让用户知道代码来自哪里,以及它是否被篡改过。

ShellExecute是一个比CreateProcessAsUser更好的选择,因为它可以通过使用UAC处理ERROR_ELEVATION_REQUIRED异常。当Vista推出这个功能时,大多数用户和开发人员都讨厌(可能现在仍然讨厌),但我强烈建议你看看UAC - What。如何去做。为什么。UAC的项目领导和系统架构师都解释了为什么需要它,以及它是如何提高安全性的。