TCP-steganografi eller hur man döljer dataöverföring på Internet

TCP-steganografi eller hur man döljer dataöverföring på Internet

Polska forskare har föreslagit en ny metod för nätverkssteganografi baserad på driftegenskaperna hos det allmänt använda transportlagerprotokollet TCP. Författarna till verket tror att deras upplägg till exempel kan användas för att skicka dolda meddelanden i totalitära länder som inför strikt internetcensur. Låt oss försöka ta reda på vad innovationen faktiskt är och hur användbar den verkligen är.

Först och främst måste du definiera vad steganografi är. Så steganografi är vetenskapen om överföring av dolda meddelanden. Det vill säga att med hennes metoder försöker parterna gömma sig själva överföringen. Detta är skillnaden mellan denna vetenskap och kryptografi, som försöker göra meddelandeinnehåll oläsligt. Det är värt att notera att det professionella samhället av kryptografer är ganska föraktande mot steganografi på grund av dess ideologis närhet till principen om "Säkerhet genom dunkel" (jag vet inte hur det låter korrekt på ryska, något som "Säkerhet genom okunnighet ”). Denna princip används till exempel av Skype Inc. — Källkoden för den populära uppringaren är stängd och ingen vet riktigt hur exakt data krypteras. Nyligen, förresten, klagade NSA över detta, som noterats av den berömda specialisten Bruce Schneier jag skrev på min blogg.

För att återgå till steganografi kommer vi att svara på frågan: varför behövs det överhuvudtaget om det finns kryptografi? Du kan faktiskt kryptera ett meddelande med någon modern algoritm och om du använder en tillräckligt lång nyckel kommer ingen att kunna läsa det här meddelandet om du inte vill ha det. Ändå är det ibland mer användbart att dölja själva faktumet av en hemlig överföring. Om de berörda myndigheterna till exempel snappade upp ditt krypterade meddelande och inte kan tyda det, men verkligen vill, så finns det trots allt icke-datoriska metoder för att påverka och få information. Det låter dystopiskt, men du förstår, det är i princip möjligt. Därför vore det bättre att se till att de som inte alls ska veta att överlåtelsen har skett. Polska forskare föreslog just en sådan metod. Dessutom föreslår de att göra detta med ett protokoll som varje internetanvändare använder tusen gånger om dagen.

Här kommer vi nära Transmission Control Protocol (TCP). Att förklara alla dess detaljer är naturligtvis meningslöst - det är långt, tråkigt, och de som behöver det vet det redan. Kortfattat kan vi säga att TCP är ett transportlagerprotokoll (det vill säga det fungerar "över" IP och "under" applikationslagerprotokoll, såsom HTTP, FTP eller SMTP), vilket säkerställer tillförlitlig leverans av data från avsändaren till mottagaren. Tillförlitlig leverans innebär att om ett paket försvinner eller anländer modifierat kommer TCP att ta hand om att vidarebefordra det paketet. Observera att ändringar i paketet här inte innebär avsiktlig förvrängning av data, utan överföringsfel som uppstår på fysisk nivå. Till exempel, medan paketet färdades längs koppartrådar, ändrade ett par bitar sitt värde till det motsatta eller försvann helt bland bruset (förresten, för Ethernet brukar värdet för bitfelsfrekvensen vara cirka 10-8 ). Paketförlust under transport är också en relativt vanlig företeelse på Internet. Det kan till exempel uppstå på grund av belastningen på routrar, vilket leder till buffertspill och som ett resultat att alla nya paket kasseras. Vanligtvis är andelen förlorade paket cirka 0.1 %, och med ett värde på ett par procent slutar TCP att fungera normalt – allt kommer att gå fruktansvärt långsamt för användaren.

Således ser vi att vidarebefordran (omsändning) av paket är ett frekvent fenomen för TCP och i allmänhet nödvändigt. Så varför inte använda det för steganografibehov, med tanke på att TCP, som nämnts ovan, används överallt (enligt olika uppskattningar når andelen TCP på Internet idag 80-95%). Kärnan i den föreslagna metoden är att skicka i det vidarebefordrade meddelandet inte det som fanns i det primära paketet, utan de data som vi försöker dölja. Det är dock inte så lätt att upptäcka en sådan substitution. När allt kommer omkring måste du veta var du ska leta - antalet samtidiga TCP-anslutningar som passerar genom leverantören är helt enkelt enormt. Om du känner till den ungefärliga nivån av återsändning i nätverket kan du justera den steganografiska vidarebefordranmekanismen så att din anslutning inte skiljer sig från andra.

Naturligtvis är denna metod inte fri från nackdelar. Till exempel, ur praktisk synvinkel, kommer det inte att vara så lätt att implementera det - det kommer att kräva att nätverksstacken ändras i operativsystem, även om det inte är något oöverkomligt svårt med detta. Dessutom, om du har tillräckligt med resurser, är det fortfarande möjligt att upptäcka "hemliga" paket genom att titta på och analysera varje paket i nätverket. Men som regel är detta praktiskt taget omöjligt, så de brukar leta efter paket och anslutningar som sticker ut på något sätt, och den föreslagna metoden är just det som gör din anslutning omärklig. Och ingen hindrar dig från att kryptera hemlig data för säkerhets skull. Samtidigt kan själva anslutningen förbli okrypterad för att väcka mindre misstankar.

Författarna till verket (förresten, för den intresserade, här hon) visade på simuleringsnivå att den föreslagna metoden fungerar som avsett. Kanske kommer någon i framtiden att implementera sin idé i praktiken. Och då blir det förhoppningsvis lite mindre censur på Internet.

Källa: will.com

Lägg en kommentar