Steganografie TCP sau cum să ascunzi transmiterea de date pe internet

Steganografie TCP sau cum să ascunzi transmiterea de date pe internet

Cercetătorii polonezi au propus o nouă metodă de steganografie în rețea, bazată pe particularitățile funcționării protocolului de transport TCP, foarte răspândit. Autorii studiului consideră că schema lor ar putea fi utilizată, de exemplu, pentru a trimite mesaje ascunse în țările totalitare care impun o cenzură strictă pe internet. Să încercăm să ne dăm seama în ce constă, de fapt, inovația și cât de utilă este aceasta.

În primul rând, trebuie să definim ce este steganografia. Așadar, steganografia este știința transmiterii ascunse a mesajelor. Adică, folosind metodele sale, părțile încearcă să ascundă faptul în sine al transmiterii. Acesta este și motivul pentru care această știință se deosebește de criptografie, care încearcă să facă conținutul mesajului inaccesibil pentru citire. Este important de menționat că comunitatea profesională de criptografi are o atitudine destul de disprețuitoare față de steganografie, având în vedere apropierea ideologiei sale de principiul „Securitate prin obscuritate” (nu știu cum sună exact în română, ceva de genul „Securitate prin ignoranță”). Acest principiu, de exemplu, este folosit de compania Skype Inc. — codul sursă al celebrei aplicații de apeluri este închis, iar nimeni nu știe cu adevărat cum se realizează criptarea datelor. Apropo, recent, acest lucru a fost subliniat și de NSA, despre care cunoscutul specialist Bruce Schneier Jurnalistul Bloomberg Jason Schreier a scris pe blogul său.

Întorcându-ne la steganografie, să răspundem la întrebarea de ce este necesară, dacă există criptografie. De fapt, se poate cripta un mesaj folosind un algoritm modern și, având o cheie suficient de lungă, nimeni nu va putea citi acest mesaj, decât dacă doriți. Cu toate acestea, uneori este mai util să ascunzi chiar și faptul că se face o transmisie secretă. De exemplu, dacă autoritățile competente îți interceptă mesajul criptat, nu pot să-l decripteze, dar totuși își doresc foarte mult acest lucru, în cele din urmă există și metode necomputeroizate de influențare și obținere a informațiilor. Sună distopic, dar, recunoașteți, este în principiu posibil. Prin urmare, ar fi mai bine ca cei care nu au dreptul să nu știe deloc că transmisia a avut loc. Cercetătorii polonezi au propus tocmai o astfel de metodă. Mai mult, ei sugerează să o facă printr-un protocol pe care fiecare utilizator al internetului îl folosește de o mie de ori pe zi.

Aici am ajuns la Protocolul de Control al Transmisiunii (TCP). Explicarea tuturor detaliilor acestuia, desigur, nu are sens - ar fi prea lungă și plictisitoare, cei care trebuie să știe, deja știu. Pe scurt, TCP este un protocol de nivel de transport (adică funcționează „peste” IP și „sub” protocoalele de nivel aplicație, precum HTTP, FTP sau SMTP), care asigură livrarea fiabilă a datelor de la expeditor la destinatari. Livrarea sigură înseamnă că, dacă un pachet s-a pierdut sau a sosit cu modificări, TCP se va asigura că acel pachet este retransmis. Este important de menționat că modificările din pachet nu se referă la o distorsionare intenționată a datelor, ci la erori de transmisie care apar la nivel fizic. De exemplu, pe parcursul călătoriei unui pachet prin cabluri de cupru, câțiva biți și-au schimbat valoarea în opusul lor sau, pur și simplu, s-au pierdut în zgomot (de altfel, pentru Ethernet, rata de eroare a biților este de obicei considerată a fi în jurul valorii de 10-8). Pierderile de pachete pe drum sunt, de asemenea, un fenomen relativ frecvent pe internet. Acestea se pot întâmpla, de exemplu, din cauza aglomerării routezătorilor, care duce la umplerea buffer-elor și, drept urmare, la eliminarea tuturor pachetelor care sosesc ulterior. De obicei, procentul pachetelor pierdute este de aproximativ 0.1%, iar la un procent de câteva procente, TCP încetează să funcționeze corespunzător - utilizatorul va experimenta întârzieri severe.

Astfel, vedem că retransmisia pachetelor este un fenomen frecvent și în general necesar pentru TCP. Atunci, de ce să nu-l folosim pentru nevoile steganografiei având în vedere că TCP, așa cum s-a menționat mai sus, este utilizat pe scară largă (conform unor estimări, la ora actuală, cota de piață a TCP pe internet ajunge la 80-95%). Esența metodei propuse constă în a trimite în mesajul retransmis nu ceea ce a fost în pachetul inițial, ci datele pe care încercăm să le ascundem. În acest sens, descoperirea unei astfel de înlocuiri nu este chiar atât de simplă. Trebuie să știi unde să te uiți - numărul conexiunilor TCP simultane care trec prin furnizor este pur și simplu uriaș. Dacă se cunoaște nivelul aproximativ al retransmisiilor în rețea, se poate ajusta mecanismul de transmisie steganografică astfel încât conexiunea ta să nu se deosebească deloc de altele.

Desigur, această metodă nu este lipsită de defecte. De exemplu, din punct de vedere practic, implementarea ei nu va fi deloc simplă — va necesita modificarea stivei de rețea în sistemele de operare, deși nu este nimic extrem de complicat în acest sens. În plus, având un număr suficient de resurse, este totuși posibil să descoperiți pachetele „secrete”, pentru aceasta trebuie să analizați fiecare pachet din rețea. Dar, de obicei, acest lucru este practic imposibil, așa că de obicei se caută pachete și conexiuni care se evidențiază, iar metoda propusă face exact ca conexiunea dumneavoastră să nu fie remarcabilă. Și nimic nu vă oprește să criptați datele secrete, pentru orice eventualitate. În plus, conexiunea în sine poate rămâne necriptată pentru a provoca mai puține suspiciuni.

Autorii lucrării (de altfel, pentru cei interesați, iată ea) la nivel de simulări au demonstrat că metoda propusă funcționează așa cum a fost gândită. Poate, în viitor, cineva se va ocupa de implementarea ideii lor în practică. Și atunci, să sperăm, în internet va fi puțin mai puțin cenzură.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster