Using a TLS Extension in a Fake ClientHello to Wrap the Original ClientHello #1089
Closed
rugameuser
started this conversation in
General
Replies: 1 comment 15 replies
-
i see only one difference from current fake approach. |
Beta Was this translation helpful? Give feedback.
15 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
Hello! What do you think about the idea of using a fake TLS ClientHello packet with a custom TLS extension to "wrap" the original ClientHello packet?
According to RFC 8449, the maximum size of a TLS extension is 16,384 bytes, so the original ClientHello should fit within this limit. Typically, ClientHello packets are relatively small (around 517 bytes, excluding implementations like BoringSSL/etc, which may produce larger packets but should still fit within the extension size).
Here’s a potential approach:
Behavior:
(2 byte extension type and 2 bytes original ClientHello length)
for a packet that isn’t meant to reach the destination.padding
), and effectively ignore the original ClientHello packet.--dpi-desync=fake
being sufficient to achieve the bypass.I don't know whether this approach fits within the RFC requirements for a valid TLS ClientHello packet. While some irregularities might technically violate the specification, DPI parsers are often less strict, focusing instead on practical parsing.
The idea leverages the assumption that DPI parsers may process the fake packet and skip over the original.
And what do you think? Is this approach viable? Would it effectively desynchronize DPI mechanisms while remaining practical?
Beta Was this translation helpful? Give feedback.
All reactions