第三章 进程与网络行为分析
各位同学,今天我们来聊聊EDR最核心的能力——进程与网络行为分析。说实话,这部分内容在事故鉴定中占了半壁江山。我处理过的安全事件里,十有八九都能从进程和网络行为中找到关键线索。
3.1 进程创建与终止
进程,说白了就是程序在运行时的样子。EDR监控进程创建和终止,就像保安盯着谁进了大楼、谁又离开了。
核心监控点:
- 父进程与子进程的关系
- 进程启动的命令行参数
- 进程的哈希值(SHA256/MD5)
- 进程启动的时间戳
- 进程的完整性级别
我遇到过最典型的案例:一个看似正常的svchost.exe,父进程居然是cmd.exe。嗯,这里要注意——正常的svchost父进程应该是services.exe。这种异常父子关系,基本就是恶意行为。
实战技巧:我个人习惯把进程创建事件按父子关系画成树状图。恶意软件经常通过CreateProcess API启动子进程,比如用PowerShell下载执行payload。你想想看,一个word.exe突然创建powershell.exe,这正常吗?
3.2 网络连接建立与断开
网络连接是EDR的另一只眼睛。进程要通信,就得建立网络连接。EDR会记录:
| 字段 | 说明 | 我关注的点 |
|---|---|---|
| 源IP:端口 | 本机地址 | 是否使用高位端口 |
| 目标IP:端口 | 远程地址 | 是否连接已知恶意IP |
| 协议类型 | TCP/UDP | DNS通常用UDP 53 |
| 连接状态 | 建立/断开/监听 | 反向Shell会保持长连接 |
| 关联进程 | 哪个进程发起的 | 浏览器进程连接外网正常,记事本就不正常 |
我曾经处理过一个勒索软件事件。EDR日志显示,加密开始前5分钟,有个进程向海外IP建立了TCP连接。这就是典型的C2通信——先连上指挥中心,再开始干活。
避坑指南:我曾经被假阳性坑过。某安全软件把正常的Windows更新连接标记为恶意。后来我养成了习惯——先看目标IP的ASN归属。微软的更新服务器都在自家ASN里,一眼就能认出来。
3.3 DNS查询与HTTP请求
DNS查询是EDR最容易忽略但又最有价值的数据。为什么?因为恶意软件经常用DNS做C2通信。
常见的恶意DNS行为:
- DGA域名:随机生成的域名,比如
a3kf9d2c.xyz - 高频查询:短时间内查询大量不存在的域名
- 隧道通信:把数据编码在DNS请求里
HTTP请求这块,我建议重点关注:
- User-Agent是否异常(比如非浏览器发起的请求)
- 请求的URL路径是否可疑(比如
/admin/login.php) - POST请求的body大小是否异常
一个真实案例:某天EDR报警,一台服务器频繁查询update.microsoft.com。但仔细一看,这个域名多了个横杠——update-microsoft.com。这就是典型的域名仿冒攻击。DNS查询日志帮我们抓住了它。
3.4 文件操作监控
文件操作是EDR的基础能力。但说实话,光看文件创建和删除是不够的。我总结了一套自己的分析方法:
- 关注临时目录:恶意软件喜欢在
%TEMP%和%APPDATA%释放文件 - 关注文件重命名:把
.exe改成.dll或者.scr,这是常见手法 - 关注文件权限修改:恶意软件会修改文件ACL来隐藏自己
- 关注文件删除行为:勒索软件加密后会删除原始文件
我的习惯:我会把文件操作事件按时间线排列,然后和进程创建事件做关联。比如:进程A创建了文件B,然后进程C读取了文件B,最后进程D删除了文件B。这种链条往往能揭示攻击者的完整操作流程。
3.5 知识体系总览
下面这张图是我自己整理的,把进程、网络、文件三个维度的监控点串在了一起。你想想看,攻击者的每一步操作,都会在这三个维度留下痕迹。
嗯,这张图其实是我在给团队做培训时画的。你看,三个维度互相独立,但又紧密关联。攻击者不可能只在一个维度活动——他创建进程、建立网络连接、读写文件,每一步都会留下痕迹。
重要提醒:别只看单一维度的告警。我见过太多人看到进程创建告警就慌了,结果发现是正常的软件更新。一定要把进程、网络、文件三个维度的数据串起来看。这才是EDR事故鉴定的精髓。
好了,这一章的内容就到这里。记住我说的——三个维度,缺一不可。下次你分析安全事件时,试着从这三个角度去梳理,你会发现很多之前忽略的线索。
公众号:蓝海资料掘金营,微信deep3321