本
文
补上一些
上篇未提到的内
容
,希望大家能有更多启发
。
在现代操作系统中,系统调用是应用程序与内核之间进行交互的基础。通过监视这些调用,安全工具可以揭示应用程序的行为模式,从而检测潜在的恶意活动。
然而,鉴于系统调用的数量庞大且频繁,必须精心选择需要监控的调用集合,以平衡性能开销和安全监控的需要,因此
现代核心检测技术仍然是前置的实时检测和扩展检测,并不是将日志无差别的接入云端做离线分析
。
以
Falco核心的实时检测逻辑为例,它可以
分解为以下关键组件和步骤:
基础 Syscalls 集合定义
首先,需要定义一组基
础的 syscalls(系统调用),这些调用是检测链中监控事件所必需的。
这些基础集合通过 base_syscalls 来配置,可以分为几类:
进程相关的 Syscalls
:如 clone, clone3, fork, vfork, execve, execveat, 和 close。这些调用对于捕获进程的创建、执行、复制和结束非常关键,能够帮助检测系统中的恶意进程行为。
网络相关的 Syscalls
:包括 socket, bind, 和 getsockopt。它们确保网络相关事件被适当记录,包括IP元组(如源IP和目的IP)和相关信息,这对于检测基于网络的攻击活动至关重要。