ooni / minivpn

A minimalistic OpenVPN implementation in Go
GNU General Public License v3.0
38 stars 6 forks source link

explore other possible sources of distinguishability against reference implementation #11

Open ainghazal opened 2 years ago

ainghazal commented 2 years ago

I know that supposedly the parrot is dead, but if the effort is low maybe it makes sense to address a couple of obvious divergences:

ainghazal commented 2 years ago

These days I was thinking in another possible way to tell minivpn apart: I am not completely sure, but I remember seeing something about the reference openvpn implementing some kind of retries for the TLS handshake in UDP mode (which is kind of natural). It's been some months already so this is not fresh in my head, but I am pretty sure my implementation is quite sensible to packet loss during the handshake phase. I mention this in case the current red team engagement find ways to break things apart following this lead :smiling_imp: :see_no_evil: