ΠΠ·ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΎΡ Π£Π½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² ΠΠ΅ΡΠΈΠ»Π΅Π½Π΄ Π² ΡΠ°ΠΌΠΊΠΈΡΠ΅ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ΅Π»ΠΈ ΠΎΠΏΠΈΡ Π·Π° ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ΡΠΎ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π·Π° ΡΠ΅Π½Π·ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. ΠΠΏΠΈΡΡΡ Π΄Π° ΡΠ΅ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°Ρ Π½Π° ΡΡΠΊΠ° Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈΡΠ΅ Π΄ΡΠΏΠΊΠΈ Π² ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ Π·Π° Π΄ΡΠ»Π±ΠΎΡΠΈΠ½Π½Π° ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ (DPI) Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΡΡΡΠ΄Π΅Π½ ΠΈ Π΄ΡΠ»ΡΠ³ ΠΏΡΠΎΡΠ΅Ρ. Π ΠΠ΅Π½Π΅Π²Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ°Π»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ Π·Π° ΠΎΡΠ΅Π½ΠΊΠ° Π½Π° ΠΎΡΠΎΠ±Π΅Π½ΠΎΡΡΠΈΡΠ΅ Π½Π° DPI, ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΡΠ° ΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈΡΠ΅ ΠΎΡ ΡΡΡΠ°Π½Π° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎΠ΄ΡΡ Π½Π° ΠΏΡΠΎΠ΅ΠΊΡΠ° Π΅ Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° Python.
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΎΡΠΎ Π·Π° Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ DPI ΠΎΠ±ΠΎΡΡΠ΄Π²Π°Π½Π΅ ΠΈΠΌΠ° ΡΠ²ΠΎΠΈΡΠ΅ , ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠΊΡΠΈΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π·Π°Π±ΡΠ°Π½Π΅Π½ ΡΠ΅ΡΡΡΡ ΠΈΠ»ΠΈ ΠΈΠ·Π±ΡΠ³Π²Π°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² Π½Π°ΠΉ-ΠΏΡΠΎΡΡΠΈΡ ΡΠ»ΡΡΠ°ΠΉ ΠΏΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΡΠ΅Π· ΠΏΠΎΠ΄ΠΌΡΠ½Π° Π½Π° ΡΠΈΠΊΡΠΈΠ²Π΅Π½ ΠΎΡΠ³ΠΎΠ²ΠΎΡ (ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ ΠΎΡ ΠΏΠ°ΡΠΈΠ²Π½ΠΈ DPI), Π΅ Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΎΡ ΡΡΡΠ°Π½Π°ΡΠ° Π½Π° ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΡΠΈΠΊΡΠΈΠ²Π½ΠΈΡΡ ΠΎΡΠ³ΠΎΠ²ΠΎΡ, ΠΈΠ·ΠΏΡΠ°ΡΠ΅Π½ ΠΎΡ DPI. Π ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΈ DPI ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΎΠΏΠΈΡΠ° Π΄Π° ΡΠ΅ ΡΠΊΡΠΈΠ΅ ΡΠ°ΠΌΠΈΡΡ ΡΠ°ΠΊΡ Π½Π° Π΄ΠΎΡΡΡΠΏΠ° Π΄ΠΎ Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΈΡ ΡΠ°ΠΉΡ, ΠΊΠ°ΡΠΎ ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈΡΠ΅ Π½Π° HTTP Π·Π°ΡΠ²ΠΊΠ°ΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΡΠΉΠΊΠΈ ΠΈΠ·Π»ΠΈΡΠ½ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΡΠ»Π΅Π΄ "GET"), ΡΠ°Π·Π΄Π΅Π»ΡΠΉΠΊΠΈ Π΄Π°Π½Π½ΠΈΡΠ΅ Π·Π° ΡΡΠ³Π»Π°ΡΡΠ²Π°Π½Π΅ Π½Π° TLS Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π½Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΈΠ»ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°ΠΉΠΊΠΈ Π°ΡΠ°ΠΊΠΈ TCB Teardown ΠΈ TCB Desync. Π‘ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠΏΠΎΠΌΠ΅Π½Π°ΡΠΈΡΠ΅ Π°ΡΠ°ΠΊΠΈ Π΅ Π² ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½Π΅ΡΠΎ ΠΎΡ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΏΡΡΠ²ΠΎΠ½Π°ΡΠ°Π»Π΅Π½ ΡΠΈΠΊΡΠΈΠ²Π΅Π½ ΠΏΠ°ΠΊΠ΅Ρ Ρ Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅ RST/ACK, ΠΊΠΎΠΉΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠ°Π²Π° ΡΠ΅Π»Π΅Π²ΠΈΡΡ Ρ ΠΎΡΡ, Π½ΠΎ ΡΠ»Π°Π²Ρ DPI, ΠΊΠΎΠ΅ΡΠΎ ΠΎΡ ΡΠ²ΠΎΡ ΡΡΡΠ°Π½Π° Π²Π·ΠΈΠΌΠ° ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π½Π΅Π³ΠΎ ΠΈ Π½Π΅ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ° ΡΠ»Π΅Π΄Π²Π°ΡΠΈΡ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΡΠ΅Π°Π»Π½Π°ΡΠ° Π·Π°ΡΠ²ΠΊΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΠΊΡΠΈΠ²Π½ΠΈΡ ΠΏΡΡΠ²ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΠΏΠΎΡΠΎΡΠΈ Π΄ΡΡΠ³ SNI, Π° Π·Π° Π΄Π° Π±ΡΠ΄Π΅ ΡΠΊΡΠΈΡ ΡΠΎΠ·ΠΈ ΠΏΠ°ΠΊΠ΅Ρ ΠΎΡ ΡΠ΅Π»Π΅Π²ΠΈΡ Ρ ΠΎΡΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π·Π°Π΄Π°Π΄Π΅ Π½ΠΈΡΡΠΊ TTL, Π° ΡΡΡΠΎ ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½Π° ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π° ΡΡΠΌΠ°, ΡΠ»Π°Π³ΠΎΠ²Π΅ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ Π½Π° ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»Π½ΠΎΡΡΡΠ° TCP).
ΠΠ΅Π½Π΅Π²Π° Π΄Π° ΠΈΠ·ΡΠ°Π±ΠΎΡΠΈ ΡΠ°Π±ΠΎΡΠ΅Π½ ΠΌΠ΅ΡΠΎΠ΄ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° DPI, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΠΊΠΈ ΡΠ΅ΡΠΈΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈ Π·Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΡ Ρ ΠΌΡΠ΅ΠΆΠΎΠ²ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ β ΠΎΡΡ Π²ΡΡΠ»ΡΠ½Π΅, ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° Π·Π°Π³Π»Π°Π²ΠΈΡ, Π΄ΡΠ±Π»ΠΈΡΠ°Π½Π΅ ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ° ΠΏΠΎΠ΄Π±ΠΈΡΠ°Π½Π΅ Π½Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ ΡΠ΅ ΠΏΡΠΈΠ»Π°Π³Π° Π³Π΅Π½Π΅ΡΠΈΡΠ΅Π½ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ, ΠΊΠΎΠΉΡΠΎ ΠΌΠΎΠ΄Π΅Π»ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ Π½Π° Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½ΠΈΡ ΠΎΡΠ±ΠΎΡ, ΡΡΠ΅Π· ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π²Π°ΡΠΈΠ°Π½ΡΠΈ Π½Π° ΠΌΠ°Π½ΠΈΠΏΡΠ»Π°ΡΠΈΠΈ Ρ ΠΏΠ°ΠΊΠ΅ΡΠΈ. Π ΠΊΡΠ°ΠΉΠ½Π° ΡΠΌΠ΅ΡΠΊΠ° ΠΏΡΠΈΠΌΠΈΡΠΈΠ²ΠΈΡΠ΅ ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠ°Ρ Π² "Π΄ΡΡΠ²ΠΎ Π½Π° Π΄Π΅ΠΉΡΡΠ²ΠΈΡΡΠ°", ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΠΎ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΠ° Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° DPI.
Π Π°Π±ΠΎΡΠ°ΡΠ° Π½Π° Geneva ΡΡΠΏΠ΅ΡΠ½ΠΎ Π΅ ΡΠ΅ΡΡΠ²Π°Π½Π° Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° ΠΌΠ΅ΡΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΡΠ΅Π½Π·ΡΡΠ°, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈ Π² ΠΠΈΡΠ°ΠΉ, ΠΠ½Π΄ΠΈΡ ΠΈ ΠΠ°Π·Π°Ρ ΡΡΠ°Π½. Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° Geneva Π±ΡΡ Π° ΠΎΡΠΊΡΠΈΡΠΈ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΎΠ²ΠΈ ΠΏΡΠΎΠΏΡΡΠΊΠ°, Π·Π° ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄ΠΈ ΡΠΎΠ²Π° Π½Π΅ ΡΠ΅ Π·Π½Π°Π΅ΡΠ΅. ΠΠ°ΠΆΠ½ΠΎ Π΅ Π΄Π° ΡΠ΅ ΠΎΡΠ±Π΅Π»Π΅ΠΆΠΈ, ΡΠ΅ Geneva Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π΅Π½ ΡΠ°ΠΌΠΎ Π² ΡΠ»ΡΡΠ°ΠΉ Π½Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ, ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈ Π½Π° DPI, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΏΡΠΈ Π±Π»ΠΎΠΊΠΈΡΠ°Π½Π΅ ΠΏΠΎ IP-Π°Π΄ΡΠ΅ΡΠΈ Π΅ Π±Π΅Π·ΠΏΠΎΠ»Π΅Π·Π΅Π½ ΠΈ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠ° VPN Π²ΡΡΠ·ΠΊΠ°. Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π΄Π΅ΡΠ΅ΡΠΊΠΈ ΡΠΈΠΏΠΈΡΠ½ΠΈ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ Π·Π° Π·Π°ΠΎΠ±ΠΈΠΊΠ°Π»ΡΠ½Π΅ Π½Π° DPI, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΠ΅ ΡΠ΅ΡΡΠ²Π°Ρ Π½Π΅Π·Π°Π±Π°Π²Π½ΠΎ Π±Π΅Π· Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡ ΠΎΡ ΠΏΡΠ»Π΅Π½ Π°Π½Π°Π»ΠΈΠ·, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ:
python3 engine.py βserver-port 80 βstrategy Β«[TCP:flags:PA]-duplicate(tamper{TCP:dataofs:replace:10} tamper{TCP:chksum:corrupt},),)-|Β» βlog debug
2020-01-24 20:54:41 DEBUG:[ENGINE] ΠΠ²ΠΈΠ³Π°ΡΠ΅Π»ΡΡ Π΅ ΡΡΠ·Π΄Π°Π΄Π΅Π½ Ρ ΡΡΡΠ°ΡΠ΅Π³ΠΈΡ \/ (ID bm3kdw3r) Π·Π° ΠΏΠΎΡΡ 80
2020-01-24 20:54:41 DEBUG:[ENGINE] ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° iptables
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A OUTPUT -p tcp βsport 80 -j NFQUEUE βqueue-num 1
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A INPUT -p tcp βdport 80 -j NFQUEUE βqueue-num 2
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A OUTPUT -p udp βsport 80 -j NFQUEUE βqueue-num 1
2020-01-24 20:54:41 DEBUG:[ENGINE] iptables -A INPUT -p udp βdport 80 -j NFQUEUE βqueue-num 2
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: opennet.ru
