文章总结: 本文详解UEBA攻防,指出攻击者可通过污染基线数据(如大规模栽赃、口袋维度、日志伪造、NetFlow掩蔽、基线煮沸)绕过检测;蓝队应通过双向认证TLS、反IP欺骗、收窄数据漏斗、蜜罐兜底及多源交叉等策略加固,并强调日志可信是检测前提。
综合评分: 85
文章分类: UEBA,红队,蓝队,安全建设,数据安全
UEBA 攻防:基线数据的验证与污染
原创
赛博57库
赛博57库
赛博57库
2026年9月18日 05:00
广东
在小说阅读器读本章
去阅读
在公众号小说中沉浸阅读
| |
| — |
| 攻防技术 UEBA 红蓝对抗:当攻击者开始污染你的基线 Denning 三分法与四阶段 · 红队五类规避手法 · 蓝队四道防线 · 构建条件与六个坑 · 两周速赢验证 |
| |
| — |
| 📌 本文怎么读 笔者是在翻一场讲「怎么打掉 NBAD(网络行为异常检测) 与 UEBA(用户实体行为分析)」的议题时学习到怎样对抗UEBA:主讲人把异常检测的喂数链路整条拆开,演示了怎么伪造日志、伪造 NetFlow、甚至慢慢把基线煮沸——全程没有绕任何一条规则,而是让规则赖以生成的数据不再可信。 本文按「概念 → 蓝队增量 → 红队五刀 → 蓝队反制 → 构建条件与代价 → 速赢验证」展开,四类问题各占一节,最后给出一条不动现有架构、两周内能拿到结论的验证路径。读完你能拿到:三条可直接抄的速赢规则、一套两周验证流程与判定门槛,以及一份能带回去自检的加固清单。 彩蛋:文中的 3 条速赢规则、两周验证流程与判定门槛已整理成《UEBA 速赢验证清单》,关注公众号回复「UEBA」获取下载链接。 |
01 · 先把概念拆开:UEBA 在检测什么,又没检测什么
安全检测这件事,理论骨架其实四十年前就搭好了。1986 年 Dorothy Denning 在《An Intrusion-Detection Model》里划出三条互不等价的路径,今天所有叫得上名字的检测产品都还在这三条路上:
• 特征检测看对象:这个文件、这个哈希、这个数据包,有没有已知恶意的痕迹。优点是明确、可解释、可直接阻断;缺点是没有已知特征就完全看不见。
• 行为检测看主体:这台进程读完那个文件之后干了什么。加密磁盘、往外发垃圾邮件、扫内网——我们未必知道利用手法,但知道结果不该发生。
• 异常检测不设前提:只为”正常”建基线,偏离基线就报,并不暗示这件事本身是恶意的。
这三条不是并列关系,而是一条传送带:异常检测发现新的可疑模式,沉淀成行为检查,行为检查稳定后再固化成特征规则。UEBA 站在中间那层,属于行为与异常检测的杂交。
那 UEBA 和更早的 UBA(用户行为分析)差在哪?差别就在名字里多出来的那个 E——实体(Entity)。UBA 只看人,UEBA 还看设备、系统、应用、IP。这个扩展带来的能力是实质性的:一台被入侵的数据库服务器”行为反常”,它背后可能根本没有一个可疑用户;只盯着人的系统看不见这类异常。
厂商把它拆成四个阶段:建基线 → 监控偏离 → 风险评分 → 响应处置。听起来平顺,真正的坑全在第一步和第三步。
一个必须先分清的双评分陷阱
很多人用 UEBA 的第一周就踩这个坑。以 Microsoft Sentinel 为例,它同时给出两个分数,含义完全不同:
| | | | | |
| — | — | — | — | — |
| 分数 | 位置 | 范围 | 含义 | 计算方式 |
| InvestigationPriority(调查优先级) | BehaviorAnalytics 表 | 0–10 | 单个事件有多不寻常 | 近实时、事件级;由实体稀有度 + 时间序列偏离合成 |
| AnomalyScore(异常分数) | Anomalies 表 | 0–1 | 跨多事件的整体异常 | 批处理、行为级;基于你工作区遥测训练的模型 |
官方给了一个非常能说明问题的例子:一个用户第一次执行某个 Azure 操作时,InvestigationPriority 很高(因为这是首次事件),AnomalyScore 却很低(因为偶发的首次操作很常见,本身不构成风险)。
只按前者排序,你的队列会被”首次操作”灌满;只按后者,又会漏掉那些单看很扎眼、只是还没凑成模式的信号。这两个分数是互补的,不是主次关系。
基线是怎么建出来的
这里有个常被忽略的工程现实:基线可以按实体建,也可以按集合建。按实体建,是每台机器、每个用户、每条”机器到机器”的关系各有一套基线;按集合建,是”网段 → 邮件服务器”这类群体对群体的流量模型。前者精细但脆弱,后者稳定但不够聚焦。
学习方式同样分两路。监督式是人来挑指标(这个集合消耗多少字节、什么时段活跃),再对这些变量建基线;非监督式是把所有变量及其组合都纳进去建,覆盖广、可解释性差。
真正的困难在于人的行为有季节性。人会睡觉、会休假、会有促销季。一条容纳不了这些周期的基线,要么天天误报,要么把真实异常淹没在噪声里。这也是为什么好的基线需要很长时间——不是算法慢,是样本本身要跨过足够多的周期。
网络侧的行为分析(NBAD)大概从 2002 年起就开始这么做,数据基础是 NetFlow / IPFIX 这类四层以下的元数据:谁和谁通了话、交换了多少字节、TCP 标志位是什么。它最大的优势是不需要海量数据也能工作,因为基线建在”计数”上。
最常见的基线族有六类:服务流量阈值、新出现的服务类型、地理流向、数据囤积/暂存、数据外发量、以及心跳信标。用户侧最经典的异常是 magic carpet(魔毯)——同一个账号几分钟前在克利夫兰登录,几分钟后在德黑兰登录。
值得注意的是调查粒度的演进:最早我们按告警排队,后来按主机归并,再后来把告警映射到用户,现在到了实体与图——看节点和边的关系怎么变。UEBA 本质上是图上的关系变化检测,”谁和谁的连接是新的”往往比”某人今天下载得多”更有价值。
02 · 蓝队拿到了什么:从绝对阈值到同类组
理解了机制,就能看懂 UEBA 给蓝队带来的真实增量。它不是”又一个告警源”,而是三种能力:
第一,实体视角的快速定位。 在用户页面上直接看到”近 30 天 Top 3 异常”,在事件调查图里一键拉出与该事件相关的全部用户异常。分析师的起点从”某条告警”变成”某个人/某台机器最近哪里不对”。
第二,同类组(peer group)对比。 这是 UEBA 最被低估的能力。绝对阈值会失效:财务月底批量导出是正常的,研发半夜提交代码是正常的,把这些行为塞进同一套阈值必然要么误报要么漏报。同类组把问题换了个问法——不问”TA 下载了 2 TB 吗”,而问”TA 相对同岗位的同事是否反常”。
以 Sentinel 的实现为例,它按安全组、邮件列表等关联自动计算同类组,取前 20 名,并用 TF-IDF 加权——越小的群体权重越高。这个设计很讲道理:一个人所在的圈子越小,他在圈子里的偏离就越有信息量。一个只有 3 人的财务小组里有人行为反常,比一个 300 人的大部门里有人反常,可信度高得多。
第三,爆炸半径(blast radius)评估。 一个账号异常之后,它接触过的主机、应用、数据构成多大的影响面。这直接决定了处置优先级——是打个电话确认,还是立刻隔离。
再叠加 2026 年新出现的一层能力:把原始日志聚合成结构化的行为对象,直接产出”谁对谁做了什么”的自然语言解释,并映射到 MITRE ATT&CK。这一步的价值在于把检测和解释之间的手工活自动化了——分析师不用再自己从三条日志里拼出叙事。
所以蓝队的收益可以概括成一句话:在有效凭据被滥用的场景里,UEBA 是少数还能提供信号的层。凭证有效意味着身份系统认为一切正常,终端可能没落地任何文件,网络层看到的是合法的加密会话。剩下能抓的,就是”这个身份此刻的行为不像它自己”。
03 · 红队的五把刀:不绕规则,直接污染数据
如果蓝队的花岗岩地基是”基线可信”,那红队最省力的路线就不是绕过规则,而是让用来生成规则的数据本身不可信。这一节的手法来自 BSides NoVa 一场专门讲”怎么打掉 NBAD 与 UEBA”的议题,含实测演示。
刀一:大规模栽赃
思路很朴素:我要做坏事,但我让所有人看起来都在做同样的事。调查者必须在上千个”幽灵攻击者”里找出唯一那个真人。
具体做法是容器化的身份轮换:手动指定 MAC 地址 → 容器起来拿到新的 DHCP 租约 → 发起攻击流量(扫描、探测、任何会触发告警的动作)→ 释放租约 → 销毁重建 → 换一个新 MAC 再来一遍。
演示的规模值得记住:一个跑 10 秒的脚本发出了 47,000 条消息,伪造了近 12,000 个源 IP。蓝队事后发现所有毒数据都来自同一个发送主机,过滤掉那个 IP 就干净了——问题恰恰在这里:如果红队用了上百个地址做轮换,每一次过滤都只能清掉一小片,而攻击就藏在这片噪声中间。
刀二:口袋维度
这招更讲究。红队在一个 Docker bridge 网络里伪造出一整个”互联网”——4.2.2.2、10.x、192.x 想怎么编就怎么编,然后在这个假世界里表演”我正在连 Office 365″之类的叙事。
关键在于把这个 bridge 桥接到一台启用了 NetFlow 的接入交换机上。于是生成流量记录的不是红队的工具,而是真实的基础设施——交换机老老实实上报”10.10.10.1 和 4.2.3.1 之间发生了一次通信”。记录是真的,发生的事情是假的。
如果交换机不产流,还有退路:用 mprobe 嗅探 Docker 网卡,自己伪造 NetFlow 记录发出去。NetFlow 记录是单向的、需要两半拼接去重,这种特性让投毒格外容易。
刀三:日志伪造
最直接的路径。分两步:先找到日志服务器,再把伪造的记录投进去。
找服务器的手段都很日常:用 DNS 字典猜常见命名(log.、siem.、nbad.、ueba. 这类),在被控机器上 netstat 看谁在连 syslog,或者直接 nmap 扫 514/TCP。真正的难处不是技术,是别把这一步做得太吵——扫 514 很有动静,所以老手会配合”刀一”的地址轮换一起做。
投递则简单得惊人:netcat 就能发 syslog,时间戳和源 IP 都是自己填的;TLS 版本用 Python 套一层 SSL 上下文即可。如果走 UDP,还能做源 IP 头伪装——把发送源伪装成防火墙的地址,于是真的防火墙日志和假的混在一起,从记录本身无法区分。
不知道日志服务器在哪怎么办?samplicator 这类工具监听一个地址后把消息转发到一整段 254 个地址,总有一个打得中。
对直接暴露 API 的平台,还有更短的路径:curl -k 往 Elasticsearch 端点 POST 一条 JSON,数据就进去了。
刀四:NetFlow 掩蔽
扫描检测在流量侧的判据是比例关系:一台主机发出大量 SYN 却没有对应的 SYN/ACK 回来,这个比例一歪就告警。
那么反过来——给那些没有回包的连接伪造一条”回包了”的记录。要么通过口袋维度让交换机自己上报,要么直接伪造 NetFlow。侦察动作就此隐身。
刀五:基线煮沸
这一招最有耐心,也最狠。既然异常检测以基线为准,那就把基线慢慢推向无穷。
做法是每天只抬高一点点,大约 5% 的日增量通常恰好落在不触发告警的区间里:今天的”无线段 → 数据中心”基线是 X,就人为多造几 MB;明天再多几 MB;后天继续。时间维度也一样,把登录行为的基线从 9:00 一点点挪到 8:58,再往前挪。
持续足够久之后,基线宽到几乎不可能被违反——异常检测的判据被从内部撑破了。议题作者的评价很直接:这类攻击对监督式与非监督式模型都是毁灭性的。
同时他给了一条必须一并转述的警告:基线需要很长时间才能重建。红队演练里用这招,必须准备好基线备份与还原方案,否则留给蓝队的是一段长期的检测能力空洞——这已经超出”对抗”变成了”破坏”。
(另有一类叫”良性先例投毒”的思路——先让恶意的形状以良性身份反复出现,等基线学会接受它再动手。笔者只见到二手转述、未能取到原始分析,因此本文不把它当已核验事实,仅作提示。)
04 · 蓝队的反制:把日志当证据,而不是当 IT 数据
上面五把刀指向同一个根因:分析平台的输入没有经过认证。所以反制的主线也只有一条——让伪造变难。
第一,认证来源。 给防火墙、日志转发器、日志服务器签发客户端证书,走双向认证 TLS。这是议题作者认为最彻底的一招:服务器会拒绝没有合法客户端证书的连接,日志伪造里最简单的那些路径直接失效。
第二,反 IP 欺骗。 在路由器和交换机上开启反向路径校验(Cisco 系的命令是 ip verify reverse-path interface <接口>)。这一步挡的是”伪造源 IP 直投日志”这条最省事的路径。
第三,收窄数据漏斗并打标签。 用零信任的思路管住”哪些源、哪些端口可以进分析平台”,同时对每条记录尽量多打元数据:从哪个端口进来的、有没有证书、走的什么传输层、经过哪些跳。只有带了这些标签,事后才有办法把毒数据筛出去——否则面对 12,000 个伪造源 IP,你连筛的依据都没有。
第四,蜜罐兜底。 蜜罐的特点是”本来就不该有任何东西访问它”。这带来两个好处:误报极低,而且极难被投毒——红队要伪造”访问了不存在的主机”这件事,等于自己给自己挖坑。在毒数据场景里,蜜罐常常是最后一道还能告诉你”谁在动”的判据。
把视角再拉高一层,还有几条与厂商机制无关、但同样重要的加固:多源交叉(身份、终端、网络三类日志不能只依赖一个源,否则投毒一个源就全线失守)、用同类组代替绝对阈值(个体基线容易被小幅偏移带偏,同类组因为要同时偏离一群人才报警,抗污染能力强得多)、以及给基线留快照——平时定期归档基线状态,一旦怀疑被”煮沸”,就有对照物可以回溯。
最后要说清一件事:“日志可信”是比”检测规则写得好”更前置的问题。一个团队可以写出上百条高质量规则,但所有规则都建立在同一批未经验证的数据上——那这批数据被污染的时候,整条检测链是一起失效的。
05 · 想上 UEBA,先看清条件与代价
如果你正在评估或已经买了 UEBA,下面六件事值得在建基线之前就想清楚。
条件:六块地基
| | | |
| — | — | — |
| 维度 | 具体要求 | 缺失的后果 |
| 身份数据 | AD / Entra ID 用户与组、服务账号与机器账号清单、人员-设备-应用映射 | 实体合并错误,画像张冠李戴 |
| 身份归一 | 一个跨所有目录唯一且稳定的别名(sAMAccountName / uid / userPrincipalName / cn / mail) | 同一个人被拆成多个实体,基线被稀释 |
| 遥测覆盖 | 认证(4624/4625/4648、Entra 登录、VPN、SSO)、终端(Sysmon 1/3/11、EDR)、网络(NetFlow、DNS、代理)、数据访问(文件服务器、O365/Okta/AWS/GCP 审计日志) | 覆盖缺口就是检测盲区 |
| 历史窗口 | 足够长且相对干净的留存 | 窗口太短,满屏”首次”误报 |
| 平台能力 | 正确的索引策略与数据视图 | 不只是 UEBA 慢,整个平台都慢 |
| 人与流程 | 分析师、分级处置流程、隐私沟通 | 告警没人看,或员工抵触 |
困难:六个真实代价
训练期是 30 到 90 天,而且是吵的。 建立基线期间误报量会显著高于稳态,团队要提前接受这段”看起来比上之前还乱”的时期。没有这个心理准备的项目,往往在第 3 周被投诉到关停。
调优没有终点。 阈值和风险权重要反复调:太激进是噪声疲劳,太宽松就漏。把它当一次性交付的项目注定失败。
它不是 set-and-forget。 UEBA 识别风险,不做处置;判断真伪、决定动作仍然靠人。
集成与数据一致性是真痛点。 第三方平台的 API、schema、字段格式各不相同,跨系统对齐同一实体常常比想象中难。而且你无法控制第三方怎么生成数据,覆盖缺口只能靠人力补齐。
隐私与员工信任是一道非技术关。 行为监控很容易被理解为不信任,需要提前讲清用途、范围与边界,在部分司法辖区还涉及与员工代表协商。
身份聚合的坑极其琐碎,但每一个都足以让上线失败。 以 IBM QRadar 官方列出的常见问题为例,这些全是实操层面的:
• LDAP 过滤器写错或不写,会把海量身份导进来。(objectClass=person) 会把用户和服务账号一起合并,(objectClass=user) 才只并用户账号。过滤范围失控,后面所有画像都建立在脏数据上。
• 别名的选择要收敛。 先挑一两个在所有 AD 中唯一稳定的属性,从小处开始,需要时再加。字段越多,冲突越多。
• 显示字段配多个会打架。 显示名和全名如果配了多个属性,系统只会按顺序取第一个可用的,结果往往是展示不一致。
• “从事件发现的用户”和”从 AD 导入的用户”要选清楚。 刚上线时建议先只监控导入的用户,等身份导全了再开事件发现。
• 分块与超时要调。 默认检索上限是 50 万,LDAP 连接慢会超时,实践上把分块调到 10 万左右更稳。
• 索引必须开。 关掉会导致搜索性能下降,连带整个应用变慢。
Elastic 的安全研究团队写过一篇分析,标题就是结论:为什么实体记录质量决定一切。这句话值得贴在项目启动会的墙上——大量 UEBA 项目的失败,不是因为算法不行,而是因为喂给算法的实体压根没对齐。
06 · 速赢:两周内用现有 SIEM 验证”行为检测有没有信号”
前面说了这么多代价,是不是意味着没有 30 到 90 天就没法开始?不是。有一条路径可以在不建复杂基线、不动现有平台架构的前提下,两周内拿到一个可判断的结论。
核心判断是:先挑对历史窗口依赖最小的检测。
UEBA 最贵的部分是”训练基线”,而有一类行为检测根本不需要训练——首次出现(first-seen)。它只问一个问题:这个值在过去 N 天里出现过吗?没有就报。没有模型、没有调参、没有冷启动。
这不是土办法,主流平台把它做成了标准规则类型。以 Elastic 的 new_terms 规则为例,它的定义就是你需要的全部:
| |
| — |
| { "type": "new_terms", "language": "kuery", "name": "First time user login to host", "query": "event.category: \"authentication\" and event.outcome: \"success\"", "new_terms_fields": ["user.name", "host.name"], "history_window_start": "now-14d", "index": ["winlogbeat-*"], "severity": "medium" } |
三个字段值得注意:new_terms_fields 支持 1 到 3 个字段,单字段是”首次出现的进程”,多字段是”从未同时出现过的组合”(比如用户 × 主机);history_window_start 官方建议用相对时间(now-30d、now-14d),不要写绝对日期,否则查询范围会随时间不断膨胀;窗口不能太短,官方明确说窗口太短会导致大量值都是”新的”,误报激增。
官方也划了边界,避免你用错工具:找已知坏值应该用 IOC 匹配,找量级突增应该用阈值规则,只有”不想定义字段、要统计意义上的异常”才用机器学习规则。
三条可以直接抄的速赢规则
| | | | |
| — | — | — | — |
| # | 规则 | 为什么不需要基线 | 依赖日志 |
| 1 | 服务账号 / 机器账号出现交互式登录 | 事实性违规,不需要”平时怎样” | 4624 Type 2/10、Entra 登录日志 |
| 2 | 用户 × 主机 新组合(14 天窗口) | 只需回答”是否出现过” | 4624 Type 3/10、VPN、SSH |
| 3 | 主机上首次出现的进程(或首次出现的 DNS 域) | 同上 | Sysmon 1 / EDR、DNS 日志 |
这三条的共同点是信噪比结构与业务无关:无论什么行业,服务账号都不该有人坐在终端前登录,用户也不该突然出现在一台他从没碰过的机器上。
落到查询语言:Sentinel 与 Splunk 的等价写法
如果平台没有 new_terms 这种规则类型(Sentinel 就没有原生对应),用“与历史清单做左反连接”就能得到同样效果。
Sentinel 里找服务账号的交互式登录,一条 KQL 就够:
| |
| — |
| let svc = IdentityInfo | where AccountType == "Service" | distinct AccountUPN; DeviceLogonEvents | where LogonType in ("Interactive", "RemoteInteractive") | where AccountUpn in (svc) | project TimeGenerated, AccountUpn, DeviceName, LogonType, RemoteIP |
用户 × 主机的新组合,用 14 天基线做左反连接:
| |
| — |
| let window = 14d; let baseline = DeviceLogonEvents | where TimeGenerated between (ago(window) .. ago(1h)) | summarize by AccountUpn, DeviceName; DeviceLogonEvents | where TimeGenerated > ago(1h) | where LogonType in ("Interactive", "RemoteInteractive", "Network") | join kind=leftanti baseline on AccountUpn, DeviceName | project TimeGenerated, AccountUpn, DeviceName, LogonType, RemoteIP |
Splunk 的思路完全一样,把”已知组合”维护成一张每日刷新的 lookup,命不中的就是新的:
| |
| — |
| index=wineventlog EventCode=4624 Logon_Type IN (2,10) | stats dc(_time) as hits by Account_Name, ComputerName | lookup known_user_host_pairs.csv Account_Name ComputerName OUTPUT seen | where isnull(seen) |
两边的共同前提是:基线清单必须先建好并定期刷新。没有这张表,左反连接会把所有组合都当成新的。
两周验证流程
第 1 步:detect-only 上线。 规则只记录、不告警,不要接进值班队列——这一步的目的是收集数据,不是产生工单。
第 2 步:跑满 14 天。 统计每条规则的命中量/天和受影响实体数。命中量本身就是信息:如果 14 天里规则 1 命中 0 条,要么环境很干净,要么日志源有问题。
第 3 步:人工抽检 20 条判真伪。 不用全看,随机抽 20 条穷实到底,算出精确率。
第 4 步:算独占性。 这条规则抓到的告警,现有规则是否已经抓到?如果重合度很高,它对你的价值就是零——新增检出能力才是目标,不是新增告警数。
第 5 步:决定去向。 精确率和独占性都达标,升级为告警并定义 SLA;不达标,先调窗口(14d → 30d)或加白名单(资产清单、跳板机、扫描器),而不是直接删规则。
第 6 步:小步且可回滚。 全程保留开关,任何一步发现噪声失控可以立刻退回 detect-only。
四个一定会踩的坑
历史窗口太短。 这是最常见的翻车方式。窗口 3 天,等于宣布”我只有 3 天的记忆”,环境里绝大多数正常组合都会变成”首次”。
资产和账号清单不全。 清单缺项的后果是把早就存在的东西当成新的。上线前先把 CMDB 和账号基线补齐,比调规则参数重要得多。
时钟与时区不统一。 跨时区、NTP 漂移会让窗口比较整体错位,产生大量假”首次”。
日志源本身的缺口。 某类日志中断一段时间再恢复,会造成整片”首次”误报。所以第 2 步看的命中量曲线,同时也是日志健康度的体检。
最后要强调一句边界:这套速赢不等于”上了 UEBA”。它的定位很明确——用最低成本回答一个问题:在你的环境里,行为检测到底有没有信号。答案是有,再谈建基线、上平台、配人力;答案是没有,先查日志覆盖,别急着买产品。
07 · 收尾:基线可信,是一切的起点
把这条线从头捋一遍:红队最省力的做法不是绕过你的规则,而是污染生成规则的数据;蓝队最该先做的加固不是再加一条检测,而是让数据来源可认证。
这个顺序不能颠倒。一个团队可以把检测规则写到业界水准,但如果所有规则共享同一批未经认证的日志,那么这批日志被伪造、被投毒、被慢慢煮沸的时候,整条检测链是一起失效的——而且失效得很安静,没有报错,没有中断,只是再也不报警了。
如果只能带走一句话:在讨论用什么算法之前,先确认你喂给它的数据是不是真的。
参考与延伸:
• Charles Herring,《Breaking NBAD and UEBA Detection》,BSides NoVa 2021:https://www.allbsides.com/talk/Ufjr2M2gwuA.html
• Microsoft Sentinel UEBA 官方文档:https://learn.microsoft.com/azure/sentinel/identify-threats-with-entity-behavior-analytics
• Elastic Security,New terms rules 文档:https://www.elastic.co/docs/solutions/security/detect-and-alert/new-terms
• IBM QRadar,UEBA 共同挑战:https://www.ibm.com/docs/zh/qsip/7.4.0?topic=SS42VS_SHR/com.ibm.UBAapp.doc/c_Qapps_UEBA_common_challenges.html
• Splunk,《UEBA For Enterprise Security》:https://www.splunk.com/en_us/blog/learn/user-entity-behavior-analytics-ueba.html
• Tenzir,《Streaming UEBA: behavioral detection as a pipeline》(2026-09-04):https://tenzir.com/blog/streaming-ueba-behavioral-detection-as-a-pipeline/
MITRE ATT&CK 对照:T1078(有效账户)、T1070(指标清除)、T1562(削弱防御)、T1020(自动化外泄)——本文各节检测点可对照映射。
| |
| — |
| ⚠ 免责声明与观测边界 ① 本文为检测工程与红蓝对抗方法论文章,不提供任何可直接运行的攻击载荷;红队相关手法的用途限定在自有环境的授权演练,演练前务必备份并留存基线快照,避免造成检测能力长期空洞。② 文中红队手法与量级数据来自公开会议议题(BSides NoVa 2021,作者 Charles Herring)及其演示,本篇未复现验证。③ 「良性先例投毒」一类思路仅见二手转述、未取到原始分析,文中已明确标注为未核验,不作为已证实事实。④ 厂商机制与阈值描述可能随版本变化,落地前请对照你所用平台的当期官方文档。 |
免责声明:
本文所载程序、技术方法仅面向合法合规的安全研究与教学场景,旨在提升网络安全防护能力,具有明确的技术研究属性。
任何单位或个人未经授权,将本文内容用于攻击、破坏等非法用途的,由此引发的全部法律责任、民事赔偿及连带责任,均由行为人独立承担,本站不承担任何连带责任。
本站内容均为技术交流与知识分享目的发布,若存在版权侵权或其他异议,请通过邮件联系处理,具体联系方式可点击页面上方的联系我。
本文转载自:赛博57库 赛博57库
赛博57库《UEBA 攻防:基线数据的验证与污染》