Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Netsweeper 6.4.1 (2020-02-25) supports blocking ESNI #44

Open
wkrp opened this issue Aug 8, 2020 · 0 comments
Open

Netsweeper 6.4.1 (2020-02-25) supports blocking ESNI #44

wkrp opened this issue Aug 8, 2020 · 0 comments

Comments

@wkrp
Copy link
Member

wkrp commented Aug 8, 2020

There's a Def Con talk this week by Erik Hunstad called "Domain Fronting is Dead, Long Live Domain Fronting: Using TLS 1.3 to evade censors, bypass network defenses, and blend in with the noise" (abstract, slides, video download, YouTube). It's a talk worth watching—at a high level, it's about how to achieve the same effect as domain fronting using ESNI/ECH, which Erik calls "domain hiding." The associated project Noctilucent is a replacement for the Go crypto/tls package with modifications to facilitate domain hiding: it supports setting an ESNI value that is different from the SNI and the Host header, and allows sending both ESNI and SNI extensions at once. It comes with a fork of Cloak that can use these techniques.

Aside from the main content of the talk, one tidbit that was new to me is that Netsweeper 6.4.1 (archive), released 2020-02-25, and later support detection/blocking of ESNI. This fact is found on page 61 of the slides. Netsweeper's ESNI blocking is all or nothing: you cannot selectively enable it for certain IP addresses, for example. According to Erik, no other commercial firewalls support blocking ESNI at this time.

Features in 6.4.1 EA include:

  • A new protocol ESNI has been added to detect Encrypted Server Name Information that allows users to block all ESNI traffic if they wish

Change Log 6.4.1

Ticket Description
22358 FEATURE: A new protocol has been added to detect Encrypted Server Name Information.  This must be first enabled in the Protocol Patterns, but once enabled users will get esni://destIP:destPort events, instead of https://destIP:destPort events. This allows users who want to block all ESNI traffic to do so. If you do not want to block ALL ESNI traffic it is not recommended to enable this protocol as categorization is not performed.

There is an ISO download at the Netsweeper page; I don't know whether it may contain anything interesting. It may perhaps be possible to identify the ESNI detection module by searching for various forms of 0xffce (big-endian, little-endian, text), which is the code for the ESNI extension.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant