Udgivet en version af proxyserveren outline-ss-server 1.4, der bruger Shadowsocks-protokollen til at skjule trafikens natur, omgå firewall og narre pakkeinspektionssystemer. Serveren udvikles af projektet Outline, som derudover leverer bindinger til klientapplikationer og et kontrolinterface, der gør det muligt hurtigt at deployere multi-bruger Shadowsocks-servere baseret på outline-ss-server i offentlige cloud-miljøer eller på eget udstyr, administrere dem via et webinterface og organisere brugeradgang gennem nøgler. Udviklingen og vedligeholdelsen af koden varetages af Jigsaw, en afdeling i Google, der er oprettet for at udvikle midler til at omgå censur og facilitere fri informationsudveksling.
Outline-ss-server er skrevet i Go og distribueres under Apache 2.0-licensen. Den bygger på koden fra proxy-server go-shadowsocks2, skabt af Shadowsocks-udviklerfællesskabet. For nylig har den primære aktivitet i Shadowsocks-projektet været fokuseret på udviklingen af en ny server i Rust, og implementeringen i Go er ikke blevet opdateret i over et år og halter bemærkelsesværdigt bagefter med hensyn til funktionalitet.
Forskellene mellem outline-ss-server og go-shadowsocks2 ligger i understøttelsen af forbindelser fra flere brugere gennem en enkelt netværksport, muligheden for at åbne flere netværksporte til modtagelse af forbindelser, understøttelse af varm genstart og opdatering af konfigurationen uden at afbryde forbindelser, indbyggede overvågningsværktøjer og ændring af trafik baseret på prometheus.io-platformen.

I outline-ss-server er der også tilføjet beskyttelse mod angreb relateret til afsendelse af kontrolanmodninger og genafspilning af trafik. Angreb gennem kontrolanmodninger sigter mod at bestemme tilstedeværelsen af en proxy; for eksempel kan angriberen sende datasæt af forskellig størrelse til den målrettede Shadowsocks-server og analysere, hvor meget data serveren læser, før den bestemmer en fejl og lukker forbindelsen. Angrebet med trafikgenafspilning er baseret på at opsnappe sessioner mellem klienten og serveren for derefter at forsøge at gensende de opsnappede data for at bestemme tilstedeværelsen af en proxy.
For protection against attacks through verification queries, the outline-ss-server does not terminate the connection or output an error when incorrect data is received, but continues to accept information, acting as a kind of black hole. To protect against replay, incoming client data is additionally checked for duplicates against checksums stored for the last several thousand handshake sequences (a maximum of 40,000, with the size set at server startup consuming 20 bytes of memory per sequence). HMAC authentication codes with 32-bit tags are applied to block repeated responses from the server in all server handshake sequences.
In terms of traffic concealment level, the Shadowsocks protocol implemented in outline-ss-server is similar to the pluggable transport Obfs4 in the anonymous Tor network. The protocol was created to bypass the traffic censoring system in China (the 'Great Firewall of China') and allows for fairly effective concealment of traffic routed through another server (traffic is difficult to identify due to the attachment of random padding and simulation of a continuous flow).
SOCKS5 is used as the protocol for proxying requests — a proxy with SOCKS5 support runs on the local system, tunneling traffic to a remote server where the requests are actually executed. The traffic between the client and the server is placed in an encrypted tunnel (authenticated encryption is supported with AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM, and AEAD_AES_256_GCM), with concealing the fact of its creation being the primary task of Shadowsocks. TCP and UDP tunnels are supported, as well as the creation of arbitrary tunnels not limited to SOCKS5 through the use of plugins resembling pluggable transports in Tor.
Kilde: opennet.ru
