我正在致电CreateDesktop创建虚拟桌面,以保护键盘记录程序的安全。但是,有人可以使用OpenDesktop轻松打开桌面。我特别想阻止某人在该桌面上创建进程。
CreateDesktop的最后一个参数指向SECURITY_ATTRIBUTES结构。但是,我不确定如何使用它。
我听说您没有进程级别的保护,只有用户级别的保护。有没有办法创建一个新的受限用户,然后让最后一个参数使用该用户的凭据?
谢谢
答案 0 :(得分:1)
是的,您可以控制其他人对通过security descriptor创建的桌面的访问。
如果lpSecurityDescriptor成员的值为NULL
,则为对象分配与调用过程的访问令牌关联的默认安全描述符。默认情况下,进程的访问令牌中的默认 DACL
仅允许访问令牌所代表的用户访问。(这与通过分配一个访问权限来授予所有人访问权限不同NULL
自主访问控制列表(DACL
)。NULL
DACL
允许所有用户进行所有类型的访问。
如果默认安全描述符不符合您的要求,则可以创建EXPLICIT_ACCESS
,例如仅授予某人只读访问权限,并将所有访问权限授予您自己。
更多参考资料:Creating a Security Descriptor for a New Object in C++。