ΠΡΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΠΈΠ· ΠΡΡΠΈΠ»Π΅Π½Π΄ΡΠΊΠΎΠ³ΠΎ ΡΠ½ΠΈΠ²Π΅ΡΡΠΈΡΠ΅ΡΠ° Π² ΡΠ°ΠΌΠΊΠ°Ρ
ΠΏΡΠΎΠ΅ΠΊΡΠ° Geneva ΠΏΡΠ΅Π΄ΠΏΡΠΈΠ½ΡΠ»ΠΈ ΠΏΠΎΠΏΡΡΠΊΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄Π²ΠΈΠΆΠΊΠ° Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄ΠΎΠ², ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΡΡ
Π΄Π»Ρ ΡΠ΅Π½Π·ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡ. ΠΡΡΡΠ½ΡΡ ΠΏΡΡΠ°ΡΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΡΠ°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠ΅ Π±ΡΠ΅ΡΠΈ ΡΠΈΡΡΠ΅ΠΌ Π³Π»ΡΠ±ΠΎΠΊΠΎΠ³ΠΎ ΠΈΠ½ΡΠΏΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² (DPI) Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΡΡΡΠ΄Π½ΡΠΉ ΠΈ Π΄ΠΎΠ»Π³ΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ, Π² Geneva ΠΏΠΎΠΏΡΡΠ°Π»ΠΈΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ ΠΎΡΠ΅Π½ΠΊΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠ΅ΠΉ DPI, ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ Π²ΡΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΎΠ±Ρ
ΠΎΠ΄Π° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ°. ΠΠΎΠ΄ ΠΏΡΠΎΠ΅ΠΊΡΠ° Π½Π°ΠΏΠΈΡΠ°Π½ Π½Π° ΡΠ·ΡΠΊΠ΅ Python.
ΠΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ΅ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ DPI-ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈΠΌΠ΅Π΅Ρ ΡΠ²ΠΎΠΈ Π½Π΅Π΄ΠΎΡΠ°Π±ΠΎΡΠΊΠΈ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΡΠΊΡΡΡΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΠΊ Π·Π°ΠΏΡΠ΅ΡΡΠ½Π½ΠΎΠΌΡ ΡΠ΅ΡΡΡΡΡ ΠΈΠ»ΠΈ ΠΈΠ·Π±Π΅ΠΆΠ°ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΠΏΡΠΎΡΡΠ΅ΠΉΡΠ΅ΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΡ ΡΠΈΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΎΡΠ²Π΅ΡΠ° (ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΏΠ°ΡΡΠΈΠ²Π½ΡΠΌΠΈ DPI) Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ Π½Π° ΡΡΠΎΡΠΎΠ½Π΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠ° ΠΎΡΠ±ΡΠΎΡΠΈΡΡ ΡΠΈΠΊΡΠΈΠ²Π½ΡΠΉ ΠΎΡΠ²Π΅Ρ, ΠΎΡΠΏΡΠ°Π²Π»Π΅Π½Π½ΡΠΉ DPI. Π ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π°ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ DPI ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠΏΡΡΠ°ΡΡΡΡ ΡΠΊΡΡΡΡ ΡΠ°ΠΌ ΡΠ°ΠΊΡ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΊ Π·Π°Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌΡ ΡΠ°ΠΉΡΡ, Π½Π΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΠΈΠ΄ΠΎΠΈΠ·ΠΌΠ΅Π½ΠΈΠ² ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ HTTP-Π·Π°ΠΏΡΠΎΡΠ° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄ΠΎΠ±Π°Π²ΠΈΠ² Π»ΠΈΡΠ½ΠΈΠΉ ΠΏΡΠΎΠ±Π΅Π» ΠΏΠΎΡΠ»Π΅ «GET»), ΡΠ°Π·Π΄Π΅Π»ΠΈΠ² Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π°Π½Π½ΡΠ΅ ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½ΠΈΡ TLS-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΠ² Π°ΡΠ°ΠΊΠΈ TCB Teardown ΠΈ TCB Desync. Π‘ΡΡΡ ΡΠΏΠΎΠΌΡΠ½ΡΡΡΡ
Π°ΡΠ°ΠΊ Π² ΠΎΡΠΏΡΠ°Π²ΠΊΠ΅ ΠΊΠ»ΠΈΠ΅Π½ΡΠΎΠΌ Π²Π½Π°ΡΠ°Π»Π΅ ΡΠΈΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° Ρ Π΄Π°Π½Π½ΡΠΌΠΈ ΠΈΠ»ΠΈ ΡΠ»Π°Π³Π°ΠΌΠΈ RST/ACK, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡ ΡΠ΅Π»Π΅Π²ΠΎΠΉ Ρ
ΠΎΡΡ, Π½ΠΎ ΠΏΠΎΠΉΠΌΠ°Π΅Ρ DPI, ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π΅Π³ΠΎ ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΈ Π½Π΅ ΡΡΠ°Π½Π΅Ρ Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΈΠ΄ΡΡΠΈΠΉ ΡΠ»Π΅Π΄ΠΎΠΌ ΠΏΠ°ΠΊΠ΅Ρ Ρ ΡΠ΅Π°Π»ΡΠ½ΡΠΌ Π·Π°ΠΏΡΠΎΡΠΎΠΌ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π² ΡΠΈΠΊΡΠΈΠ²Π½ΠΎΠΌ ΠΏΠ΅ΡΠ²ΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΊΠ°Π·Π°ΡΡ Π΄ΡΡΠ³ΠΎΠΉ SNI, Π° Π΄Π»Ρ ΡΠΊΡΡΡΠΈΡ ΡΡΠΎΠ³ΠΎ ΠΏΠ°ΠΊΠ΅ΡΠ° ΠΎΡ ΡΠ΅Π»Π΅Π²ΠΎΠ³ΠΎ Ρ
ΠΎΡΡΠ° ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΡΠ°Π²ΠΈΡΡ Π½ΠΈΠ·ΠΊΠΈΠΉ TTL, Π° ΡΠ°ΠΊΠΆΠ΅ Π½Π΅ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΡΡ ΡΡΠΌΠΌΡ, ΡΠ»Π°Π³ΠΈ ΠΈΠ»ΠΈ Π½ΠΎΠΌΠ΅Ρ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ TCP).
Geneva ΠΏΡΡΠ°Π΅ΡΡΡ Π²ΡΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ°Π±ΠΎΡΠΈΠΉ ΠΌΠ΅ΡΠΎΠ΄ ΠΎΠ±Ρ
ΠΎΠ΄Π° DPI, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ΅ΡΡΡΠ΅ Π±Π°Π·ΠΎΠ²ΡΠ΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Π° Π΄Π»Ρ ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΈ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ — ΠΎΡΠ±ΡΠ°ΡΡΠ²Π°Π½ΠΈΠ΅, ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², Π΄ΡΠ±Π»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΠΈ ΡΡΠ°Π³ΠΌΠ΅Π½ΡΠ°ΡΠΈΡ. ΠΠ»Ρ ΠΏΠΎΠ΄Π±ΠΎΡΠ° ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠΉ ΡΡΡΠ°ΡΠ΅Π³ΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π³Π΅Π½Π΅ΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ, ΠΌΠΎΠ΄Π΅Π»ΠΈΡΡΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡΡ, ΡΡ
ΠΎΠ΄Π½ΡΠ΅ Ρ Π΅ΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠΌ ΠΎΡΠ±ΠΎΡΠΎΠΌ, ΡΠ΅ΡΠ΅Π· ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π²Π°ΡΠΈΠ°Π½ΡΠΎΠ² ΠΌΠ°Π½ΠΈΠΏΡΠ»ΡΡΠΈΠΉ Ρ ΠΏΠ°ΠΊΠ΅ΡΠ°ΠΌΠΈ. Π ΠΊΠΎΠ½Π΅ΡΠ½ΠΎΠΌ ΡΡΡΡΠ΅, Π½Π° Π²ΡΡ
ΠΎΠ΄Π΅ ΠΏΡΠΈΠΌΠΈΡΠΈΠ²Ρ ΠΊΠΎΠΌΠ±ΠΈΠ½ΠΈΡΡΡΡΡΡ Π² «Π΄Π΅ΡΠ΅Π²ΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ», ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅Π΅ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΠΎΠ±Ρ
ΠΎΠ΄Π° DPI.
align=top
Π Π°Π±ΠΎΡΠ° 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] Engine created with strategy \/ (ID bm3kdw3r) to port 80
2020-01-24 20:54:41 DEBUG:[ENGINE] Configuring iptables rules
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