Cyber Security Academy · 课时

异常与行为检测

发现异常流量。

第 3 / 4 课13 个步骤

异常与行为检测 是 CoddyKit 上的免费 Cyber Security Academy 课时。 这是第 3 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 Cyber Security Academy 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 Cyber Security Academy 课程共包含 4 节课。

超越签名检测

签名可以捕获已知威胁,但无法识别新型恶意软件、零日漏洞,以及尚未有人建立特征的定制工具。异常检测和行为检测可以填补这一空白,方法是标记偏离正常状态的流量。

其前提是:即使是未知攻击也会留下行为痕迹。攻击者可能避开每条签名规则,却仍会按异常间隔发出信标通信、在异常时段传输数据,或扫描内部主机。

建立基线

异常检测需要一个关于正常行为的模型。您需要经过一段时间建立基线,分析以下内容:

  • 哪些主机彼此通信,以及使用哪些端口
  • 每条流的典型字节数和连接持续时间
  • 按小时和星期几统计的正常流量
  • 每个网段中预期使用的协议

基线必须根据具有代表性时间段内的干净流量学习得出;如果在正在发生入侵时建立基线,攻击行为就会被固化为正常行为。

统计异常

最简单的行为检测基于统计方法。计算一个指标,学习它的正常分布,并在某个值严重偏离时发出告警,例如超过三个标准差或处于较高的百分位数。

例如:一台工作站通常每天发送 50 MB 的数据,却突然上传 5 GB;或者一台主机在几分钟内连接到数千个不同的内部 IP 地址。

流记录与 NetFlow

许多行为分析依赖流记录,而不是完整数据包。一条流概括一次通信:源、目标、端口、协议、字节数、数据包数和持续时间。

流记录(NetFlow、IPFIX 或 Suricata/Zeek 的连接日志)体积小,即使面对加密流量也能工作,并且可以扩展到企业级流量规模。它们是流量规模和连接模式检测的基础。

# Zeek conn.log fields (excerpt)
# ts  uid  id.orig_h  id.resp_h  id.resp_p  proto  duration  orig_bytes  resp_bytes

信标通信检测

命令与控制通道通常会进行信标通信:植入程序按固定间隔回连控制端。即使使用 TLS 隐藏了有效载荷,时间模式仍然可见。

可以通过分析连接到某个目标之间的间隔分布来检测这种行为。低方差(可带有少量抖动),再加上较小且相似的请求大小,是命令与控制活动的强指示信号。RITA 等工具专门用于此类检测。

基于 DNS 的检测

DNS 是一种丰富的行为信号,因为攻击者会滥用它进行隧道传输和命令与控制。

  • 高熵或较长的域名可能表示 DGA(域名生成算法)
  • 向单个域名发出大量查询可能表示 DNS 隧道
  • 大量出现异常记录类型(TXT、NULL)会令人怀疑
  • 新注册的域名具有更高风险

按域名分析查询速率、名称长度和熵,可以发现任何有效载荷签名都无法识别的数据外泄。

加密流量指纹识别

您无法读取加密的有效载荷,但可以根据加密的协商方式建立指纹。JA3/JA3S 会对 TLS ClientHello/ServerHello 参数进行哈希处理,生成客户端和服务器协议栈的指纹。

恶意软件家族通常共享同一个 JA3,因为它们使用相同的 TLS 库和设置。分析 JA3 的出现频率,可以标记罕见指纹或匹配已知的恶意指纹,而且不需要解密。

行为指标

行为检测关注攻击者无论使用何种工具都必须采取的行为。高价值行为包括:

  • 横向移动 — 一台主机突然向许多对等主机进行身份验证
  • 内部扫描 — 一个源访问许多端口或主机
  • 数据暂存/外泄 — 向新目标发送大量出站数据
  • 协议使用错误端口 — 在 443 端口上使用 SSH,在 53 端口上使用 HTTP

这些行为可以清晰地映射到 ATT&CK 策略,并且比有效载荷签名更能抵抗规避。

机器学习与 UEBA

用户和实体行为分析(UEBA)使用机器学习来建模每个实体的正常状态,并为偏差评分。聚类模型和时间序列模型可以发现固定阈值会漏掉的细微变化。

机器学习增强了检测能力,但也带来风险:模型不透明,网络变化会导致概念漂移,还可能遭到对抗性规避。请将机器学习评分视为众多信号之一,而不是万能答案;对于影响重大的决策,请保留人工参与。

Zeek 的协议日志记录

Zeek(以前称为 Bro)是一个网络分析框架,它将流量转换为丰富、结构化的协议日志,而不是告警。它是许多行为检测系统背后的主力工具。

Zeek 会生成按协议分类的日志(连接、DNS、HTTP、SSL、文件、X.509),并允许您编写自定义分析器。将这些日志送入 SIEM 后,分析人员就能获得建立正常基线和发现偏差所需的连接、DNS 和 TLS 元数据,即使面对加密流量也不例外。

# Generate logs from a capture
zeek -r traffic.pcap
# Produces conn.log, dns.log, ssl.log, files.log, ...

误报的现实

异常检测能够捕获未知威胁,这一优势也是它的弱点:并非每个异常都是恶意行为。新的业务应用、补丁日、备份和季节性流量都可能呈现异常。

可以通过以下方式进行管理:

  • 在发出告警前,对多个弱信号进行风险评分和关联
  • 补充资产和身份上下文
  • 将异常交给威胁狩猎人员,而不是自动阻断
  • 随着环境变化持续重新训练基线

快速检查

将行为分析应用于加密的命令与控制流量。

回顾

行为检测和异常检测可以捕获签名检测无法发现的威胁:

  • 检测偏离所学习的正常基线的行为
  • 针对流量规模、扇出范围和时间模式使用统计阈值
  • 基于流记录(NetFlow/Zeek)进行分析,即使面对加密流量也很有效
  • 通过间隔规律性发现信标通信
  • 分析DNS 的熵和流量规模,以发现 DGA 和隧道传输
  • 使用 JA3/JA3S 为 TLS 建立指纹,而不进行解密
  • 追踪行为:横向移动、扫描、数据外泄
  • 机器学习/UEBA 可以增强能力,但需要人工监督和调优

下一步:在真实网络中调优并部署这些传感器。

免费开始

用 AI 导师学习 Cyber Security Academy — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
76
课程
303

常见问题解答

「异常与行为检测」课时是免费的吗?

是的 — 「异常与行为检测」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 Cyber Security Academy 课程的其余内容,请升级到 CoddyKit PRO。 Cyber Security Academy 课程共包含 4 节课。

「异常与行为检测」这节课中我会学到什么?

发现异常流量。 你通过在浏览器中直接运行的动手代码来练习 Cyber Security Academy,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 Cyber Security Academy 需要有经验吗?

无需任何先前经验。CoddyKit 上的 Cyber Security Academy 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 3 节课,共 4 节。

「异常与行为检测」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 Cyber Security Academy 课中编写并运行代码吗?

能。每节 Cyber Security Academy 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. IDS 与 IPS 概念
  2. 使用 Snort 与 Suricata 编写特征规则
  3. 异常与行为检测
  4. 调优与部署
← 返回 Cyber Security Academy