Rilascio di outline-ss-server 1.4, un'implementazione del proxy Shadowsocks dal progetto Outline

È stato rilasciato il server proxy contour-ss-server 1.4, che utilizza il protocollo Shadowsocks per nascondere la natura del traffico, aggirare i firewall e ingannare i sistemi di ispezione dei pacchetti. Il server è stato sviluppato dal progetto Outline, che fornisce inoltre un framework di applicazioni client e un'interfaccia di controllo che consente di implementare rapidamente server Shadowsocks multiutente basati su outline-ss-server in ambienti cloud pubblici o sulle proprie apparecchiature, gestirli tramite interfaccia web e organizzare l'accesso degli utenti tramite chiavi. Il codice è sviluppato e gestito da Jigsaw, una divisione di Google creata per sviluppare strumenti per aggirare la censura e organizzare il libero scambio di informazioni.

Outline-ss-server è scritto in Go e distribuito con la licenza Apache 2.0. Il codice utilizzato come base è il server proxy go-shadowsocks2, creato dalla comunità di sviluppatori Shadowsocks. Recentemente, l'attività principale del progetto Shadowsocks si è concentrata sullo sviluppo di un nuovo server nel linguaggio Rust, e l'implementazione nel linguaggio Go non è stata aggiornata da più di un anno ed è notevolmente in ritardo nella funzionalità.

Le differenze tra outline-ss-server e go-shadowsocks2 riguardano il supporto per la connessione di più utenti tramite una porta di rete, la possibilità di aprire diverse porte di rete per ricevere connessioni, il supporto per il riavvio a caldo e gli aggiornamenti di configurazione senza interrompere le connessioni, funzionalità integrate strumenti di monitoraggio e modifica del traffico basati sulla piattaforma prometheus .io.

Rilascio di outline-ss-server 1.4, un'implementazione del proxy Shadowsocks dal progetto Outline

contour-ss-server aggiunge inoltre protezione contro richieste di sonda e attacchi di riproduzione del traffico. Un attacco tramite richieste di test ha lo scopo di determinare la presenza di un proxy; ad esempio, un utente malintenzionato può inviare set di dati di dimensioni diverse al server Shadowsocks di destinazione e analizzare quanti dati leggerà il server prima di rilevare un errore e chiudere la connessione. Un attacco di riproduzione del traffico si basa sull'intercettazione di una sessione tra un client e un server e quindi sul tentativo di ritrasmettere i dati intercettati per determinare la presenza di un proxy.

Per proteggersi dagli attacchi tramite richieste di test, il server outline-ss-server, quando arrivano dati errati, non interrompe la connessione e non visualizza un errore, ma continua a ricevere informazioni, comportandosi come una sorta di buco nero. Per proteggersi dalla riproduzione, i dati ricevuti dal client vengono inoltre controllati per eventuali ripetizioni utilizzando i checksum memorizzati per le ultime migliaia di sequenze di handshake (massimo 40mila, la dimensione viene impostata all'avvio del server e consuma 20 byte di memoria per sequenza). Per bloccare risposte ripetute dal server, tutte le sequenze di handshake del server utilizzano codici di autenticazione HMAC con tag a 32 bit.

In termini di livello di occultamento del traffico, il protocollo Shadowsocks nell'implementazione outline-ss-server è vicino al trasporto del plug-in Obfs4 nella rete anonima Tor. Il protocollo è stato creato per aggirare il sistema di censura del traffico in Cina (“The Great Firewall of China”) e consente di nascondere in modo abbastanza efficace il traffico inoltrato attraverso un altro server (il traffico è difficile da identificare a causa dell'allegato di un seed casuale e della simulazione di un flusso continuo).

SOCKS5 viene utilizzato come protocollo per l'inoltro delle richieste: sul sistema locale viene lanciato un proxy con supporto SOCKS5, che incanala il traffico verso un server remoto da cui vengono effettivamente eseguite le richieste. Il traffico tra il client e il server viene inserito in un tunnel crittografato (la crittografia autenticata è supportata AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM e AEAD_AES_256_GCM), nascondere il fatto della sua creazione è il compito principale di Shadowsocks. È supportata l'organizzazione dei tunnel TCP e UDP, nonché la creazione di tunnel arbitrari non limitati da SOCKS5 attraverso l'uso di plugin che ricordano i trasporti plug-in in Tor.

Fonte: opennet.ru

Aggiungi un commento