Marylandi ĂŒlikooli teadlased projekti raames pĂŒĂŒdsid luua sisu juurdepÀÀsu tsenseerimise meetodite automaatseks mÀÀramiseks. KĂ€e jĂ€rgi proovimine, et leida vĂ”imalikke sĂŒgavpaketi inspekteerimise (DPI) sĂŒsteemide puudujÀÀke, on piisavalt keeruline ja ajamahukas. Geneva ĂŒritas kasutada DPI omaduste hindamiseks, rakenduste vigade mÀÀramiseks ja optimaalse blokeerimise vĂ€ltimise strateegia vĂ€ljatöötamiseks kliendi poolel. Projekti kood on kirjutatud Pythonis.
DPI-riistvara, mida kasutatakse blokeerimiseks, omab oma , mis vĂ”imaldavad varjata juurdepÀÀsu keelatud ressurssidele vĂ”i vĂ€ltida blokeerimist. NĂ€iteks kĂ”ige lihtsamas olukorras, kui blokeerimist korraldatakse vale vastuse asendamise kaudu (mida kasutavad passiivsed DPI), piisab kliendi poolel, et vale vastus, mille DPI on saatnud. Kui aktiivne DPI rakendatakse, vĂ”ib proovida peita blokeeritud saidi kĂŒlastamise fakti, muutes veidi HTTP-pĂ€ringu parameetreid (nĂ€iteks lisades pĂ€rast 'GET' tĂ€iendava tĂŒhiku), jagades TLS-ĂŒhenduse kĂ€igus fickst loomise andmed mitmeks paketiks vĂ”i tehes TCB Teardown ja TCB Desync rĂŒnnakud. Nende rĂŒnnakute mĂ”te seisneb kliendi saatmises alguses vale paketi andmetega vĂ”i RST/ACK lipukestega, mis ei jĂ”ua siht-hostini, kuid haaravad DPI, teevad selle pĂ”hjal otsuse ja ei analĂŒĂŒsi jĂ€rgmist paketti, mis sisaldab tĂ”elist pĂ€ringut (nĂ€iteks vale esimeses pakkes vĂ”ib mÀÀrata teise SNI, ja selle paketi siht-hostist peitmiseks vĂ”ib seada madala TTL-i, samuti vale kontrollsummana, lipud vĂ”i TCP jĂ€rjestuse number).
Genf luua töötav meetod DPI ĂŒletamiseks, kasutades nelja pĂ”hielementi vĂ”rgupakettide manipuleerimiseks â mahajĂ€tmine, pĂ€iste muutmine, dubleerimine ja fragmenteerimine. Optimaalse strateegia leidmiseks kasutatakse geneetilist algoritmi, mis modelleerib protsesse, mis sarnanevad loomuliku valikuga, lĂ€bi erinevate pakettide manipuleerimise variantide juhusliku kombineerimise. LĂ”ppkokkuvĂ”ttes kombineeritakse elemendid âtegevuspuuksâ, mis mÀÀrab DPI ĂŒletamise algoritmi.
Geneva töö on tĂ”husalt testitud tsensuuri ĂŒletamiseks, mida rakendatakse Hiinas, Indias ja Kasahstanis, sealhulgas Geneva abil avastati mitu uut haavatavust, millest ei olnud varem teadlik. Siiski on Geneva efektiivne ainult DPI-pĂ”histe blokeeringute ĂŒletamiseks, IP-aadresside blokeerimise korral on see kasututu ja VPN-ist ei pÀÀse. mitmeid tĂŒĂŒpilisi DPI ĂŒletamise strateegiaid, mida saab kohe testida ilma tĂ€ieliku analĂŒĂŒsita, nĂ€iteks:
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] Mootor loodi strateegia \/ (ID bm3kdw3r) sadamale 80
2020-01-24 20:54:41 DEBUG:[ENGINE] Iptables reeglite seadistamine
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
Allikas: opennet.ru
