FINDING · DETECTION
The GFW's SNI inspection is a stateless single-record parser: it cannot detect the SNI extension when the ClientHello is split across multiple TLS records, even when all records are contained within the same TCP segment. In contrast, the GFW does detect SNI when it appears fully within the first TCP segment despite TCP fragmentation, indicating the reassembly gap is specific to the TLS record layer.
From 2023-niere-poster — Poster: Circumventing the GFW with TLS Record Fragmentation · §3 · 2023 · ACM CCS 2023 (poster)
Implications
- Target the TLS record layer specifically — not just the TCP segment boundary — since GFW's SNI matcher does not maintain cross-record reassembly state even within a single TCP packet.
- Treat TLS record fragmentation as complementary to TCP segmentation; GFW hardening against one class does not imply hardening against the other.
Tags
Extracted by claude-sonnet-4-6 — review before relying.