Shadowsocks, der verschlüsselte Proxy, der Chinas Firewall überlisten soll
Von 534 Privatkunden-VPNs in unseren Daten geben 115 an, keinen anzubieten. Unten: die Dienste, die dafür am höchsten ranken.
Shadowsocks ist ein kostenloser, quelloffener Proxy mit Verschlüsselung unter der MIT-Lizenz, der 2012 in China entstand, um die Great Firewall zu überstehen. Ein lokaler Client öffnet auf Ihrem Gerät einen SOCKS5-artigen Port, verschlüsselt das Ziel zusammen mit den Nutzdaten, und ein entfernter Server entschlüsselt sie und leitet den Traffic weiter.
Ein Proxy, geschrieben, um die Great Firewall zu umgehen
Ein chinesischer Programmierer, der als clowwindy bekannt ist, veröffentlichte den Code im April 2012. Günstige Reseller und Ein-Klick-Installationsskripte machten ihn auch für technisch unversierte Nutzer zugänglich. Im August 2015 schrieb clowwindy auf GitHub, dass die Polizei ihn besucht und ihn gebeten habe, die Arbeit einzustellen und den Code zu löschen; das ursprüngliche Repository wurde geleert, und andere Entwickler führten das Projekt weiter. Der Fork ShadowsocksR versprach zusätzliche Verschleierung, wurde aber aufgegeben.
Der Weg einer Anfrage von ss-local zu ss-remote
Auf dem Gerät verhält sich ss-local wie ein gewöhnlicher SOCKS5-Server: Apps übergeben ihm Verbindungen, er verschlüsselt die Zieladresse samt Nutzdaten und leitet das Ergebnis an ss-remote weiter. Das erste Paket sollte die Adresse zusammen mit einigen Daten tragen, damit kein winziges, verräterisches Paket allein hinausgeht. Die Gegenseite entschlüsselt, liest die Adresse, öffnet eine eigene Verbindung und sendet die Antworten verschlüsselt zurück.
Beide Enden teilen sich ein im Voraus vereinbartes Geheimnis. Kein Schlüsselaustausch bedeutet keine Forward Secrecy: Wer Ihren Traffic mitschneidet und später den Schlüssel erfährt, kann die Aufzeichnungen entschlüsseln.
Von Stromchiffren zu AEAD und Shadowsocks 2022
Die älteste Variante nutzte Stromchiffren, die ohne Integritätsprüfungen verschlüsseln. Im Februar 2020 zeigte der Forscher Zhiniang Peng, dass ein Server mit diesen Chiffren als Decryption-Oracle missbraucht werden kann, sodass ein Angreifer aufgezeichnete Sitzungen ohne das Passwort lesen kann. Sie gelten als veraltet.
AEAD-Chiffren, die 2017 eingeführt wurden, authentifizieren jeden Chunk. Die üblichen Optionen sind chacha20-ietf-poly1305 und aes-256-gcm, doch sie verwenden weiterhin ein gewöhnliches Passwort und bieten keinen Replay-Schutz. Die Shadowsocks-2022-Spezifikation behebt beides. Sie verlangt einen zufälligen base64-Schlüssel fester Länge statt eines Passworts (16 Bytes für 2022-blake3-aes-128-gcm, 32 für 2022-blake3-aes-256-gcm), vergibt für jede Sitzung ein zufälliges Salt, verwirft alles, was mehr als 30 Sekunden von der Uhrzeit abweicht, und merkt sich alle eingehenden Salts für 60 Sekunden.
Wie Zensoren lernten, zufällig wirkenden Traffic zu erkennen
Die IMC-2020-Studie erklärt die Sperrwellen, die seit Mai 2019 gemeldet wurden: Die Great Firewall markiert zunächst einen Server anhand der Länge und Entropie seines ersten Datenpakets, wobei Anfangssequenzen mit hoher Entropie deutlich häufiger weitere Sondierungen auslösten. Danach kommen aktive Sondierungen: Replays eines aufgezeichneten ersten Pakets sowie zufällige Sondierungen unterschiedlicher Länge. Die Forscher protokollierten 51.837 Sondierungen über etwa vier Monate, die von Tausenden IP-Adressen kamen, die zentral gesteuert wirkten; manche Replays trafen innerhalb einer Sekunde ein, andere wurden wochenlang zurückgehalten. Ein Server ohne Replay-Filter antwortet auf ein Replay wie auf einen echten Client.
| Signal | Was die Zensur prüft | Was hilft |
|---|---|---|
| Erstes Paket | Länge und Entropie der ersten Bytes | ein Plugin, das den Traffic wie TLS formt |
| Wiederholte Pakete | antwortet der Server auf eine Kopie | Salt-Speicher und die Prüfung des Zeitstempels |
| Zufällige Sondierungen | Timing und Verbindungsabbruch | sondierungsresistente Server-Builds |
| Vollständig verschlüsselter Traffic | grobe Echtzeitregeln für das erste Paket | Traffic, der wie TLS geformt ist |
Ab November 2021 blockierte die Firewall auch „vollständig verschlüsselten“ Traffic in Echtzeit anhand grober Regeln für das erste Paket, was Shadowsocks, VMess und obfs4 gleichermaßen trifft.
Plugins und Outline
simple-obfs und v2ray-plugin
Die SIP003-Plugin-Schnittstelle verändert, wie der Traffic auf der Leitung aussieht. simple-obfs verpackt den Stream in gefälschtes HTTP oder TLS – ein alter und nicht mehr gepflegter Trick. v2ray-plugin überträgt ihn über WebSocket innerhalb von echtem TLS, sodass ein CDN die vorderste Position einnehmen kann. Der Preis dafür: ein zusätzliches Programm auf jeder Seite und ein gewisser Geschwindigkeitsverlust.
Outline, Shadowsocks ohne Befehlszeile
Outline, ein Open-Source-Tool von Jigsaw (ein Teil von Google), baut auf Shadowsocks auf: Outline Manager richtet einen Server auf einer gemieteten Cloud-Maschine ein und vergibt Zugriffsschlüssel, während Outline Client sie nutzt; der Eigentümer kann Datenlimits pro Schlüssel festlegen. Es verwendet ausschließlich AEAD-Chiffren, ergänzte nach der Forschung von 2020 einen Replay-Schutz und wurde von Radically Open Security und Cure53 auditiert. Vorsicht vor gefälschten „Outline“-Diensten mit eigenen Zugriffsschlüsseln.
Shadowsocks oder ein VPN
Ein VPN erstellt eine virtuelle Netzwerkschnittstelle und leitet den gesamten System-Traffic durch einen Tunnel mit eigenem handshake. Shadowsocks proxifiziert nur die Verbindungen der Apps, die seinen lokalen Port nutzen; viele Clients bieten jedoch einen „VPN-Modus“, der alles erfasst, sodass Schutz vor Datenlecks und ein Kill Switch vom Client abhängen. Das Protokoll wurde so entworfen, dass es unter Zensur erreichbar bleibt, und wer den Server betreibt, kann sehen, zu welchen Websites Sie sich verbinden. Wenn Sie es als fertigen Dienst beziehen möchten, siehe VPN-Dienste und -Apps mit Shadowsocks-Unterstützung: von 371 Diensten im Ranking listen 33 es auf, 102 geben an, es nicht anzubieten, und 242 veröffentlichen dazu überhaupt nichts.
Fragen, die Nutzer zu Shadowsocks stellen
Ist Shadowsocks dasselbe wie SOCKS5?
Reines SOCKS5 sendet den Traffic unverschlüsselt. Shadowsocks spricht SOCKS5 nur innerhalb Ihres Geräts.
Kann mein Internetanbieter sehen, dass ich Shadowsocks nutze?
Ihr Internetanbieter bemerkt eine Verbindung zu einem Server und unlesbare Bytes; ein filternder Anbieter kann aus dem ersten Paket dennoch Rückschlüsse ziehen.
Ist ShadowsocksR eine neuere Version?
Nein, nur ein aufgegebener Fork aus dem Jahr 2015.
Die Kurzfassung
Nutzen Sie die 2022er-Edition mit einem zufälligen base64-Schlüssel statt eines Passworts. Wo Sondierungen stark zunehmen, fügen Sie ein Plugin hinzu, und halten Sie ein zweites Protokoll bereit für den Tag, an dem der Server markiert wird.
Top-Dienste: Shadowsocks
- CitadelVPN8.55
- Xeovo VPN5.05
- StelsVPN4.79
- LightningX VPN4.76
- TorGuard4.61