我知道 LSA 和 LSASS 分别代表“本地安全机构”和“本地安全机构子系统服务”。
LSASS 是 Windows 中的可执行文件,它将本地用户和域用户的凭据存储在内存等中(对吗?)
LSASS 仅仅是 LSA 的一种实现吗,或者这两者之间有什么关系?
答案1
是的,有“LSA”这个概念,以及“lsass.exe”这个实现 LSA 多项功能的进程。除了“身份验证”本身(根据 SAM 数据库验证用户的凭据)之外,这还包括凭据存储、安全密钥存储(如果您的系统没有其他地方存储它们)等等。如果您启用了文件审核,则 Lsass.exe 会格式化条目并将其发送到安全日志。
顺便说一句,在域中,当您登录域帐户时,实际的身份验证工作当然发生在域控制器上。身份验证凭据仍然存储在您的本地计算机中。
还有一些名称以“Lsa”开头的 API,它们提供 LSA 功能的接口。
“子系统”的术语“ss”更像行话。我从未见过任何明确的定义能够准确解释 Windows 中什么被称为“子系统”。对于 lsass.exe 来说,“子系统”一词可能指的是该进程实现了几个不同的上层功能,甚至几个服务。但这种解释并不适用于例如 csrss.exe,它是 Win32 API 的“辅助”进程。
在具有现代硬件的 Windows 10 系统上,如果固件中启用了虚拟化功能,您可能还会看到 LSAiso.exe 进程正在运行。这是“LSA 隔离”的。它是一个“trustlet”——微软术语,指的是在“VTL 1”(虚拟信任级别 1)中运行的可执行文件,采用一种称为“基于虚拟化的安全性”的机制。VBS 非常聪明和有效。在这种设计中,诸如凭据存储之类的内容存储在无法从“正常”(VTL 0)用户或内核模式访问的内存区域中。如果您的 CPU 支持,并且 Windows 10 的版本足够新,VBS 会自动启用。