Pablo Zavala · AI 安全评估 · 研究工程

网络安全异常检测

这是一项Carnegie Mellon的安全分析项目,在来自BETH蜜罐数据集的仅良性Linux内核流量上拟合一个孤立森林,随后在冻结阈值下对其评分。在模拟1%攻击流行率下的18,000个事件留出集上,该检测器捕获了90%的入侵(180次入侵中的162次),假阳性率为1.94%,ROC AUC为0.9714。本条目对自己的头条结论进行了审查:精确率为0.3189,这意味着大约每三条告警中就有一条命中真实攻击,而三个主导特征为攻击者提供了一套欺骗手册,这使得该检测器只是纵深防御中的一层。

主张精确度

证据所证明的内容
冻结阈值留出集:召回率0.9000(180次攻击中的162次;95%置信区间0.85至0.94),假阳性率0.0194,ROC AUC为0.9714,来自一个在仅良性流量上拟合的孤立森林
能力与证据前沿
在模拟1%流行率下,所选阈值对应的精确率为0.3189,恶意类别仅包含一台蜜罐主机上的单一僵尸网络部署活动,且三个主导特征使该检测器容易被欺骗。

公开可复现仓库与已执行notebook

角色: 独立作者:负责特征工程、可分性分析、仅良性数据上的检测器拟合、阈值治理、错误分析,以及公开复现包。

评估卡

检测性能

样本
18,000个事件的留出集,模拟1%流行率,阈值在验证后冻结
评估器
召回率、假阳性率、精确率、ROC AUC与PR AUC,配合基于留出集400次重采样的自助法(bootstrap)95%置信区间
结果
召回率0.9000(180次攻击中的162次;置信区间0.85至0.94),假阳性率0.0194(17,820个良性事件中的346个);ROC AUC为0.9714;PR AUC为0.2972;精确率0.3189(置信区间0.28至0.36);告警预算为每100k个事件2,822条。
验证范围
仅涉及一场攻击活动和一个蜜罐环境;这些指标衡量的是这个数据集,而非生产环境流量。

错误分析

样本
冻结阈值在留出集上标记出的346个假阳性
评估器
针对被标记良性流量的进程与事件分类法
结果
systemd进程占假阳性总量的86%,getdents64目录枚举的触发频率是其良性基线的37倍,因此来自systemd的getdents64告警,应当先套用一条快速通道复核规则,而不必立即呼叫人工处理。
验证范围
分诊指南仅源自单一环境的良性基线。

证据等级

样本
公开仓库:带有内嵌输出结果的已执行notebook、九张已提交的图、固定版本的依赖,以及一个数据重建脚本
评估器
RANDOM_STATE=42重新执行,配合重建脚本中的行数断言
结果
重新执行精确复现了每一个头条指标,15个代码单元格中有14个逐字节相同(唯一差异是pandas数据类型标签上的一处外观改动);重建脚本断言三个关键行数;代码采用MIT许可,数据集采用CC0 1.0许可。
验证范围
95MB的数据子集不纳入版本控制,因此完整重建需要一个Kaggle账户;仓库随附一份500行的分层样本,供结构检查之用。

所属机构

样本
Carnegie Mellon University课程项目,2024年秋季,2025年2月修订
评估器
仓库README署名信息
结果
独立完成的安全分析课程项目,已升级为公开可复现仓库。
验证范围
课程讲义、题目要求与评分背景信息保持不公开。

页面更新时间

样本
2026年7月
评估器
网站内容台账
结果
条目于2026年7月10日根据公开仓库撰写:包括其README、数据文档与已执行notebook的输出结果。
验证范围
数字引自已提交的已执行notebook及其记录在案的重新执行结果,而非针对新流量的一次全新运行。
包含样本、评估器、结果与验证范围的评估维度。
维度样本评估器结果验证范围
检测性能18,000个事件的留出集,模拟1%流行率,阈值在验证后冻结召回率、假阳性率、精确率、ROC AUC与PR AUC,配合基于留出集400次重采样的自助法(bootstrap)95%置信区间召回率0.9000(180次攻击中的162次;置信区间0.85至0.94),假阳性率0.0194(17,820个良性事件中的346个);ROC AUC为0.9714;PR AUC为0.2972;精确率0.3189(置信区间0.28至0.36);告警预算为每100k个事件2,822条。仅涉及一场攻击活动和一个蜜罐环境;这些指标衡量的是这个数据集,而非生产环境流量。
错误分析冻结阈值在留出集上标记出的346个假阳性针对被标记良性流量的进程与事件分类法systemd进程占假阳性总量的86%,getdents64目录枚举的触发频率是其良性基线的37倍,因此来自systemd的getdents64告警,应当先套用一条快速通道复核规则,而不必立即呼叫人工处理。分诊指南仅源自单一环境的良性基线。
证据等级公开仓库:带有内嵌输出结果的已执行notebook、九张已提交的图、固定版本的依赖,以及一个数据重建脚本RANDOM_STATE=42重新执行,配合重建脚本中的行数断言重新执行精确复现了每一个头条指标,15个代码单元格中有14个逐字节相同(唯一差异是pandas数据类型标签上的一处外观改动);重建脚本断言三个关键行数;代码采用MIT许可,数据集采用CC0 1.0许可。95MB的数据子集不纳入版本控制,因此完整重建需要一个Kaggle账户;仓库随附一份500行的分层样本,供结构检查之用。
所属机构Carnegie Mellon University课程项目,2024年秋季,2025年2月修订仓库README署名信息独立完成的安全分析课程项目,已升级为公开可复现仓库。课程讲义、题目要求与评分背景信息保持不公开。
页面更新时间2026年7月网站内容台账条目于2026年7月10日根据公开仓库撰写:包括其README、数据文档与已执行notebook的输出结果。数字引自已提交的已执行notebook及其记录在案的重新执行结果,而非针对新流量的一次全新运行。

如何检查这项工作

阈值治理

每一个头条数字都来自同一套评估设计:一个60,000个事件的样本,在模拟1%攻击流行率下按标签分层,以52.5/17.5/30的比例划分为拟合集、验证集与留出集,而告警阈值(0.6892,验证集精确率-召回率曲线上的F2最优值)在18,000个事件的留出集被评分之前就已冻结。因此,报告的召回率与假阳性率衡量的是一条经过治理的决策规则,而非事后搜索得到的曲线。

标签的介入点

该森林的fit()调用仅接收特征,其31,185个事件的训练池中不含任何攻击行。标签恰好在三个位置介入:将拟合集过滤为仅良性流量、选择验证阈值,以及为冻结留出集评分,这是新颖性检测部署的标准形态。

读者核查提示

该仓库可以端到端地重新运行:数据重建脚本断言三个关键行数,依赖版本保持固定,一次RANDOM_STATE=42的重新执行精确复现了每一个头条指标,15个代码单元格中有14个与原始版本逐字节相同,其余差异仅是pandas数据类型标签上无关紧要的外观改动。

案例研究

问题

内核级安全遥测数据的到达速度超过了任何人工标注的能力,因此一个可部署的检测器必须仅从良性行为中学习,同时依然能够捕获它从未见过的攻击;评估方案还必须在真实的攻击发生率下,保持头条数字的诚实可信。

背景

该数据子集包含347,399个内核进程事件,涉及16个字段,覆盖5个蜜罐主机,取自包含8,004,918个事件的BETH语料库(Highnam et al. 2021):即完整的已标注验证子集,加上一台被攻击主机的158,432个已确认恶意事件,这使得探索性分析中的恶意占比提高到45.6%。两部分标签均由数据集作者手工标注,而检测模型则重采样至更贴近真实情况的1%流行率。

方法

十六个原始字段依照BETH论文的指导,精炼为7个工程特征,一次UMAP投影在任何模型训练之前,就确认了工程化特征空间能够区分两个类别,随后一个拥有300棵树的孤立森林在31,185个仅良性事件上完成拟合。一个60,000个事件的样本,在模拟1%流行率下,以52.5/17.5/30的比例划分为拟合集、验证集与留出集;告警阈值在验证集上最大化F2后冻结,随后才对留出集评分,置信区间来自400次重采样的自助法。

结果

冻结阈值在留出集的180次攻击中检出162次(召回率0.9000;95%置信区间0.85至0.94),同时在17,820个良性事件中标记346个(假阳性率0.0194),ROC AUC为0.9714,PR AUC为0.2972,告警预算为每100k个事件2,822条。精确率落在0.3189:在1%流行率下,大约每三条告警中就有一条命中真实攻击,这是刻意让召回率优先于精确率所付出的代价。

验证范围

恶意类别仅包含单一主机上的一场僵尸网络部署活动,全部流量都来自同一个蜜罐环境,且该数据子集将恶意占比提高到45.6%,只有经过重采样的1%流行率才贴近生产环境;notebook中早期的样本内演示(在默认决策边界下,召回率1.0对应精确率0.034)仅用于说明分数行为,不计入头条结论。

证据

该公开仓库包含带有内嵌输出结果的已执行notebook、九张已提交的图、固定版本的依赖、一个断言关键行数的数据重建脚本,以及一次记录在案的RANDOM_STATE=42重新执行,后者精确复现了每一个头条指标。

关键结果

  • 召回率0.9000(180次攻击中的162次;95%置信区间0.85至0.94),在冻结阈值留出集上假阳性率为1.94%,ROC AUC为0.9714
  • 该孤立森林在31,185个仅良性事件上完成拟合,标签恰好在三个位置介入:良性拟合过滤、验证阈值选择,以及留出集评分
  • 在模拟1%流行率下,冻结阈值留出集上的精确率为0.3189,告警预算为每100k个事件2,822条:大约每三条告警中就有一条命中真实攻击,该结论在页面上明确写出
  • 错误分类法把假阳性转化为分诊指南:systemd占总量的86%,getdents64的触发频率是其良性基线的37倍
  • 一次RANDOM_STATE=42的重新执行精确复现了每一个头条指标,15个代码单元格中有14个与原始版本逐字节相同

方法

  • 孤立森林
  • UMAP
  • 阈值治理
  • 自助法置信区间
  • 无监督异常检测