我编写了一个作为“本地系统”运行的 .NET Windows 服务。最近我读到,作为本地系统运行可能会将系统凭据暴露给黑客,使他们能够接管系统。
当我作为本地系统运行服务时,涉及哪些风险以及如何预防这些风险。
服务运行为LocalSystem
是系统可信空间的一部分。从技术上来说,他们有SeTcbName
特权。这意味着,除其他外,此类服务可以更改任何安全设置、授予自己任何权限,并且通常可以执行 Windows 可以执行的任何操作。
因此,服务中的任何缺陷——传递给系统函数的未经处理的输入、错误的 dll 搜索路径、缓冲区溢出等等——都会成为一个关键的安全漏洞。这就是为什么企业环境中的系统管理员不会允许安装您的服务(如果它运行在LocalSystem
。使用LocalService
and NetworkService
账户。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)