TCP steganografija ali kako skriti prenos podatkov na internetu

TCP steganografija ali kako skriti prenos podatkov na internetu

Poljski raziskovalci so predlagali novo metodo omrežne steganografije, ki temelji na operativnih značilnostih široko uporabljenega protokola transportne plasti TCP. Avtorji dela verjamejo, da se lahko njihova shema na primer uporablja za pošiljanje skritih sporočil v totalitarnih državah, ki uvajajo strogo internetno cenzuro. Poskusimo ugotoviti, kaj je pravzaprav novost in kako uporabna je v resnici.

Najprej morate definirati, kaj je steganografija. Steganografija je torej veda o skritem prenosu sporočil. To pomeni, da se stranke skušajo skriti z njenimi metodami samo dejstvo prenosa. To je razlika med to znanostjo in kriptografijo, ki poskuša narediti vsebino sporočila neberljivo. Omeniti velja, da je strokovna skupnost kriptografov precej prezirljiva do steganografije zaradi bližine njene ideologije načelu "Varnost skozi nejasnost" (ne vem, kako se pravilno sliši v ruščini, nekaj takega kot "Varnost skozi nevednost" «). To načelo na primer uporablja Skype Inc. — izvorna koda priljubljenega klicalnika je zaprta in nihče ne ve, kako natančno so podatki šifrirani. Nedavno se je, mimogrede, NSA pritožila zaradi tega, kot je opozoril slavni specialist Bruce Schneier napisal na mojem blogu.

Če se vrnemo k steganografiji, bomo odgovorili na vprašanje: zakaj je sploh potrebna, če obstaja kriptografija? Dejansko lahko sporočilo šifrirate z nekim sodobnim algoritmom in če uporabite dovolj dolg ključ, tega sporočila ne bo mogel prebrati nihče, razen če ga želite. Kljub temu je včasih koristneje skriti samo dejstvo skrivnega prenosa. Na primer, če so pristojni organi prestregli vaše šifrirano sporočilo in ga ne morejo dešifrirati, a si to res želijo, potem navsezadnje obstajajo neračunalniški načini vplivanja in pridobivanja informacij. Sliši se distopično, a vidite, to je načeloma mogoče. Zato bi bilo bolje poskrbeti, da tisti, ki naj sploh ne bi vedeli, da je bil prenos izveden. Poljski raziskovalci so predlagali prav takšno metodo. Poleg tega predlagajo, da bi to storili s protokolom, ki ga vsak uporabnik interneta uporablja tisočkrat na dan.

Tu se približamo protokolu za nadzor prenosa (TCP). Razlaga vseh njegovih podrobnosti seveda nima smisla - je dolga, dolgočasna in tisti, ki jo potrebujejo, to že vedo. Na kratko lahko rečemo, da je TCP protokol transportne plasti (to pomeni, da deluje »preko« IP in »pod« protokoli aplikacijske plasti, kot so HTTP, FTP ali SMTP), ki zagotavlja zanesljivo dostavo podatkov od pošiljatelja do prejemnik. Zanesljiva dostava pomeni, da če se paket izgubi ali prispe spremenjen, TCP poskrbi za posredovanje tega paketa. Upoštevajte, da spremembe v paketu tukaj ne pomenijo namerno popačenje podatkov, temveč napake pri prenosu, ki se pojavijo na fizični ravni. Na primer, medtem ko je paket potoval po bakrenih žicah, je nekaj bitov spremenilo svojo vrednost v nasprotno ali pa so se popolnoma izgubili med šumom (mimogrede, za Ethernet je vrednost Bit Error Rate običajno približno 10-8 ). Tudi izguba paketov med prenosom je razmeroma pogost pojav na internetu. Pojavi se lahko na primer zaradi obremenitve usmerjevalnikov, kar vodi do prepolnitve medpomnilnika in posledično do zavrženja vseh novo prispelih paketov. Običajno je delež izgubljenih paketov približno 0.1%, pri vrednosti nekaj odstotkov pa TCP preneha delovati normalno - za uporabnika bo vse strašno počasno.

Tako vidimo, da je posredovanje (ponovno pošiljanje) paketov pogost pojav za TCP in na splošno nujno. Zakaj ga torej ne bi uporabili za potrebe steganografije, glede na to, da se TCP, kot je navedeno zgoraj, uporablja povsod (po različnih ocenah danes delež TCP v internetu dosega 80-95%). Bistvo predlagane metode je, da v posredovanem sporočilu ne pošljemo tistega, kar je bilo v primarnem paketu, temveč podatke, ki jih poskušamo skriti. Vendar odkrivanje takšne zamenjave ni tako enostavno. Navsezadnje morate vedeti, kje iskati - število hkratnih povezav TCP, ki potekajo skozi ponudnika, je preprosto ogromno. Če poznate približno raven retransmisije v omrežju, lahko prilagodite mehanizem steganografskega posredovanja, tako da se vaša povezava ne bo razlikovala od drugih.

Seveda ta metoda ni brez pomanjkljivosti. Na primer, s praktičnega vidika implementacija ne bo tako enostavna - zahtevala bo spremembo omrežnega sklada v operacijskih sistemih, čeprav v tem ni nič pretirano težkega. Poleg tega, če imate dovolj virov, je še vedno mogoče zaznati "skrivne" pakete z ogledom in analizo vsakega paketa v omrežju. A to je praviloma praktično nemogoče, zato običajno iščejo pakete in povezave, ki na nek način izstopajo, predlagana metoda pa je ravno tista, zaradi katere je vaša povezava nepomembna. In nihče vam ne preprečuje šifriranja tajnih podatkov za vsak slučaj. Hkrati lahko sama povezava ostane nešifrirana, da vzbuja manj suma.

Avtorji dela (mimogrede, za tiste, ki jih zanima, glej ona) je na ravni simulacije pokazala, da predlagana metoda deluje, kot je predvideno. Morda bo v prihodnosti kdo njihovo idejo uresničil v praksi. In potem bo, upajmo, malo manj cenzure na internetu.

Vir: www.habr.com

Dodaj komentar