恶意代码防护要看三处
核查终端防护不能只看“有没有装杀毒软件”,要看三个可验证的点:实时保护是否开启、特征库最近一次更新是什么时候、排除项里有没有异常条目。其中排除项最容易被忽略,却是攻击者常用的手法——把恶意文件所在路径加进排除列表,扫描就永远命中不了。核查结论要有证据支撑:Defender 环境用命令输出,第三方防护环境用管理台截图或导出的策略信息。
基本信息
| 加固项 | 防恶意代码运行状态 |
|---|---|
| 适用平台 | Windows 10/11、Windows Server |
| 权限要求 | 本地管理员;Server 核心版可用 PowerShell 取证 |
| 达标判据 | 实时保护开启、特征库 3 天内更新、排除项无异常 |
| 关键字段 | AMServiceEnabled、RealTimeProtectionEnabled、AntivirusSignatureLastUpdated、ExclusionPath |
典型使用场景
- 等保“恶意代码防范”条款现场取证
- 排查终端反复中毒但扫描无结果的问题
- 审计排除项变更,识别被放行的路径
- 服务器核心版(无图形界面)的批量核查
- 第三方 EDR 环境的等效证据采集
核查命令
核查命令
Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated, AMRunningMode
Get-MpPreference | Select-Object DisableRealtimeMonitoring, ExclusionPath, ExclusionProcess, ExclusionExtension
Get-MpPreference | Select-Object -ExpandProperty ExclusionPath # 排除路径逐条列出核对
Get-MpComputerStatus | Select-Object IsTamperProtected # 防篡改保护是否开启结果留档与对比
结果留档与对比
# 导出为 CSV 归档,便于与上期快照做差异比对
Get-MpComputerStatus | Select-Object AMServiceEnabled, RealTimeProtectionEnabled, AntivirusSignatureLastUpdated | Export-Csv C:\evidence\defender-status.csv -NoTypeInformation -Encoding UTF8
Get-MpPreference | Select-Object -ExpandProperty ExclusionPath | Out-File C:\evidence\exclusion-path.txt -Encoding UTF8
Get-WinEvent -LogName 'Microsoft-Windows-Windows Defender/Operational' -MaxEvents 10 | Select-Object TimeCreated, Id核查点与判读
| 核查点 | 达标表现 | 异常表现 |
|---|---|---|
| AMServiceEnabled | True | False 表示服务未运行 |
| RealTimeProtectionEnabled | True | False 表示只在手动扫描时检测 |
| AntivirusSignatureLastUpdated | 3 天内 | 时间过久需排查更新通道 |
| AMRunningMode | Normal | Passive 表示已被其他防护产品接管 |
| ExclusionPath 等 | 条目有登记、可解释来源 | 出现临时目录或用户可写路径,需重点核查 |
| IsTamperProtected | True | 关闭后防护设置可被本地更改 |
第三方杀毒或 EDR 接管时,Defender 处于被动模式,此时只查 Defender 字段会得出“未防护”的错误结论。正确做法是确认终端上实际生效的防护产品,用它的管理台证据说明服务状态、策略下发时间与最近扫描结果,并在报告里写明证据来源,避免结论无法复核。
排除项的基线必须先建立再比对:没有基线时,一长串排除路径很难判断哪些是历史遗留、哪些是刚被加入的。新增排除项必须查来源与审批记录,尤其是把临时目录、用户可写目录或脚本解释器加入排除的情况——这类设置几乎等同于给攻击者开绿灯。