msmpeng.exe 是 Windows Defender 的后台服务进程,也称为 Windows Defender Antimalware Service。它负责监控系统的实时保护、文件扫描、网络保护等任务。msmpeng.exe 会定期扫描文件、程序和系统内存,以侦测并应对潜在的安全威胁
MsMpEng.exe(Antimalware Service Executable,Microsoft Malware Protection Engine)全解构
进程显示名称:Antimalware Service Executable,是 Microsoft Defender Antivirus(微软 Defender 防病毒)核心用户态引擎进程,Win8/10/11 内置,负责实时扫描、按需扫描、AMSI 脚本检测、云协同、威胁处置;区别于 smartscreen.exe(仅信誉校验)、MDE EDR(终端检测响应)。 服务名:
WinDefend(Microsoft Defender Antivirus Service),SCM 托管,默认自动启动。
一、底层原理
整体架构:内核微筛选驱动(WdFilter.sys)采集事件 → 用户态 MsMpEng 引擎多模块检测 → 判定处置,多层检测叠加(本地特征、启发式、行为分析、BAFS 云即时拦截、AMSI 内存扫描)
1.1 内核事件捕获(前置入口)
WdFilter.sys 属于 Windows 文件系统微筛选驱动(Minifilter),在内核层拦截:
- 文件创建、写入、重命名、打开执行
- 进程加载 PE、驱动加载、注册表关键写入 事件打包后投递到
MsMpEng.exe扫描队列。
WdBoot.sys:启动时预加载驱动,实现早期恶意驱动拦截(Bootkit 防护)
1.2 引擎内部 5 大核心检测模块
- 静态特征匹配:加载
.vdb/.vdm病毒定义库,匹配已知恶意文件哈希 / 特征码 - 启发式仿真:轻量指令仿真,识别未知可疑编译特征、加壳样本
- 行为分析引擎:监控高风险行为(进程注入、横向 WMI、持久化写入、卷影拷贝删除等)
- AMSI 扫描模块:作为系统默认 AMSI Provider,内存直接扫描脚本载荷(PowerShell/VBS/Office 宏 /.NET),不需要文件落地,专门对抗无文件恶意攻击
- BAFS(Block At First Sight,初见即拦截)云协同 本地无法判定可疑样本 → 上传哈希 + 元数据到微软 MAPS 云沙箱深度分析 → 同步阻塞执行,云端返回恶意 / 可信结果,本地缓存判定结果
1.3 前置规则匹配(含排除项)
扫描任务进入引擎后最先执行排除规则匹配(你前面问到的 Defender 排除项): 命中文件 / 文件夹 / 文件类型 / 进程排除 → 直接跳过全量检测,不进入特征 / 云扫描流程。
1.4 任务调度与资源控制
内置队列优先级调度:可执行文件 / 脚本 > 压缩包(自动递归解压扫描)> 媒体静态文件;系统负载高时自动降低线程优先级、暂停后台全盘扫描、游戏全屏自动限流,减少 CPU / 磁盘占用。 内置 MpCache 哈希缓存,短时间重复访问同一可信文件直接放行,避免重复扫描。
1.5 威胁处置逻辑
- 恶意:隔离至系统隔离目录、删除源文件、终止恶意进程、记录事件日志
- 可疑未知:上报云,同时告警
- 可信:直接放行
二、依赖文件 & 依赖关系
2.1 核心文件清单
表格
| 文件 | 功能 |
|---|---|
MsMpEng.exe |
主进程,引擎调度、扫描、处置总入口 |
mpengine.dll |
核心恶意检测引擎本体(特征 / 启发式核心) |
mpasbase.dll / mpasdl.dll |
AMSI 接口实现、脚本扫描模块 |
WdFilter.sys |
文件系统微筛选内核驱动,IO 事件捕获 |
WdBoot.sys |
启动期内核防护驱动 |
amsi.dll |
AMSI 标准接口库,脚本宿主调用入口 |
MpCmdRun.exe |
Defender 命令行工具,手动扫描、更新定义、查询状态 |
MpSrv.dll |
WinDefend 服务通信组件 |
wscisvif.dll |
Windows 安全中心交互,读取 / 写入 Defender 配置 |
crypt32.dll/tcpip.sys |
MAPS 云通信、样本上传 TLS 加密 |
ntdll.dll/kernel32.dll |
基础进程、文件、内存 API |
2.2 服务依赖
服务:WinDefend(Microsoft Defender Antivirus Service) 依赖项:RPC、SCM,Win11 新增 PPL(Protected Process Light)保护,防止恶意进程注入、篡改 MsMpEng。
2.3 注册表存储(优先级从高到低)
# 域/MDM策略(最高优先级,覆盖本地)
HKLM\SOFTWARE\Policies\Microsoft\Windows Defender
# 本地原生配置
HKLM\SOFTWARE\Microsoft\Windows Defender
# 排除项独立分支
HKLM\SOFTWARE\Microsoft\Windows Defender\Exclusions
策略优先级:MDE 安全基线 > GPO 组策略 > Intune MDM > PowerShell / 本地注册表 > 安全中心 GUI 设置Microsoft ...
三、完整逻辑链路
链路 A:普通文件实时防护(最主流)
程序发起文件写入/打开 → WdFilter.sys内核捕获IO事件 → 投递MsMpEng扫描队列
→ 第一步匹配Exclusions排除规则
✅命中排除 → 直接放行
❌未命中 → mpengine.dll静态特征匹配 → 启发式/行为检测
→ 本地判定恶意 → 隔离阻断
→ 本地无法判定 → MAPS云BAFS查询
→ 云端判定恶意 → 阻断+隔离
→ 云端可信 → 放行并缓存结果
→ 写入Defender事件日志
链路 B:AMSI 无文件脚本扫描(PowerShell / 宏)
powershell.exe / wscript / Office VBA → 调用amsi.dll AmsiScanBuffer
→ COM转发至MsMpEng的AMSI Provider
→ 内存直接解析脚本载荷,无需落地文件
→ 检测到恶意指令直接阻断脚本执行
链路 C:手动 / 定时全盘扫描
MpCmdRun.exe / 安全中心发起扫描任务 → MsMpEng遍历文件系统
→ 同样前置匹配排除项 → 逐层检测 → 处置恶意样本
链路 D:病毒库更新
Windows Update → 下载vdb/vdm特征库 → MsMpEng热加载新特征,无需重启进程
四、配套链(管理、审计、联动组件)
- 本地管理配套
- PowerShell:
Get-MpPreference/Add-MpPreference/Start-MpScan - MpCmdRun.exe:命令行扫描、签名更新、隔离管理
- Windows 安全中心:可视化开关、排除项、扫描入口
- PowerShell:
- 企业批量管理配套
- GPO 组策略:批量下发排除、云提交、实时防护开关
- Intune/MEM、SCCM:终端基线管控
- Defender for Endpoint (MDE):EDR 模块,在 Defender AV 之上叠加深度遥测、自动响应、跨设备狩猎
- 安全联动配套
- AMSI:脚本 / 内存恶意检测标准接口
- Exploit Guard(漏洞防护、网络保护)
- SmartScreen:独立前置文件信誉校验(和 MsMpEng 互不替代)
- AppLocker/WDAC:代码执行白名单,优先级高于 AV 扫描
- 审计配套 事件日志路径:
Microsoft-Windows-Windows Defender/Operational关键事件 ID:1116(检测恶意)、1117(已清理)、1121(命中排除),可接入 SIEM 平台做告警审计
五、边界限制(硬边界,极易踩坑)
5.1 防护边界
✅ 覆盖:文件实时扫描、PE / 脚本 / 宏、注册表、进程行为、内存 AMSI 扫描、驱动预启动防护 ❌ 不自动覆盖:内核无文件直接系统调用绕过、部分原生 LOTL 工具正常行为(仅异常组合才告警);不替代 EDR,MDE 才具备完整进程遥测、跨设备溯源能力
重要区分:MsMpEng 是防病毒 AV,MDE 是 EDR,二者经常一起启用但属于两套模块
5.2 排除项边界(和前面内容联动)
- 文件 / 文件夹排除:仅跳过文件扫描,AMSI 内存脚本扫描不受文件排除影响
- 进程排除:仅跳过该进程读写文件的扫描;该进程自身内存、脚本载荷依然走 AMSI 检测
5.3 网络边界
- BAFS 云查询、样本上传需要公网连通微软 MAPS 服务器;断网时仅依靠本地特征库,新变种无法识别
- 可通过组策略设置是否自动提交可疑样本
5.4 权限 & 策略边界
- WinDefend 为 SYSTEM 级 PPL 受保护进程,普通用户无法终止;恶意驱动可尝试绕过 PPL
- 域终端组策略下发后,本地 GUI/PowerShell 添加的排除、配置会被策略覆盖失效
5.5 版本边界
- Win7:MSE 架构,进程逻辑、驱动架构不同
- Win10 1607+ / Win11:现代 Defender 架构,完整 AMSI、BAFS、WdFilter 微筛选
- Server 系统:Windows Server Defender,默认配置有差异
5.6 性能边界
- 大量小文件编译、解压、日志写入场景极易触发高 CPU / 磁盘 IO(高频实时扫描),工程 / 开发环境通常配置目录排除缓解
六、运维常用排查命令(管理员 PowerShell)
# 查询Defender基础配置(含全部排除项)
Get-MpPreference
# 手动快速扫描
Start-MpScan -ScanType QuickScan
# 查看WinDefend服务状态
Get-Service WinDefend
# MpCmdRun手动扫描示例
MpCmdRun.exe -Scan -ScanType 2
补充:易混淆组件对照表
| 进程 | 定位 |
|---|---|
| MsMpEng.exe | Defender AV 核心引擎,本地 + 云病毒查杀、AMSI |
| smartscreen.exe | 文件 / URL 云端信誉前置校验,独立 |
| Sense.exe | MDE(Defender for Endpoint)EDR 遥测进程 |
msmpeng.exe 是 Windows Defender(也称为 Microsoft Defender Antivirus)的核心进程,负责系统的实时保护、恶意软件扫描和防病毒功能。它通常在后台运行,确保系统免受病毒、间谍软件和其他恶意软件的攻击。
1. msmpeng.exe 的作用
进程名称:msmpeng.exe
位置:通常位于 C:\Program Files\Windows Defender\ 或 C:\ProgramData\Microsoft\Windows Defender\
作用:
实时保护:实时监控系统中的文件和进程,防止恶意软件侵入。
系统扫描:定期扫描计算机上的文件和程序以检测潜在威胁。
恶意软件防护:包括病毒、木马、间谍软件、广告软件等。
启动方式:由 Windows 服务管理器 启动,通常在系统启动时自动启动,且与操作系统一起运行。
2. msmpeng.exe 的核心依赖关系层次
+-----------------------------+
| 用户/应用层 (可选) |
| - Windows Settings |
| - 第三方应用请求扫描 |
+-----------------------------+
▲
│
+-----------------------------+
| msmpeng.exe |
| - 执行实时保护和扫描任务 |
| - 调用系统 API,管理扫描任务 |
+-----------------------------+
▲
│
+-----------------------------+
| Windows 安全框架层 |
| - winapi32.dll |
| - advapi32.dll |
| - secur32.dll |
+-----------------------------+
▲
│
+-----------------------------+
| Windows API / 系统库层 |
| - kernel32.dll |
| - user32.dll |
| - ntdll.dll |
| - ws2_32.dll |
+-----------------------------+
▲
│
+-----------------------------+
| 驱动程序层 / HAL |
| - 防病毒驱动 |
| - 文件系统驱动 |
| - 内核级别的防护 |
+-----------------------------+
▲
+-----------------------------+
| Windows 内核 |
| - NT 内核 |
| - 驱动管理器 |
| - 安全权限管理 |
+-----------------------------+
3. 依赖链说明
用户/应用层:
用户可能通过 Windows 安全设置 调整防病毒选项,或者通过其他应用程序触发扫描。
msmpeng.exe:
核心任务:实时保护、恶意软件检测和扫描,访问并分析系统文件、进程、网络流量等。
Windows 安全框架层:
包含与安全相关的 API,支持 msmpeng.exe 执行安全性操作。
winapi32.dll、advapi32.dll、secur32.dll 提供安全和权限管理功能。
Windows API / 系统库层:
kernel32.dll、user32.dll、ntdll.dll:基础 Windows 系统调用、内存管理、进程调度等。
ws2_32.dll:网络通信支持,防止网络传播的恶意软件。
驱动程序层 / HAL:
防病毒驱动通过内核模式与硬件交互,保护系统免受病毒和恶意代码的侵害。
文件系统驱动程序用于监控文件操作,实时扫描每个文件。
Windows 内核:
管理安全权限、驱动程序加载、内存保护等,确保 msmpeng.exe 正常执行防护任务。
msmpeng.exe 是 Microsoft Windows Defender 的主要组件之一。Windows Defender 是 Windows 操作系统内置的杀毒软件和安全防护工具,用于检测和清除计算机上的潜在恶意软件、病毒和其他安全威胁。
具体来说,msmpeng.exe 是 Windows Defender 的后台服务进程,也称为 Windows Defender Antimalware Service。它负责监控系统的实时保护、文件扫描、网络保护等任务。msmpeng.exe 会定期扫描文件、程序和系统内存,以侦测并应对潜在的安全威胁。
msmpeng.exe 进程通常位于以下文件夹:
对于 32 位 Windows 系统:C:\Program Files\Windows Defender
对于 64 位 Windows 系统:C:\Program Files (x86)\Windows Defender
为什么会有 msmpeng.exe 进程存在呢?这是因为 Windows Defender 是操作系统的一个重要组件,微软将其集成到 Windows 中,以提供基本的安全防护功能。msmpeng.exe 进程是 Windows Defender 后台服务的一部分,负责保护计算机免受恶意软件和其他安全威胁的侵害。
需要注意的是,由于 msmpeng.exe 执行实时保护和扫描任务,该进程可能会占用一定的系统资源,例如 CPU 和内存。这在进行扫描或处理大量文件时可能会导致系统运行变慢。但这是正常的行为,以确保计算机的安全性。
如果您希望调整 Windows Defender 的行为或优化系统资源的使用,您可以在 Windows 设置中进行以下操作:
打开 Windows 设置。
选择"更新和安全"。
在左侧导航栏中,选择"Windows 安全"。
在"Windows 安全"窗口中,选择"病毒和威胁防护"。
在"病毒和威胁防护设置"部分,您可以进行一些调整,如改变实时保护级别、安排扫描计划或排除特定文件、文件夹或扩展名等。
通过调整这些设置,您可以根据自己的需求和系统性能偏好来管理 Windows Defender,并平衡安全性和系统资源之间的关系。

浙公网安备 33010602011771号