TCP steganografi eller hvordan skjule dataoverføring på Internett

TCP steganografi eller hvordan skjule dataoverføring på Internett

Polske forskere har foreslått en ny metode for nettverkssteganografi basert på driftsfunksjonene til den mye brukte transportlagprotokollen TCP. Forfatterne av verket mener at opplegget deres for eksempel kan brukes til å sende skjulte meldinger i totalitære land som pålegger streng internettsensur. La oss prøve å finne ut hva innovasjonen faktisk er og hvor nyttig den egentlig er.

Først av alt må du definere hva steganografi er. Så steganografi er vitenskapen om overføring av skjulte meldinger. Det vil si at ved hjelp av hennes metoder prøver partene å skjule selve overføringen. Dette er forskjellen mellom denne vitenskapen og kryptografi, som prøver gjøre meldingsinnholdet uleselig. Det er verdt å merke seg at det profesjonelle fellesskapet av kryptografer er ganske foraktende for steganografi på grunn av nærheten av ideologien til prinsippet om "Sikkerhet gjennom uklarhet" (jeg vet ikke hvordan det høres riktig ut på russisk, noe sånt som "Sikkerhet gjennom uvitenhet ”). Dette prinsippet brukes for eksempel av Skype Inc. — Kildekoden til den populære oppringeren er lukket og ingen vet helt nøyaktig hvordan dataene er kryptert. Nylig, forresten, klaget NSA på dette, som bemerket av den berømte spesialisten Bruce Schneier jeg skrev på bloggen min.

For å gå tilbake til steganografi, vil vi svare på spørsmålet: hvorfor er det nødvendig i det hele tatt hvis det er kryptografi? Faktisk kan du kryptere en melding ved hjelp av en moderne algoritme, og hvis du bruker en tilstrekkelig lang nøkkel, vil ingen kunne lese denne meldingen med mindre du ønsker det. Likevel, noen ganger er det mer nyttig å skjule selve faktumet om en hemmelig overføring. For eksempel, hvis de relevante myndighetene fanget opp den krypterte meldingen din og ikke kan tyde den, men virkelig ønsker det, så finnes det tross alt ikke-datamatiske metoder for å påvirke og innhente informasjon. Det høres dystopisk ut, men du skjønner, dette er i prinsippet mulig. Derfor vil det være bedre å sørge for at de som ikke skal vite i det hele tatt at overføringen har funnet sted. Polske forskere foreslo nettopp en slik metode. Dessuten foreslår de å gjøre dette ved å bruke en protokoll som hver Internett-bruker bruker tusen ganger om dagen.

Her kommer vi nær Transmission Control Protocol (TCP). Å forklare alle detaljene gir selvfølgelig ingen mening - det er langt, kjedelig, og de som trenger det vet det allerede. Kort oppsummert kan vi si at TCP er en transportlagsprotokoll (det vil si at den fungerer "over" IP og "under" applikasjonslagsprotokoller, som HTTP, FTP eller SMTP), som sikrer pålitelig levering av data fra avsender til mottakeren. Pålitelig levering betyr at hvis en pakke går tapt eller kommer modifisert, vil TCP sørge for å videresende den pakken. Merk at endringer i pakken her ikke betyr tilsiktet forvrengning av data, men overføringsfeil som oppstår på fysisk nivå. For eksempel, mens pakken reiste langs kobbertråder, endret et par biter verdien til det motsatte eller gikk helt tapt blant støyen (for Ethernet blir bitfeilfrekvensverdien vanligvis antatt å være omtrent 10-8 ). Pakketap under transport er også en relativt vanlig hendelse på Internett. Det kan for eksempel oppstå på grunn av belastningen på rutere, noe som fører til bufferoverløp og som et resultat kassering av alle nylig ankomne pakker. Vanligvis er andelen tapte pakker omtrent 0.1 %, og med en verdi på et par prosent slutter TCP å fungere normalt – alt vil gå fryktelig tregt for brukeren.

Dermed ser vi at videresending (retransmisjon) av pakker er et hyppig fenomen for TCP og generelt nødvendig. Så hvorfor ikke bruke det til steganografibehov, gitt at TCP, som nevnt ovenfor, brukes overalt (ifølge ulike estimater når andelen av TCP på Internett 80-95%). Essensen av den foreslåtte metoden er å sende inn den videresendte meldingen, ikke det som var i primærpakken, men dataene vi prøver å skjule. Det er imidlertid ikke så lett å oppdage en slik erstatning. Tross alt må du vite hvor du skal lete - antallet samtidige TCP-tilkoblinger som går gjennom leverandøren er rett og slett enormt. Hvis du vet det omtrentlige nivået for videresending i nettverket, kan du justere den steganografiske videresendingsmekanismen slik at tilkoblingen din ikke vil være forskjellig fra andre.

Selvfølgelig er denne metoden ikke fri for ulemper. For eksempel, fra et praktisk synspunkt, vil det ikke være så lett å implementere det - det vil kreve å endre nettverksstakken i operativsystemer, selv om det ikke er noe uoverkommelig vanskelig med dette. I tillegg, hvis du har nok ressurser, er det fortsatt mulig å oppdage "hemmelige" pakker ved å se og analysere hver pakke på nettverket. Men som regel er dette praktisk talt umulig, så de ser vanligvis etter pakker og tilkoblinger som skiller seg ut på en eller annen måte, og den foreslåtte metoden er nettopp det som gjør tilkoblingen din umerkelig. Og ingen hindrer deg i å kryptere hemmelige data for sikkerhets skyld. Samtidig kan selve forbindelsen forbli ukryptert for å vekke mindre mistanke.

Forfatterne av verket (forresten, for de interesserte, her hun) viste på simuleringsnivå at den foreslåtte metoden fungerer etter hensikten. Kanskje vil noen i fremtiden implementere ideen deres i praksis. Og så blir det forhåpentligvis litt mindre sensur på Internett.

Kilde: www.habr.com

Legg til en kommentar