
Polske forskere har foreslået en ny metode til netværkssteganografi baseret på de særlige egenskaber ved den udbredte transportprotokol TCP. Forfatterne af arbejdet mener, at deres skema, for eksempel, kan bruges til at sende skjulte beskeder i totalitære lande, der indfører hård internetcensur. Lad os prøve at forstå, hvad denne nyhed egentlig går ud på, og hvor nyttig den faktisk er.
Først og fremmest skal vi definere, hvad steganografi er. Så steganografi er videnskaben om skjult kommunikation. Det vil sige, at ved at bruge dens metoder forsøger parterne at skjule selve faktum om transmissions. Dette er netop forskellen mellem denne videnskab og kryptografi, som forsøger at gøre indholdet af beskeden utilgængeligt for læsning. Det er værd at bemærke, at det professionelle kryptografiske samfund har en temmelig nedladende holdning til steganografi på grund af dens ideologis nærhed til princippet 'Security through obscurity' (jeg ved ikke, hvordan dette lyder korrekt på russisk, noget i retning af 'Sikkerhed gennem uvidenhed'). Dette princip anvendes for eksempel af firmaet Skype Inc. — kildekoden til den populære opkaldstjeneste er lukket, og ingen ved rigtig, hvordan datakrypteringen faktisk finder sted. For nylig har den kendte ekspert Bruce Schneier faktisk beklaget sig over dette på sin blog. på din blog.
Når det kommer til steganografi, lad os besvare spørgsmålet om, hvorfor det overhovedet er nødvendigt, hvis der allerede findes kryptografi. Man kan faktisk kryptere en besked ved hjælp af en hvilken som helst moderne algoritme, og hvis man bruger en tilstrækkeligt lang nøgle, vil ingen kunne læse beskeden, medmindre man selv ønsker det. Alligevel kan det nogle gange være mere nyttigt at skjule selve faktum om den hemmelige overførsel. For eksempel, hvis de relevante myndigheder opsnapper din krypterede besked, kan de ikke dekryptere den, men de har stadig en trang til at finde ud af det, og der findes ikke-komputerbaserede metoder til påvirkning og informationsindhentning. Det lyder dystopisk, men indrøm det, det er grundlæggende muligt. Derfor er det bedre at sikre, at de, der ikke har ret til det, slet ikke er klar over, at overførslen fandt sted. Polske forskere har netop foreslået en sådan metode. Og de foreslår at gøre det ved hjælp af en protokol, som hver internetbruger anvender tusind gange om dagen.
Her er vi kommet tæt på Transmission Control Protocol (TCP). Det giver ingen mening at forklare alle dets detaljer — det ville være langt og kedeligt, og de der har brug for det, kender jo allerede til det. Kort sagt kan man sige, at TCP er en transportlagsprotokol (dvs. den fungerer 'over' IP og 'under' applikationslagsprotokoller som HTTP, FTP eller SMTP), som sikrer pålidelig levering af data fra afsender til modtager. Pålidelig levering betyder, at hvis en pakke går tabt eller kommer med ændringer, vil TCP sørge for at videresende denne pakke. Det skal bemærkes, at med ændringer i pakken her menes der ikke bevidst forvrængning af data, men fejl i overførslen, der opstår på det fysiske niveau. For eksempel, mens pakken rejste gennem kobberledninger, kunne et par bits have ændret deres værdi til det modsatte eller endda gå tabt blandt støj (for øvrigt anses Bit Error Rate for Ethernet normalt for at være omkring 10-8). Pakketab undervejs er også et relativt hyppigt fænomen på internettet. Det kan opstå, f.eks. på grund af overbelastning af routere, som fører til overfyldte buffers og derfor kasserer alle ankommende pakker. Normalt udgør andelen af tabte pakker omkring 0,1%, og ved værdier på et par procent stopper TCP med at fungere korrekt — for brugeren vil alt være ekstremt langsomt.
Dermed ser vi, at retransmission af pakker er et hyppigt og i det store hele nødvendigt fænomen for TCP. Så hvorfor ikke bruge det til formål inden for steganografi, når TCP, som allerede nævnt, anvendes overalt (ifølge forskellige vurderinger udgør TCP i dag 80-95% af internettet)? Essensen af den foreslåede metode er at sende ikke de oprindelige data i pakken, men de data, som vi forsøger at skjule, i den sendte meddelelse. Det er desuden ikke så let at opdage sådan en ændring. Man skal vide, hvor man skal kigge — antallet af samtidige TCP-forbindelser, der passerer gennem udbyderen, er simpelthen enormt. Hvis man kender det omtrentlige niveau af retransmission i netværket, kan man justere mekanismen til steganografisk overførsel, så din forbindelse ikke adskiller sig fra de andre.
Selvfølgelig er denne metode ikke uden ulemper. For eksempel vil det fra et praktisk synspunkt ikke være så nemt at implementere, da det kræver ændringer i netværksstakken i operativsystemerne, selvom det ikke er overordentlig komplekst. Desuden kan man stadig opdage "hemmelige" pakker, hvis der er tilstrækkelige ressourcer – det kræver dog, at man gennemgår og analyserer hver pakke i netværket. Men som regel er dette praktisk talt umuligt, så man leder normalt efter pakker og forbindelser, der skiller sig ud, og den foreslåede metode gør netop din forbindelse usædvanlig. Og ingen hindrer dig i at kryptere de hemmelige data for en sikkerheds skyld. Forbindelsen kan dog forblive ukrypteret for at vække mindre mistanke.
Forfatterne af arbejdet (i øvrigt, hvis nogen er interesserede, det) har på simulationsniveau vist, at den foreslåede metode fungerer som tiltænkt. Måske vil nogen i fremtiden tage sig af implementeringen af deres idé i praksis. Og så, lad os håbe, vil der blive lidt mindre censur på internettet.
Kilde: habr.com
