Выпуск outline-ss-server 1.4, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Shadowsocks-прокси ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Outline

ΠžΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½ выпуск прокси-сСрвСра outline-ss-server 1.4, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽΡ‰Π΅Π³ΠΎ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Shadowsocks для скрытия Ρ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€Π° Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°, ΠΎΠ±Ρ…ΠΎΠ΄Π° мСТсСтСвых экранов ΠΈ ΠΎΠ±ΠΌΠ°Π½Π° систСм инспСктирования ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ². Π‘Π΅Ρ€Π²Π΅Ρ€ развиваСтся ΠΏΡ€ΠΎΠ΅ΠΊΡ‚ΠΎΠΌ Outline, Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€Π΅Π΄ΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΠΌ обвязку ΠΈΠ· клиСнтских ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΠΈ ΡƒΠΏΡ€Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ интСрфСйса, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅Π³ΠΎ быстро Ρ€Π°Π·Π²Ρ‘Ρ€Ρ‚Ρ‹Π²Π°Ρ‚ΡŒ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΈΠ΅ Shadowsocks-сСрвСры Π½Π° Π±Π°Π·Π΅ outline-ss-server Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΎΠ±Π»Π°Ρ‡Π½Ρ‹Ρ… окруТСниях ΠΈΠ»ΠΈ Π½Π° своём ΠΎΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠΈ, ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈΠΌΠΈ Ρ‡Π΅Ρ€Π΅Π· web-интСрфСйс ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ доступ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ ΠΏΠΎ ΠΊΠ»ΡŽΡ‡Π°ΠΌ. Π Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΎΠΉ ΠΈ сопровоТдСниСм ΠΊΠΎΠ΄Π° занимаСтся Jigsaw, ΠΏΠΎΠ΄Ρ€Π°Π·Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π² Google, созданноС для развития срСдств ΠΎΠ±Ρ…ΠΎΠ΄Π° Ρ†Π΅Π½Π·ΡƒΡ€Ρ‹ ΠΈ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ свободного ΠΎΠ±ΠΌΠ΅Π½Π° ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠ΅ΠΉ.

Outline-ss-server написан Π½Π° языкС Go ΠΈ распространяСтся ΠΏΠΎΠ΄ Π»ΠΈΡ†Π΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. Π’ качСствС основы использован ΠΊΠΎΠ΄ прокси-сСрвСра go-shadowsocks2, созданного сообщСством Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² Shadowsocks. Π’ послСднСС врСмя основная Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Shadowsocks сосрСдоточСна Π½Π° Ρ€Π°Π·Π²ΠΈΡ‚ΠΈΠΈ Π½ΠΎΠ²ΠΎΠ³ΠΎ сСрвСра Π½Π° языкС Rust, Π° рСализация Π½Π° языкС Go ΡƒΠΆΠ΅ большС Π³ΠΎΠ΄Π° Π½Π΅ обновлялась ΠΈ Π·Π°ΠΌΠ΅Ρ‚Π½ΠΎ отстаёт ΠΏΠΎ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.

ΠžΡ‚Π»ΠΈΡ‡ΠΈΡ outline-ss-server ΠΎΡ‚ go-shadowsocks2 сводятся ΠΊ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ Ρ‡Π΅Ρ€Π΅Π· ΠΎΠ΄ΠΈΠ½ сСтСвой ΠΏΠΎΡ€Ρ‚, возмоТности открытия Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… сСтСвых ΠΏΠΎΡ€Ρ‚ΠΎΠ² для ΠΏΡ€ΠΈΡ‘ΠΌΠ° соСдинСний, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ΅ горячСго пСрСзапуска ΠΈ обновлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΠΈ Π±Π΅Π· Ρ€Π°Π·Ρ€Ρ‹Π²Π° соСдинСний, встроСнными срСдствами ΠΌΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³Π° ΠΈ измСнСния Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π½Π° Π±Π°Π·Π΅ ΠΏΠ»Π°Ρ‚Ρ„ΠΎΡ€ΠΌΡ‹ prometheus.io.

Выпуск outline-ss-server 1.4, Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Shadowsocks-прокси ΠΎΡ‚ ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π° Outline

Π’ outline-ss-server Ρ‚Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ Π°Ρ‚Π°ΠΊ, связанных с ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΎΠΉ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Ρ… запросов ΠΈ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ воспроизвСдСниСм Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ°. Атака Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Π΅ запросы Π½Π°Ρ†Π΅Π»Π΅Π½Π° Π½Π° ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ наличия прокси, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π°Ρ‚Π°ΠΊΡƒΡŽΡ‰ΠΈΠΉ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΡ‚ΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ Π½Π° Ρ†Π΅Π»Π΅Π²ΠΎΠΉ Shadowsocks-сСрвСр Π½Π°Π±ΠΎΡ€Ρ‹ Π΄Π°Π½Π½Ρ‹Ρ… Ρ€Π°Π·Π½ΠΎΠ³ΠΎ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΈ Π°Π½Π°Π»ΠΈΠ·ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΊΠ°ΠΊΠΎΠΉ ΠΎΠ±ΡŠΡ‘ΠΌ Π΄Π°Π½Π½Ρ‹Ρ… сСрвСр ΠΏΡ€ΠΎΡ‡ΠΈΡ‚Π°Π΅Ρ‚ Π΄ΠΎ опрСдСлСния ошибки ΠΈ закрытия соСдинСния. Атака с ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹ΠΌ воспроизвСдСниСм Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° основана Π½Π° ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‚Π΅ сСанса ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром с ΠΏΠΎΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠΏΡ‹Ρ‚ΠΊΠΎΠΉ ΠΏΠ΅Ρ€Π΅ΠΎΡ‚ΠΏΡ€Π°Π²ΠΊΠΈ ΠΏΠ΅Ρ€Π΅Ρ…Π²Π°Ρ‡Π΅Π½Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… для опрСдСлСния наличия прокси.

Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ Π°Ρ‚Π°ΠΊ Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΎΡ‡Π½Ρ‹Π΅ запросы сСрвСр outline-ss-server ΠΏΡ€ΠΈ поступлСнии Π½Π΅ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… Π½Π΅ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π΅Ρ‚ соСдинСниС ΠΈ Π½Π΅ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ ΠΎΡˆΠΈΠ±ΠΊΡƒ, Π° ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Ρ‚ΡŒ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ, выступая своСобразной Ρ‡Ρ‘Ρ€Π½ΠΎΠΉ Π΄Ρ‹Ρ€ΠΎΠΉ. Для Π·Π°Ρ‰ΠΈΡ‚Ρ‹ ΠΎΡ‚ ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½ΠΎΠ³ΠΎ воспроизвСдСния ΠΏΠΎΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠ΅ ΠΎΡ‚ ΠΊΠ»ΠΈΠ΅Π½Ρ‚Π° Π΄Π°Π½Π½Ρ‹Π΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡŽΡ‚ΡΡ Π½Π° ΠΏΠΎΠ²Ρ‚ΠΎΡ€Ρ‹ ΠΏΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Ρ‹ΠΌ суммам, сохраняСмым для послСдних Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΈΡ… тысяч handshake-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚Π΅ΠΉ (максимум 40 тысяч, Ρ€Π°Π·ΠΌΠ΅Ρ€ задаётся ΠΏΡ€ΠΈ запускС сСрвСра ΠΈ потрСбляСт 20 Π±Π°ΠΉΡ‚ памяти Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ). Для блокирования ΠΏΠΎΠ²Ρ‚ΠΎΡ€Π½Ρ‹Ρ… ΠΎΡ‚Π²Π΅Ρ‚ΠΎΠ² ΠΎΡ‚ сСрвСра Π²ΠΎ всСх сСрвСрных handshake-ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡΡ… ΠΏΡ€ΠΈΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΊΠΎΠ΄Ρ‹ Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ HMAC с 32-разрядными Ρ‚Π΅Π³Π°ΠΌΠΈ.

По ΡƒΡ€ΠΎΠ²Π½ΡŽ скрытия Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Shadowsocks Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ outline-ss-server Π±Π»ΠΈΠ·ΠΎΠΊ ΠΊ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΠΎΠΌΡƒ транспорту Obfs4 Π² Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ сСти Tor. ΠŸΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ» Π±Ρ‹Π» создан для ΠΎΠ±Ρ…ΠΎΠ΄Π° систСмы цСнзурирования Ρ‚Ρ€Π°Ρ„ΠΈΠΊΠ° Π² ΠšΠΈΡ‚Π°Π΅ («Π’Π΅Π»ΠΈΠΊΠΈΠΉ китайский Ρ„Π°Π΅Ρ€Π²ΠΎΠ»») ΠΈ позволяСт достаточно эффСктивно ΡΠΊΡ€Ρ‹Π²Π°Ρ‚ΡŒ пробрасываСмый Ρ‡Π΅Ρ€Π΅Π· Π΄Ρ€ΡƒΠ³ΠΎΠΉ сСрвСр Ρ‚Ρ€Π°Ρ„ΠΈΠΊ (Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ благодаря ΠΏΡ€ΠΈΠΊΡ€Π΅ΠΏΠ»Π΅Π½ΠΈΡŽ случайной Π·Π°Ρ‚Ρ€Π°Π²ΠΊΠΈ ΠΈ симуляции Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½ΠΎΠ³ΠΎ ΠΏΠΎΡ‚ΠΎΠΊΠ°).

Π’ качСствС ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° для проксирования запросов примСняСтся SOCKS5 — Π½Π° локальной систСмС запускаСтся прокси с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ SOCKS5, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Ρ‚ΡƒΠ½Π½Π΅Π»ΠΈΡ€ΡƒΠ΅Ρ‚ Ρ‚Ρ€Π°Ρ„ΠΈΠΊ Π½Π° ΡƒΠ΄Π°Π»Ρ‘Π½Π½Ρ‹ΠΉ сСрвСр, с ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ фактичСски Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡŽΡ‚ΡΡ запросы. Π’Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠ»ΠΈΠ΅Π½Ρ‚ΠΎΠΌ ΠΈ сСрвСром помСщаСтся Π² ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ Ρ‚ΡƒΠ½Π½Π΅Π»ΡŒ (поддСрТиваСтся Π°ΡƒΡ‚Π΅Π½Ρ‚ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠ΅ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΠ΅ AEAD_CHACHA20_POLY1305, AEAD_AES_128_GCM ΠΈ AEAD_AES_256_GCM), скрытиС Ρ„Π°ΠΊΡ‚Π° создания ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΈ являСтся ΠΏΠ΅Ρ€Π²ΠΈΡ‡Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡Π΅ΠΉ Shadowsocks. ΠŸΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ΡΡ организация TCP ΠΈ UDP-Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ, Π° Ρ‚Π°ΠΊΠΆΠ΅ созданиС ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Ρ‚ΡƒΠ½Π½Π΅Π»Π΅ΠΉ, Π½Π΅ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π½Ρ‹Ρ… SOCKS5, Ρ‡Π΅Ρ€Π΅Π· ΠΏΡ€ΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ², Π½Π°ΠΏΠΎΠΌΠΈΠ½Π°ΡŽΡ‰ΠΈΡ… ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Π΅ транспорты Π² Tor.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ