临时目录是恶意程序常用落脚点,需对系统级、应用缓存、孤立临时区三类路径实施带行为过滤的自动化清理,并结合cfg、noexec等前置防护机制。

临时目录是恶意程序最常利用的落脚点之一,因为系统和多数软件默认允许在 %TEMP%、C:\Windows\Temp、/tmp 等路径自由创建、执行文件。不加管控的临时目录,等于给攻击者留了一扇“免密后门”。自动化清理本身不能直接拦截植入,但它能大幅压缩攻击窗口——让恶意文件来不及持久化、无法完成二次加载、难以维持驻留状态。
关键路径必须纳入自动清理范围
仅清空用户级 %temp% 远不够。真正高危的是以下三类路径,需统一纳入定时策略:
-
系统级临时区:
C:\Windows\Temp(Windows)、/var/tmp(Linux)——服务、驱动、更新进程写入,常被提权后利用 -
应用缓存深层目录:如
%LOCALAPPDATA%\Google\Chrome\User Data\Default\Cache、/Android/data/com.xxx/cache(安卓)——浏览器/APP缓存易被诱导下载恶意载荷 -
未注册的孤立临时区:如
C:\Users\*\AppData\Local\Temp\*.*中非标准命名的子目录、/tmp/.X11-unix/下异常 socket 文件——往往是无文件落地攻击或内存马释放后的残留痕迹
清理逻辑必须带行为过滤,不能简单删旧文件
单纯按“修改时间 >7 天”删除,可能漏掉刚写入的恶意文件;而盲目清空又可能误杀正在运行的合法进程缓存。真正有效的自动化清理需叠加判断维度:
- 跳过正在被进程句柄占用的文件(用
handle.exe或lsof检测) - 排除已知可信签名的可执行文件(如微软、Adobe 签名的临时更新包)
- 对无扩展名、
.tmp、.dat、.bin等高危后缀文件,额外扫描其文件头(如是否含MZ、ELF、PK签名) - 记录每次清理中被删的可疑文件路径与哈希,供后续威胁狩猎比对
用系统机制加固,而非只依赖删除
清理是事后手段,前置防护才能真正防住植入:
-
Windows:启用
Control Flow Guard (CFG)和Exploit Protection中“禁止从远程路径执行”策略,限制临时目录内代码加载能力 -
Linux:挂载
/tmp时添加noexec,nosuid,nodev参数,彻底禁用执行权限 -
通用:关闭不必要的服务(如 Windows 的
TCP/IP NetBIOS Helper、Linux 的rpcbind),减少临时文件创建入口
推荐轻量级自动化方案(无需第三方工具)
以 Windows 为例,一个安全可靠的每日清理任务可这样构建:
- 用 PowerShell 脚本调用
Get-ChildItem扫描%TEMP%和C:\Windows\Temp - 结合
Get-Process排除被占用项,用Get-AuthenticodeSignature过滤已签名文件 - 对剩余文件计算 SHA256,查本地黑名单库(可定期同步 VirusTotal 公共 API 数据)
- 仅删除确认无签名、无进程占用、哈希未命中白名单的文件
- 将任务通过
schtasks注册为每日凌晨 2:00 运行,且仅在系统空闲时触发











