Svchost:Windows 服务主机实践指南(以及如何控制它)

Jacki


在我们进行调整之前,先做一个快速的桥梁。

Svchost(“服务主机”的缩写)是一个共享服务进程,它加载动态链接库(DLL 文件)而不是独立的可执行文件。每个 DLL 都包含一个小型 Windows 服务(从打印后台处理程序到网络服务的任何服务)。将它们分组到单个父项下可以节省系统资源并简化修补过程。

Microsoft 在 Windows 2000 中引入了该模型,然后在 Windows 10 和 Windows Server 中加倍努力以缩短启动时间。如果没有它,您的启动顺序将同时处理数十个迷你应用程序,而不是几个容器。

为什么在任务管理器中看到多个 svchost 条目

下一个问题很明显:如果 svchost.exe 是一个程序,为什么任务管理器中的 12 个程序会盯着你看?

服务分组以确保稳定性

Windows 将相关服务(例如 DNS 缓存、DHCP 客户端和 TCP/IP 帮助程序)集群到一个 svchost 中。一旦其中一个崩溃,桌面的其余部分就可以幸存。拆分关键组件和可选组件还可以防止整个系统不稳定。

每服务安全隔离

自 Windows 10 1703 起,网络发现等低信任组件在自己的容器中运行。如果错误的更新破坏了 Wi-Fi,至少您的桌面 shell 仍保持在线状态。

硬件驱动实例

在笔记本电脑上,电源管理会产生一个专用的 svchost 来节省内存和处理能力。插入虚拟机后,您将触发 Hyper-V 的另一个实例。

当一切正常时,这种设计很棒,但这也意味着发现恶意副本需要侦探工作。

在任务管理器中安全地调查 svchost

一个简短的段落来连接点。在执行“结束任务”之前,您需要证明该过程是有罪的。这些步骤可帮助您确认此“.exe”是真实的。

检查文件位置和文件路径

  1. 打开“任务管理器”
  2. 右键单击可疑的“svchost”
  3. 选择“打开文件位置”

正版副本位于 C:\Windows\System32\svchost.exe。

任何停放在 Temp、AppData 或奇怪文件路径中的内容都应该发出警报。 MITRE 将此称为“任务或服务伪装”,这是一种攻击者策略标记的在技​​术 T1036.004 中。

使用命令提示符获取服务详细信息

  • 按“Win + R”组合键
  • 输入“cmd”
  • 按“输入”
  • 运行tasklist /svc /fi“imagename eq svchost.exe”

将每个 PID 映射到其特定服务。

将列表与微软官方数据库进行比较。未知标签是主要的恶意软件候选者。

使用可信扫描杀毒软件

即使看起来合法的副本也可以在内存中进行修补。使用 Windows Security 或第三方防病毒软件进行快速扫描比哈希检查更深入。如果您使用 VeePN 的 Netguard(稍后解释),它会在有效负载着陆之前阻止命令和控制服务器。

警告标志 svchost 正在隐藏恶意软件

它有助于将真正的危险信号固定在日常行为中。密切关注这些有说服力的线索,每条线索都有一个易于检查的论点支持:

未知的文件位置

正如我们之前所说,如果路径不是 C:\Windows\System32(或 64 位 PC 上的 SysWOW64)之外的任何位置,则您可能遇到了冒名顶替者。

数字签名不匹配

合法的 svchost.exe 由 Microsoft 签名。在“详细信息”选项卡中,选中“数字签名”。任何未签名或由未知供应商签名的内容都是赠品。

空闲时 CPU 或内存突然达到峰值

健康的服务主机进程很少会占用资源超过几秒钟。恒定的 40-100% 负载,尤其是与 wuauserv 或 netsvcs 相关的负载,可能表示劫持或更新循环失败。恶意软件清理指南将无休止的 svchost 流失列为典型症状,因为矿工和垃圾邮件机器人需要原始处理能力才能获利。

无法解释的出站网络流量
启动资源监视器或“netstat -ano”。如果服务主机一直与遥远国家的 IP 聊天,出了问题:核心 Windows 服务很少维护数十个外部套接字。

安全服务已禁用或缺失

经常劫持 svchost 的恶意软件杀死Windows Defender、自动更新或防火墙保持隐藏。如果这些服务拒绝启动或从“services.msc”列表中消失,请立即调查父进程链。

该进程在“选择结束任务”后重新出现

当您右键单击并“结束任务”时,合法服务会在服务控制管理器下重新启动一次或两次。无休止的重生循环(相同的 PID 范围、相同的高负载)表明恶意看门狗正在重建其立足点。这种自我修复特征在充当服务主机进程的硬币挖掘僵尸网络中很常见。

注意到这些迹象中的一个或多个吗?断开网络连接,使用受信任的防病毒软件运行全面扫描,并使用 VPN 或防火墙锁定出站流量,直到确定 exe 文件是干净的。

快速修复高 svchost CPU 或内存问题

一旦确认副本合法,资源峰值通常会追溯到单个配置错误的服务。

禁用特定服务(临时测试)

  1. 在运行中输入“services.msc”
  2. 找到罪魁祸首
  3. 右键单击它并选择“停止”
  4. 观察几分钟的 CPU 使用情况。如果一切平静下来,请将启动类型设置为“手动”,直到修补或重新安装相关程序。
  5. 切勿禁用 RpcS 或 DcomLaunch – Windows 将拒绝启动。

重置 Windows 更新组件

  1. 以管理员身份打开命令提示符。
  2. 运行“net stop wuauserv”和“net stop bits”
  3. 删除 SoftwareDistribution 文件夹,然后重新启动服务。
  4. 重启并检查流氓服务主机是否冷却。

修复系统文件

运行“sfc /scannow”,然后运行“DISM /Online /Cleanup-Image /RestoreHealth”会替换可能在卡住的 svchost 内循环的损坏的 dll 文件。

VPN 如何阻止流氓服务主机

如果恶意 svchost 偷偷溜过去并打电话回家,即使是打了补丁的 PC 也很容易受到攻击。使用 VPN 加密每个数据包会阻止出站信标,并向好奇的 ISP 隐藏您运行的软件。

VeePN 高级功能使 svchost 保持诚实

以下是 VeePN 带来的内容:

在加载之前阻止威胁

NetGuard 预过滤 DNS 请求并删除已知的恶意软件域、网络钓鱼页面和广告跟踪器。这意味着假冒的 svchost.exe 永远不会收到其命令脚本,并且您的浏览器加载速度更快,而且不会出现广告膨胀。

内置防病毒软件

VeePN 的内置防病毒引擎会实时扫描下载的文件、运行的应用程序和进程。它可以扫描并阻止病毒、特洛伊木马和间谍软件,包括伪装成正版服务(例如 svchost.exe)的病毒、特洛伊木马和间谍软件,以免其损坏您的计算机或窃取您的信息。

违规警报

VeePN 持续扫描暗网转储以查找您的电子邮件或密码。如果泄漏包括您的地址,您会收到即时提醒,如果潜伏在 svchost 中的恶意软件已经窃取了您的凭据,这一点尤其重要。

军用级加密

该服务将每一位数据都封装在 AES-256 加密中,锁定窥探按键的行为,并阻止寻找未加密的 Windows 遥测数据的数据包检查工具。

终止开关保护

如果 VPN 链路断开,Kill Switch 会立即停止所有流量。当您的 Wi-Fi 翻转网络时,流氓 exe 文件无法偷偷泄露日志。

严格的无日志政策

VeePN 记录有关您访问的站点或运行的程序的零数据,因此冒充 Windows 进程的间谍软件无法传唤不存在的足迹。

10 台设备支持

一项订阅可以覆盖您的笔记本电脑、手机,甚至您孩子仍在使用的布满灰尘的台式机,从而关闭攻击者最喜欢的薄弱环节。

通过我们的 30 天退款保证,无风险地尝试 VeePN。

常问问题

  • 如何知道svchost是否被感染?
    1. 打开“任务管理器”
    2. 右键单击可疑条目
    3. 点击“打开文件位置”

    System32 之外的任何内容都是可疑的。使用“tasklist /svc”进行交叉检查,并使用受信任的防病毒软件运行全面扫描。

    更多阅读:如何修复 Windows 搜索协议主机错误

  • 禁用 svchost 安全吗?

    主进程是强制性的,但您可以停止其中的特定服务。始终通过在 services.msc 中停止服务进行测试,而不是终止父服务,否则 Windows 可能会崩溃。

  • 为什么有这么多svchost.exe在运行?

    为了安全起见,Windows 将多个服务拆分到单独的容器中。每个组处理相关的任务,因此一次崩溃不会擦除整个操作系统。

  • 为什么svchost CPU使用率高?

    通常,单个失控服务(Windows Update、Superfetch 或隐藏的挖矿程序)会陷入循环。识别 PID,检查其关联的服务,然后重新启动它或修补有问题的软件。