Forskare frÄn universitetet i Maryland har inom ramen för projektet gjort ett försök att skapa för automatisering av metoder som anvÀnds för att censurera Ätkomst till innehÄll. Att manuellt försöka gÄ igenom möjliga brister i system för djup paketinspektion (DPI) Àr en ganska svÄr och tidskrÀvande process, i GenÚve har man försökt anvÀnda för att utvÀrdera egenskaperna hos DPI, identifiera fel i implementeringen och formulera en optimal strategi för att kringgÄ blockeringar pÄ klientsidan. Projektkoden i Python.
Den DPI-utrustning som anvÀnds för blockering har sina , vilket gör det möjligt att dölja anropet till en förbjuden resurs eller undvika blockering. Till exempel, i det enklaste fallet vid blockering genom att anvÀnda en falsk svar (anvÀnds av passiva DPI) Àr det tillrÀckligt att pÄ klientsidan det falska svaret som skickades av DPI. Vid anvÀndning av aktiv DPI kan man försöka dölja sjÀlva faktumet av att man försöker nÄ den blockerade webbplatsen, genom att lite förÀndra HTTP-förfrÄgans parametrar (till exempel genom att lÀgga till ett extra mellanslag efter "GET"), separera TLS-anslutningens handskakningsdata i flera paket eller utföra attackerna TCB Teardown och TCB Desync. PoÀngen med dessa attacker Àr att klienten i början skickar ett falskt paket med data eller RST/ACK-flaggor, som inte kommer att mottas av mÄlhosten, men som DPI kommer att fÄnga, basera sitt beslut pÄ och inte analysera det efterföljande paketet med den verkliga förfrÄgan (till exempel kan ett annat SNI anges i det falska första paketet, och för att dölja detta paket frÄn mÄlhosten kan ett lÄgt TTL anges, samt en felaktig checksumma, flaggor eller ett TCP-sekvensnummer).
Geneva utveckla en fungerande metod för att kringgĂ„ DPI, med hjĂ€lp av fyra grundlĂ€ggande primitiva för manövrering med nĂ€tverkspaket â avvisning, Ă€ndring av rubriker, duplicering och fragmentering. För att söka efter den optimala strategin anvĂ€nds en genetisk algoritm som modellerar processer liknande naturligt urval, genom att slumpmĂ€ssigt kombinera olika alternativ för manipulation av paket. I slutĂ€ndan kombineras primitiva till ett "handlingstrĂ€d" som definierar algoritmen för att kringgĂ„ DPI.
Geneva har framgÄngsrikt testats för att kringgÄ censurmetoder som tillÀmpas i Kina, Indien och Kazakstan. Med hjÀlp av Geneva har flera nya sÄrbarheter upptÀckts som tidigare var okÀnda. Det bör noteras att Geneva endast Àr effektiv för att kringgÄ blockeringar baserade pÄ DPI, medan det Àr vÀrdelöst vid blockeringar via IP-adresser och utan VPN gÄr det inte att kringgÄ. flera dussin standardstrategier för att kringgÄ DPI som kan testas direkt utan en fullstÀndig analys, till exempel:
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] Motorn skapad med strategi \/ (ID bm3kdw3r) till port 80
2020-01-24 20:54:41 DEBUG:[ENGINE] Konfigurerar iptables-regler
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
KĂ€lla: opennet.ru
