服务器与大带宽专家 · 持牌IDC/CDN/ISP服务商
简米科技官网JIANMI TECH
资讯 2026-08-19 简米科技 3,550 字 8 分钟阅读

主机安全客户端如何采集进程与网络连接行为信息,采集原理是什么?

导读主机安全客户端通过内核态钩子、用户态事件订阅和网络审计三层机制,在进程启动和网络连接建立的瞬间完成行为抓取,再统一加密上报至管理平台,要理解主机安全客户端工作原理是什么,只要拆开看这三条采集链路和一条数据回传链路就够了,主机安全agent采集进程行为的三层机制进程采集要解决的问题很直接:主机上谁启动了进程、用了……

主机安全客户端通过内核态钩子、用户态事件订阅和网络审计三层机制,在进程启动和网络连接建立的瞬间完成行为抓取,再统一加密上报至管理平台。要理解主机安全客户端工作原理是什么,只要拆开看这三条采集链路和一条数据回传链路就够了。

主机安全agent采集进程行为的三层机制

进程采集要解决的问题很直接:主机上谁启动了进程、用了什么参数、和谁组成进程树、生命周期有多长,任何一处缺失,都可能导致攻击链断点。

内核态钩子:第一道抓取关口

内核态钩子工作在操作系统内核层,Linux环境常用kprobe、tracepoint配合系统调用拦截钩子,Windows环境则依赖内核回调函数(例如PsSetCreateProcessNotifyRoutine)和ETW事件跟踪。

当业务程序执行fork、execve时,内核态钩子会在系统调用返回前截获事件,读取出发起者的PID、父进程PID、完整命令行以及当时的调用栈,因为事件捕获发生在进程真正生效之前,所以不存在“进程启动后状态被篡改导致审计失真”的问题。

业内专家指出,内核态钩子最直接的价值是防御TOCTOU竞态问题进程启动后立刻被篡改,用户态轮询根本来不及看到原始状态。

用户态事件订阅:兜底补漏

纯内核态采集在部分第三方驱动、独立安全内核模块的干扰下会出现丢事件,因此主流Agent并行订阅用户态事件,形成双通道防丢机制:

  • Linux环境:auditd审计日志、systemd journal、内核netlink组播消息
  • Windows环境:WMI事件订阅、安全事件日志4688(进程创建)及4689(进程退出)
  • 兜底方案:定期轮询/proc目录,重建进程快照

用户态订阅的延迟通常比内核态高几毫秒,但好处是数据结构规整、权限校验简单,Agent内部以进程PID加启动时间戳作为事件主键,将两路数据映射成一条记录,避免重复或漏采。

进程快照与基线比对

Agent首次部署时执行全量进程盘点,记录哈希、签名、文件路径、启动用户、服务依赖等属性,并与系统自带白名单列表比对,部署完成后,Agent每隔几十秒做一次增量扫描,重点捕捉三类变化:

主机安全客户端如何采集进程与网络连接行为信息,采集原理是什么?

  • 新增进程及其命令行内容,重点关注含base64、反引号、管道符等敏感参数的组合
  • 系统关键目录下文件的变更与二进制替换
  • 异常权限提升,例如普通服务进程以system或root身份运行

这些动态信息写入本地环形缓冲后同步给上层检测引擎,基线比对本身不直接判定攻击,但它持续积累进程行为的“合法轮廓”,后续任何偏离轮廓的行为都会触发较高置信度评分。

主机安全客户端监控网络连接的方式与数据源

网络行为采集回答的是另一组问题:这台主机当前和谁在通信、用什么协议、持续多久、连接方向和端口组合是否可疑。

netlink与审计日志读取连接状态

Linux环境下最常用的取数是NETLINK_INET_DIAG接口,它直接查询内核socket连接表,等价于ss命令的数据来源,但Agent可以连续调用并获得结构化输出,通过该接口能拿到TCP、UDP、UNIX域套接字的实时状态,包括连接建立时间、收发字节数和重传次数,Windows环境对应GetExtendedTcpTable这类系统API,可以得到进程PID关联的连接表;如果业务系统要求更高精度,Agent还可以注册WFP(Windows过滤平台)驱动级回调,获取每个SYN包的到达时间。

建立连接与进程的绑定关系

裸连接表只是一个IP和端口的数组,必须和进程绑定才有检测价值,Agent有两种主流绑定方式:

  • socket inode反查法:读取/proc/net/tcp中的socket inode,再在/proc/pid/fd目录里找到持有该inode的进程PID
  • 事件关联法:进程调用connect时,内核钩子同步记录PID与目标地址,直接写入关联表

事件关联法最精准,但依赖内核钩子始终稳定注册,实际部署中,两种方式并行执行,并周期性做数据比对,剔除那些既无进程引用又无内核记录的僵尸连接。

采集频率与数据量的平衡

连接表轮询属于高频操作,但没必要把粒度压到毫秒级,多数生产环境采用秒级轮询,当检测引擎发现突增高危外联或端口扫描特征时,自动把采样间隔提升到亚秒级,Agent内部维护一个滑动窗口,统计每秒新建连接数、活跃连接总量、平均连接存活时长。

主机安全客户端如何采集进程与网络连接行为信息,采集原理是什么?

当连接量突发增长时,Agent会放弃记录部分状态为ESTABLISHED的浏览类长连接,优先保留以下类型的连接记录:未完成握手的高危IP连接、目标端口不在主机服务列表中的外联、非工作时间发起的异常连接,这种取舍让Agent在性能与安全之间保持了平衡,也解释了为什么主机安全客户端价格会随采集深度和服务器规格浮动功能越全,授权费用自然越高。

行为数据如何从主机端回传管理平台

采集完成只是第一步,数据如果不能安全、完整、有序地到达平台侧,一切都等于零。

本地缓存与特征清洗

Agent在内存中建了队列,每条事件先做字段补全、格式归一和特征提取,再进入上报缓冲区,同时记录每条记录的平台确认状态,平台返回ACK后才会从缓冲区删除,这样即使Agent进程重启,未确认的数据也能从磁盘恢复。

加密通道与断点续传

上报链路使用TLS加密的HTTPS或专用私有协议,Agent与平台之间采用双向证书校验,防止仿冒平台劫持数据,当网络断开或平台接口不可用时,Agent自动进入本地持久化模式,把数据写入带序号的文件,下次握手成功后按序补偿上报,平台侧根据全局事件ID做去重,同一主机同一时间的同一条连接记录不会被重复计费或重复告警。

云端关联分析补全上下文

单台主机的进程与连接信息只能描述局部,数据上传后,平台把同一租户内不同主机的数据做交叉比对,画出攻击者的横向移动时间线,比如服务器A的进程X连接了恶意IP,平台立刻检索全网其他主机是否也访问过该IP;如果内网同时有多台主机连接同一个陌生IP,安全团队面临的就是一个已经展开的横向扩散,而不是单一告警。

两个真实场景看懂采集的实际价值

实战场景:挖矿病毒外联溯源

一台Linux主机CPU突然飙升,Agent在进程采集层发现某二进制文件的哈希命中矿池特征库,同时该进程的父进程是nginx的子进程;在网络层检测到该进程持续外连多个境外IP,且目标端口均为矿池常用高危端口,两个维度的记录在平台侧关联后,生成“web服务失陷-下载挖矿木马-持续外联”的完整攻击链,安全管理员可以直接看到木马文件的落地路径和外联频率。

主机安全客户端如何采集进程与网络连接行为信息,采集原理是什么?

实战场景:无文件攻击的链条还原

攻击者通过PowerShell远程执行命令,没有落地任何可执行文件,传统杀毒基本失效,Agent在进程层记录到powershell.exe由winword.exe创建,父进程和子进程的类型完全不匹配,同时观察到该进程调用了网络API,连接了内网其他主机的445端口,这些离散的采集点通过时间轴串联起来,还原出一次完整的钓鱼-宏执行-内网渗透过程。

主机安全客户端采集进程与网络信息的常见问题解答

Q1:采集进程和网络行为数据会影响业务性能吗?

在多数生产环境中影响可忽略,Agent对CPU的占用低于日常业务波动范围,内存占用相当于一个常规后台服务,需要关注的是连接表轮询频率和是否启用抓包组件,这两项参数若同时开到最高值,在万兆流量场景下会产生较大开销,实际部署时建议按业务重要性分级配置。

Q2:Windows和Linux主机安全客户端在采集原理上有何区别?

底层机制不一样,Windows侧以ETW、内核回调和安全事件日志为主,Linux侧以syscall hook、auditd和netlink接口为主,Windows的连接表查询依赖系统API,Linux则可以直接从内核读取完整的socket状态,两类数据在平台侧会统一转换成相同的字段模型,因此用户最终看到的告警格式完全一致。

Q3:本地采集的数据能保留多久?

本地Agent默认保留近一周的行为记录,磁盘不足时自动压缩并缩短保留期,云端平台按监管要求对安全日志做不少于六个月的留存,国内等保测评环境下,通常需要把Agent日志同步到独立的日志审计系统,由专门管理员配置归档策略。

从两端看,主机安全客户端对进程和网络连接信息的采集,本质上是把操作系统转化为一台“行为记录仪”,进程钩子负责回答谁在运行,网络审计负责回答在跟谁通信,本地清洗与加密上报则保证每一条行为记录都真实、完整、可追溯,理解了这条链路,也就理解了整个EDR体系的核心骨架。

分享本文
本文为 简米科技官网 原创,已由运维技术专家审核。转载请注明来源:原文链接
售前咨询 服务热线 售后 邮箱