Development discussion of WireGuard
 help / color / mirror / Atom feed
* WireGuard with obfuscation support
@ 2021-09-26 12:09 el3xyz
  2021-09-27  0:53 ` Nico Schottelius
  2021-09-27 16:21 ` Jason A. Donenfeld
  0 siblings, 2 replies; 15+ messages in thread
From: el3xyz @ 2021-09-26 12:09 UTC (permalink / raw)
  To: wireguard

Hey all,

I guess this topic is, at the very least, not new, but there is still no solution. In the country where I live internet censorship increases year after year and more network operators start blocking WG. With that being done I'm stuck to ShadowSocks which is slower and less secure on desktops then WG. That said I decided to implement obfuscation for WG at least for my own use and kindly asking for code review and possible improvements:

https://github.com/el3xyz/wireguard-linux-compat

To my understanding there are several ways WG is detected by DPI
* Port 51820 (easily fixed)
* 4-byte message tag
* Fixed message lengths
* MAC2 which is all zeroes, unless cookie message is received (high load scenario)


To make detection more difficult two things are being done
* handshake initiation, response and cookie messages are padded with random sized garbage
* Up to 192 bytes of each message is encrypted with obfuscation key derived from peer public key (different keys are used in different directions).

I have tools and Linux driver working already so anyone interested can try this out.
Cheers

^ permalink raw reply	[flat|nested] 15+ messages in thread

end of thread, other threads:[~2021-09-27 16:37 UTC | newest]

Thread overview: 15+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-09-26 12:09 WireGuard with obfuscation support el3xyz
2021-09-27  0:53 ` Nico Schottelius
2021-09-27  7:11   ` Bruno Wolff III
2021-09-27  7:34     ` Roman Mamedov
2021-09-27  9:14       ` Bruno Wolff III
2021-09-27  9:36         ` Roman Mamedov
2021-09-27 10:21           ` Bruno Wolff III
2021-09-27 13:01             ` Konstantin Ryabitsev
2021-09-27 13:48               ` Lonnie Abelbeck
2021-09-27 15:28             ` StarBrilliant
2021-09-27 15:59               ` Nico Schottelius
2021-09-27 16:37                 ` StarBrilliant
2021-09-27  7:44     ` Nico Schottelius
2021-09-27  8:17       ` Fredrik Strömberg
2021-09-27 16:21 ` Jason A. Donenfeld

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).