协议行为与端口特征
- 本地监听端口:Freegate默认在
127.0.0.1的 8580(F3通道)和 8567(F2通道)端口进行监听,以代理形式转发流量。这种固定的本地行为模式,是其首要特征。 - TLS/SSL握手指纹异常:
- 证书缺失:在TLS握手过程中,Freegate(类似Ultrasurf)的服务器有时会省略发送证书的步骤。SonicWall防火墙已将此行为收录为特征签名,用于识别这类规避工具。
- Client Hello指纹:即便模仿了TLS握手,其
Client Hello消息中的参数组合(如TLS版本、加密套件等)也可能具有独特性,有别于主流浏览器的指纹,从而被识别。 - Freegate在TLS握手阶段的行为,是其最显著的特征之一。
- Client Hello包的独特指纹(JA3指纹)
在TLS握手过程中,客户端首先会发送一个Client Hello数据包,其中包含了支持的TLS版本、加密套件列表、扩展列表、支持的椭圆曲线等信息。这些信息组合起来,能为每个客户端程序生成一个独一无二的JA3指纹。Freegate作为一个特定的程序,其发送的Client Hello包参数组合与Chrome、Firefox等标准浏览器有显著差异,防火墙正是通过检查这个在TLS连接第二阶段、加密尚未建立时就暴露的JA3指纹来识别Freegate的。 - Server Hello包的异常行为 (JA3S指纹)
与客户端的JA3指纹相对,服务器的Server Hello消息也能生成JA3S指纹。Freegate的独特之处在于,它经常会直接不发Server Certificate这一步骤,这在正常的HTTPS交互中是致命的协议违规,成为其极其显眼的检测特征。此外,即使它发送了证书,其Server Hello消息中的参数组合(如所选的加密套件)也与正常服务器不同,由此生成的JA3S指纹同样会被收录,用于从服务器侧双向确认其身份。
- Client Hello包的独特指纹(JA3指纹)
侧信道特征(关键指纹)
由于流量内容被加密,研究者转而分析数据包的“外部形态”信息(即侧信道特征),通过机器学习,可以对安全代理流量(包括Freegate)实现高精度识别。
| 特征类别 | 核心特征 | 描述 | 抓包查看 |
|---|---|---|---|
| 有效载荷长度序列 | 包大小序列(PS) | 与普通网页浏览或视频流量的随机模式不同,Freegate等加密代理的流量,其数据包大小分布和上传/下载方向模式,展现出可被模型捕捉的统计学规律。 | 前5个数据包长度为:140, 145, 150, 148, 142。这种连续小包构成的稳定序列 |
| 信号序列 | 信令序列(SS) | 指由连续数据包构成的交互模式。例如,加密连接建立、数据传输及响应确认(ACK)等行为的时序和方向规则,构成了独特的“流量节拍”。 | 侧信道特征在中文语境下通常特指前文提到的包长度序列和信号序列,但“侧信道”也可广义地指代所有从加密流量中可观测到的信息。 |
| 多粒度特征(行为组合) | 数据包级、双向流级、主机级、隐藏特征 | 超出单一数据包的统计模式,从“整体行为”角度进行画像分析。 | 双向流级特征 |
流量交互与行为特征
- 多层加密与封装:Freegate的设计初衷就是为了突破审查,它会套用标准的TLS/SSL协议,将自身流量伪装成看似无害的加密通信,以应对随机的协议探测。
- 动态服务器属性:它依赖名为DynaWeb的对等网络,该网络包含大量频繁更换的IP和域名。这种短生命周期的IP/域名模式本身就是一个高可度量的行为指纹,这与之前对话中提到的C2框架特征类似。
- P2P节点通信:虽然主要通过加密代理转发,但在获取新代理节点时,其流量模式也可能展现出类似去中心化的行为。
指纹特性与演化
- 动态性与长时有效性(Persistence):Freegate的端口可配置、IP周期性更换,这些导致基于固定规则的检测极易失效。
- 协议脆弱性(Weakness):Freegate运行未打补丁或配置异常的TLS堆栈时,会导致服务器忽略致命警报(如证书过期)或支持已知不安全算法套件(如NULL、EXPORT级)。此类特征可被精确解析
Client Hello消息中所有算法ID的主动探测检索库捕获。 - 跨协议指纹(Ambiguity):Freegate的路由聚合现象使得看似无关的DNS解析与随后的TLS握手强制绑定在一起。探测系统会通过假设检验将
DNS名解析失败-IP地址直连成功的事件串联起来,形成跨协议的可疑行为特征。
如有错误,多多指教