用途:面向安全事件调查、威胁狩猎与检测规则构建,通过分析 Zeek conn.log 连接间隔识别 C2 信标行为,并可用于验证相关攻击技术的监控覆盖。
主要能力:使用 ZAT(Zeek Analysis Tools)的 LogToDataFrame 将 conn.log 解析为 Pandas DataFrame;按源 IP 与目的 IP 对分组连接;计算相邻连接的时间间隔(inter-arrival time);统计标准差与变异系数,将变异系数较低的源/目的对标记为潜在信标。
使用方式:需 Python 3.8+ 及依赖,具备安全运营基础与经授权的测试或实验环境。核心步骤为加载日志、分组、计算间隔与统计量。示例: from zat.log_to_dataframe import LogToDataFrame import numpy as np log_to_df = LogToDataFrame() conn_df = log_to_df.create_dataframe('/path/to/conn.log') for (src, dst), group in conn_df.groupby(['id.orig_h', 'id.resp_h']): times = group['ts'].sort_values() intervals = times.diff().dt.total_seconds().dropna() if len(intervals) > 10: std_dev = np.std(intervals) mean_interval = np.mean(intervals)
适用场景:SOC 分析师结构化分析、事件响应、检测规则与狩猎查询编写。
限制:需足够连接样本(示例要求间隔数大于 10);仅基于时间间隔统计,未提供阈值、误报率或平台支持等细节,暂未提供。