TCP-steganografi eller hvordan man skjuler datatransmission på internettet

TCP-steganografi eller hvordan man skjuler datatransmission på internettet

Polske forskere har foreslået en ny metode til netværkssteganografi baseret på funktionerne i den meget anvendte TCP-transportlagsprotokol. Forfatterne til værket mener, at deres skema for eksempel kan bruges til at sende skjulte beskeder i totalitære lande, der pålægger streng internetcensur. Lad os prøve at finde ud af, hvad innovationen i virkeligheden består af, og hvor nyttig den egentlig er.

Først og fremmest skal du definere, hvad steganografi er. Så steganografi er videnskaben om skjulte beskeder. Det vil sige, at parterne ved hjælp af sine metoder forsøger at skjule overførslen. Dette er forskellen mellem denne videnskab og kryptografi, som forsøger at gøre beskedindhold ulæseligt. Det er værd at bemærke, at det professionelle samfund af kryptografer er ret foragtende over for steganografi på grund af dens ideologis nærhed til princippet om "Sikkerhed gennem uvidenhed" (jeg ved ikke, hvordan det lyder rigtigt på russisk, noget som "Sikkerhed gennem uvidenhed" ”). Dette princip bruges for eksempel af Skype Inc. - kildekoden til den populære dialer er lukket, og ingen ved rigtigt præcist, hvordan data krypteres. For nylig klagede NSA i øvrigt over dette, som den kendte specialist Bruce Schneier jeg skrev i min blog.

For at vende tilbage til steganografi, lad os besvare spørgsmålet, hvorfor er det overhovedet nødvendigt, hvis der er kryptografi. Det er faktisk muligt at kryptere en besked ved hjælp af en moderne algoritme, og når du bruger en tilstrækkelig lang nøgle, vil ingen være i stand til at læse denne besked, medmindre du ønsker det. Ikke desto mindre er det nogle gange mere nyttigt at skjule selve kendsgerningen om en hemmelig transmission. For eksempel, hvis de relevante myndigheder opsnappede din krypterede besked, kan de ikke dekryptere den, men de vil virkelig gerne, så er der i sidste ende ikke-computer-metoder til at påvirke og udtrække information. Det lyder anti-utopisk, men ser du, det er i princippet muligt. Derfor ville det være bedre at sikre sig, at dem, der slet ikke skal vide, at overførslen fandt sted. Polske forskere har netop foreslået en sådan metode. Desuden tilbyder de at gøre dette ved hjælp af en protokol, som hver internetbruger bruger tusind gange om dagen.

Her kommer vi tæt på Transmission Control Protocol (TCP). At forklare alle dets detaljer giver selvfølgelig ikke mening - langt, kedeligt, dem, der har brug for det, ved det allerede. Kort sagt kan vi sige, at TCP er en transportlagsprotokol (dvs. den fungerer "over" IP og "under" applikationslagsprotokoller, såsom HTTP, FTP eller SMTP), som giver pålidelig levering af data fra afsenderen til modtager. Pålidelig levering betyder, at hvis en pakke går tabt eller ændres, så sørger TCP for at videresende pakken. Bemærk, at ændringer i pakken her ikke betyder bevidst forvrængning af data, men transmissionsfejl, der opstår på det fysiske niveau. For eksempel, mens pakken rejste over kobbertråde, ændrede et par bit deres værdi til det modsatte eller gik helt tabt blandt støjen (i øvrigt, for Ethernet tages bitfejlfrekvensen normalt til at være omkring 10-8 ). Pakketab under transit er også en forholdsvis almindelig begivenhed på internettet. Det kan for eksempel opstå på grund af routeres arbejdsbyrde, hvilket fører til bufferoverløb og som følge heraf afvisning af alle nyankomne pakker. Normalt er procentdelen af ​​mistede pakker omkring 0.1 %, og ved en værdi på et par procent holder TCP overhovedet op med at fungere normalt – alt vil gå frygteligt langsomt for brugeren.

Vi ser således, at videresendelse (gentransmission) af pakker er et hyppigt og generelt nødvendigt fænomen for TCP. Så hvorfor ikke bruge det til steganografiens behov, på trods af at TCP, som nævnt ovenfor, bruges overalt (ifølge forskellige skøn når andelen af ​​TCP på internettet i dag 80-95%). Essensen af ​​den foreslåede metode er at sende den videresendte besked, ikke hvad der var i den primære pakke, men de data, vi forsøger at skjule. Samtidig er det ikke så let at opdage en sådan substitution. Når alt kommer til alt, skal du vide, hvor du skal lede - antallet af samtidige TCP-forbindelser, der passerer gennem udbyderen, er simpelthen enormt. Hvis du kender det omtrentlige niveau af retransmission i netværket, kan du finjustere den steganografiske videresendelsesmekanisme, så din forbindelse ikke adskiller sig fra andre.

Selvfølgelig er denne metode ikke fri for ulemper. For eksempel vil det fra et praktisk synspunkt ikke være så nemt at implementere det - det vil kræve en ændring i netværksstakken i operativsystemer, selvom der ikke er noget uoverkommeligt kompliceret i dette. Derudover, hvis du har nok ressourcer, kan du stadig finde "hemmelige" pakker, for dette skal du se og analysere hver pakke på netværket. Men som regel er dette næsten umuligt, så de leder normalt efter noget, der skiller sig ud for pakker og forbindelser, og den foreslåede metode gør bare din forbindelse umærkelig. Og ingen generer dig med at kryptere hemmelige data for en sikkerheds skyld. I dette tilfælde kan selve forbindelsen forblive ukrypteret for at vække mindre mistanke.

Forfatterne til værket (i øvrigt for dem, der er interesserede, her Hun) viste på simuleringsniveau, at den foreslåede metode virker efter hensigten. Måske vil nogen i fremtiden være engageret i implementeringen af ​​deres ideer i praksis. Og så bliver der forhåbentlig lidt mindre censur på internettet.

Kilde: www.habr.com

Tilføj en kommentar