Click here to flash read.
As Internet censors rapidly evolve new blocking techniques, circumvention
tools must also adapt and roll out new strategies to remain unblocked. But new
strategies can be time consuming for circumventors to develop and deploy, and
usually an update to one tool often requires significant additional effort to
be ported to others. Moreover, distributing the updated application across
different platforms poses its own set of challenges.
In this paper, we introduce $\textit{WATER}$ (WebAssembly Transport
Executables Runtime), a novel design that enables applications to use a
WebAssembly-based application-layer to wrap network transports (e.g., TLS).
Deploying a new circumvention technique with $\textit{WATER}$ only requires
distributing the WebAssembly Transport Module(WATM) binary and any
transport-specific configuration, allowing dynamic transport updates without
any change to the application itself. WATMs are also designed to be generic
such that different applications using $\textit{WATER}$ can use the same WATM
to rapidly deploy successful circumvention techniques to their own users,
facilitating rapid interoperability between independent circumvention tools.
No creative common's license