防止打开CreateDesktop

时间:2020-08-25 02:43:51

标签: c# .net winapi

我正在致电CreateDesktop创建虚拟桌面,以保护键盘记录程序的安全。但是,有人可以使用OpenDesktop轻松打开桌面。我特别想阻止某人在该桌面上创建进程。

CreateDesktop的最后一个参数指向SECURITY_ATTRIBUTES结构。但是,我不确定如何使用它。

我听说您没有进程级别的保护,只有用户级别的保护。有没有办法创建一个新的受限用户,然后让最后一个参数使用该用户的凭据?

谢谢

1 个答案:

答案 0 :(得分:1)

是的,您可以控制其他人对通过security descriptor创建的桌面的访问。

如果lpSecurityDescriptor成员的值为NULL,则为对象分配与调用过程的访问令牌关联的默认安全描述符。默认情况下,进程的访问令牌中的默认 DACL仅允许访问令牌所代表的用户访问。(这与通过分配一个访问权限来授予所有人访问权限不同NULL自主访问控制列表(DACL)。NULL DACL允许所有用户进行所有类型的访问。

如果默认安全描述符不符合您的要求,则可以创建EXPLICIT_ACCESS,例如仅授予某人只读访问权限,并将所有访问权限授予您自己。

更多参考资料:Creating a Security Descriptor for a New Object in C++

相关问题