10.20. JA3/JA4 关键词

Suricata 集成了 JA3 (https://github.com/salesforce/ja3) 和 JA4 (https://github.com/FoxIO-LLC/ja4) 功能。 JA3 和 JA4 用于 TLS 和 QUIC 客户端的指纹识别。

必须在 Suricata 配置文件中启用支持(将 app-layer.protocols.tls.ja{3,4}-fingerprints 设置为 yes)。如果未显式禁用(no), 当加载的规则需要时该功能会自动启用。请注意,JA3/JA4 支持也可能在编译时被禁用; 可以使用 requires: feature ja{3,4}; 关键词在无 JA3/JA4 支持时跳过规则。

10.20.1. ja3.hash

匹配 JA3 哈希值(md5)。

示例:

alert tls any any -> any any (msg:"匹配 JA3 哈希"; \
    ja3.hash; content:"e7eca2baf4458d095b7f45da28c16c34"; \
    sid:100001;)

ja3.hash 是一个 '粘性缓冲区'。

ja3.hash 可用作 fast_pattern

ja3.hash 替代了之前的关键词名称: ja3_hash。您可以继续 使用旧名称,但建议将规则转换为使用新名称。

10.20.2. ja3.string

匹配 JA3 字符串。

示例:

alert tls any any -> any any (msg:"匹配 JA3 字符串"; \
    ja3.string; content:"19-20-21-22"; \
    sid:100002;)

ja3.string 是一个 '粘性缓冲区'。

ja3.string 可用作 fast_pattern

ja3.string 替代了之前的关键词名称: ja3_string。您可以继续 使用旧名称,但建议将规则转换为使用新名称。

10.20.3. ja3s.hash

匹配 JA3S 哈希值(md5)。

示例:

alert tls any any -> any any (msg:"匹配 JA3S 哈希"; \
    ja3s.hash; content:"b26c652e0a402a24b5ca2a660e84f9d5"; \
    sid:100003;)

ja3s.hash 是一个 '粘性缓冲区'。

ja3s.hash 可用作 fast_pattern

10.20.4. ja3s.string

匹配 JA3S 字符串。

示例:

alert tls any any -> any any (msg:"匹配 JA3S 字符串"; \
    ja3s.string; content:"771,23-35"; sid:100004;)

ja3s.string 是一个 '粘性缓冲区'。

ja3s.string 可用作 fast_pattern

10.20.5. ja4.hash

匹配 JA4 哈希值(例如 q13d0310h3_55b375c5d22e_cd85d2d88918)。

示例:

alert quic any any -> any any (msg:"匹配 JA4 哈希"; \
    ja4.hash; content:"q13d0310h3_55b375c5d22e_cd85d2d88918"; \
    sid:100001;)

ja4.hash 是一个 '粘性缓冲区'。

ja4.hash 可用作 fast_pattern