windows - 如果我们更改完整性级别,SID 会更改吗?

标签 windows winapi integrity

如果我们改变完整性级别,SID 会改变吗?

我的代码正在更改完整性级别,我在 Process Explorer 中看到了它。但是我不知道是否也应该为进程更改 SID。在这种情况下,为了证明这一点,我想在 Process Explorer 中更改进程的完整性级别,并查看 SID 是否发生变化。

但是如何在 Process Explorer 中更改完整性级别?

最佳答案

进程没有用于对其他对象进行访问检查的 SID,SID 是线程/进程 token 的一部分。 (进程和线程是安全的内核对象,因此具有带 SID 的 ACL,但这在这里并不真正相关)。

The integrity level is stored as a SID所以是的,如果完整性级别发生变化,其中一个 SID 将发生变化。

The integrity SID for a securable object is stored in its system access control list (SACL). The SACL contains a SYSTEM_MANDATORY_LABEL_ACE access control entry (ACE) that in turn contains the integrity SID. Any object without an integrity SID is treated as if it had medium integrity.

The integrity SID for a security principal is stored in its access token. An access token may contain one or more integrity SIDs.

我怀疑修改完整性 SID 实际上会改变进程的完整性级别。要更改级别,您需要更改 token 。

关于windows - 如果我们更改完整性级别,SID 会更改吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58026195/

相关文章:

winapi - LogonUser 使用 LOGON32_LOGON_NEW_CREDENTIALS 对远程不受信任的域机器起作用

c# - 全局捕获按键,但无论焦点如何,仅抑制当前应用程序和子窗​​口

c++ - 如何在 Windows API 中指定与编码无关的字符串常量?

svn - 基于文件的 SVN 存储库可以支持同时多用户情况吗?

windows - gulp-ruby-sass 在 Windows 中不是可识别的命令

windows - 如何查找计算机在某一天的首次开机时间和最后一次关机时间?

c++ - C/C++ 如何判断一个程序是否已经在运行?

windows - "Relative Virtual Addresses",相对于什么?

c# - 完整性和真实性

mysql - 使用 username=email 保存用户时出现 IntegrityError